Computer >> คอมพิวเตอร์ >  >> ระบบ >> Linux

วิธีรักษาความปลอดภัย Linux Home Server

วิธีรักษาความปลอดภัย Linux Home Server

มีเหตุผลมากมายในการตั้งค่าโฮมเซิร์ฟเวอร์ คุณอาจใช้เป็นเซิร์ฟเวอร์สื่อ เซิร์ฟเวอร์ไฟล์ หรือแม้แต่เซิร์ฟเวอร์สำรองในเครื่อง โดยพื้นฐานแล้ว ไฟล์ใดๆ ของคุณที่ไม่จำเป็นต้องออนไลน์ก็เป็นตัวเลือกที่ดีสำหรับโฮมเซิร์ฟเวอร์ การตั้งค่าโฮมเซิร์ฟเวอร์ที่ใช้ Linux นั้นค่อนข้างง่าย โดยเฉพาะอย่างยิ่งในทุกวันนี้ ที่กล่าวว่าการรักษาเซิร์ฟเวอร์นั้นให้ปลอดภัยนั้นเป็นอีกเรื่องหนึ่งโดยสิ้นเชิง การรักษาความปลอดภัยอาจเป็นเรื่องยุ่งยากพอๆ กับที่มีความสำคัญ

ติดตั้งเฉพาะสิ่งที่คุณต้องการเท่านั้น

วิธีที่ง่ายที่สุดวิธีหนึ่งในการทำให้เซิร์ฟเวอร์ที่บ้านของคุณปลอดภัยคือการคำนึงถึงความปลอดภัยตั้งแต่เริ่มต้น นี้เริ่มต้นด้วยการติดตั้ง คุณไม่แน่ใจว่าคุณต้องการแอปพลิเคชันหรือบริการหรือไม่? อย่าติดตั้ง คุณสามารถติดตั้งได้ในภายหลัง

หากคุณติดตั้ง Linux สองสามครั้ง สิ่งนี้จะง่ายยิ่งขึ้นไปอีก แทนที่จะยึดติดกับค่าเริ่มต้น ให้ใช้โหมดที่ให้คุณควบคุมการติดตั้งได้มากที่สุด บางครั้งชื่อเหล่านี้เรียกว่า “โหมดผู้เชี่ยวชาญ” หรืออะไรทำนองนั้น

การติดตามตัวเลือกการติดตั้งอย่างระมัดระวังสามารถช่วยคุณประหยัดเวลาในการปิดใช้บริการด้วยเหตุผลด้านความปลอดภัยในภายหลัง

กำหนดค่า sudo

ก่อนที่คุณจะไปยังขั้นตอนอื่นๆ คุณต้องกำหนดค่า sudo . ทำไม เพราะเมื่อเราทำเสร็จแล้ว คุณจะเข้าสู่ระบบเซิร์ฟเวอร์ของคุณผ่าน SSH และคุณจะไม่สามารถเข้าสู่ระบบด้วยบัญชีรูทได้ หากต้องการเปลี่ยนแปลงระบบเพิ่มเติม คุณจะต้องใช้ sudo .

ขั้นแรก ตรวจสอบว่าคุณใช้ sudo . ได้แล้วหรือไม่ . จากบัญชีผู้ใช้ของคุณ เรียกใช้สิ่งต่อไปนี้ด้วยชื่อผู้ใช้ของคุณแทน USERNAME:

sudo -lU USERNAME

หากคุณเห็นข้อความระบุว่าชื่อผู้ใช้ของคุณสามารถเรียกใช้ “(ALL) ALL” หรืออะไรทำนองนั้น แสดงว่าคุณพร้อมที่จะดำเนินการต่อไป

ตอนนี้ในฐานะบัญชีรูทบนเซิร์ฟเวอร์ของคุณ ให้เรียกใช้สิ่งต่อไปนี้เพื่อแก้ไขไฟล์ “/ etc / sudoers” หากคุณต้องการตัวแก้ไขอื่น ให้ใช้แทน nano

EDITOR=nano visudo

แก้ไขไฟล์เพื่อรวมสิ่งต่อไปนี้ด้วยชื่อผู้ใช้ของคุณแทน USERNAME:

USERNAME   ALL=(ALL) ALL

กำหนดค่า SSH

วิธีรักษาความปลอดภัย Linux Home Server

คุณอาจเปิดใช้งาน SSH บนเซิร์ฟเวอร์หลักของคุณแล้ว อันที่จริงคุณน่าจะทำเช่นนั้น เนื่องจากโดยทั่วไปแล้วจะเป็นวิธีการโต้ตอบกับเซิร์ฟเวอร์

ขั้นแรก ตรวจสอบให้แน่ใจว่าได้ติดตั้ง OpenSSH แล้ว หากคุณใช้การแจกจ่ายอื่น คำสั่งของคุณจะแตกต่างกันไป แต่ชื่อแพ็คเกจควรมีความสอดคล้องกันพอสมควร บน Ubuntu ให้รันสิ่งต่อไปนี้:

sudo apt install openssh-server

การใช้การรับรองความถูกต้องด้วยคีย์มีความปลอดภัยมากกว่าการตรวจสอบรหัสผ่าน ดังนั้นเราจะตั้งค่า SSH ให้ทำงานในลักษณะนี้ ในการทำเช่นนี้ ตรวจสอบให้แน่ใจว่าคุณกำลังทำงานบนไคลเอนต์ที่คุณวางแผนที่จะเชื่อมต่อกับเซิร์ฟเวอร์ด้วย ไม่ใช่ตัวเซิร์ฟเวอร์เอง ก่อนอื่น คุณต้องแน่ใจว่าคุณไม่มีคีย์ SSH อยู่แล้ว:

ls ~/.ssh/

หากคุณเห็น “id_rsa” และ “id_rsa.pub” ในชื่อไฟล์ แสดงว่าคุณมีคีย์ SSH แล้ว ข้ามขั้นตอนถัดไปนี้ไป

ssh-keygen -t rsa -b 4096 -C "youremail@domain.com"

ตอนนี้คุณจะคัดลอกคีย์ SSH ไปยังเซิร์ฟเวอร์ของคุณ:

ssh-copy-id USERNAME@SERVER

สำหรับโฮมเซิร์ฟเวอร์ คุณอาจใช้ที่อยู่ IP สำหรับเซิร์ฟเวอร์ของคุณแทนชื่อ หากคุณไม่ทราบชื่อเซิร์ฟเวอร์ ให้ใช้ที่อยู่ IP แทน SERVER ด้านบน

ตอนนี้เราจะแก้ไขการตั้งค่า SSH ของคุณเพื่อรักษาความปลอดภัยให้มากขึ้น ล็อกอินเข้าสู่เซิร์ฟเวอร์ของคุณจากไคลเอนต์ที่คุณสร้างคีย์ ซึ่งจะทำให้คุณสามารถเข้าสู่ระบบได้อีกครั้งหลังจากขั้นตอนนี้ เรียกใช้สิ่งต่อไปนี้โดยแทนที่ nano กับบรรณาธิการที่คุณเลือก

sudo nano /etc/ssh/sshd_config

แก้ไขไฟล์และด้วยการตั้งค่าต่อไปนี้ สิ่งเหล่านี้จะอยู่ในที่ต่างๆ ในไฟล์ ตรวจสอบให้แน่ใจว่าไม่มีรายการซ้ำ เนื่องจากระบบจะติดตามการตั้งค่าอินสแตนซ์แรกเท่านั้น

ChallengeResponseAuthentication no
PasswordAuthentication no
UsePAM no
PermitRootLogin no

ตอนนี้ คุณต้องรีสตาร์ทเซิร์ฟเวอร์ SSH ด้วยคำสั่งใดคำสั่งหนึ่งต่อไปนี้

บน Ubuntu ให้เรียกใช้:

sudo systemctl restart ssh

กำหนดค่าไฟร์วอลล์

คุณอาจต้องการเรียกใช้ไฟร์วอลล์ ทั้งนี้ขึ้นอยู่กับบริการที่คุณใช้งานและจำนวนเซิร์ฟเวอร์ของคุณเชื่อมต่อกับอินเทอร์เน็ต มีตัวเลือกบางอย่างสำหรับสิ่งนี้ แต่วิธีที่ทดลองและจริงบน Linux คือ iptables

การตั้งค่า iptables อยู่นอกเหนือขอบเขตของบทความนี้ แต่ไม่ต้องกังวล เรามีคู่มือฉบับสมบูรณ์สำหรับการกำหนดค่า iptables ในเครื่องของคุณ

อีกวิธีที่ง่ายกว่าในการตั้งค่าไฟร์วอลล์คือการใช้ ufw . คุณสามารถติดตั้งได้ด้วยคำสั่ง:

sudo apt install ufw

โดยค่าเริ่มต้น มันจะบล็อกพอร์ตทั้งหมด หากต้องการเปิดใช้งานการเข้าถึงแบบออนไลน์และ ssh ให้เรียกใช้คำสั่ง ufw ต่อไปนี้เพื่อเปิดพอร์ต 80, 443 และ 22:

sudo ufw allow 80
sudo ufw allow 443
sudo ufw allow 22

และสุดท้าย เปิดใช้บริการ ufw:

sudo ufw enable

ติดตามข่าวสารอยู่เสมอ

วิธีรักษาความปลอดภัย Linux Home Server

เซิร์ฟเวอร์สามารถลืมได้ง่ายหากใช้งานได้ แต่อาจเป็นอันตรายได้ ตรวจสอบให้แน่ใจว่าซอฟต์แวร์ของคุณทันสมัยอยู่เสมอ คุณสามารถใช้การอัปเกรดแบบอัตโนมัติได้ แต่สิ่งเหล่านี้อาจคาดเดาไม่ได้ วิธีที่ปลอดภัยที่สุดคือกำหนดเวลาการนัดหมายการบำรุงรักษาเซิร์ฟเวอร์เป็นประจำทุกสัปดาห์หรือทุกเดือนเพื่อให้แน่ใจว่าทุกอย่างเรียบร้อยดี

จะไปไหนต่อจากนี้

ตอนนี้คุณเริ่มต้นได้ดีในการปกป้องเซิร์ฟเวอร์ของคุณจากภัยคุกคามภายนอก จะทำอย่างไรถ้าคุณต้องการเข้าถึงเซิร์ฟเวอร์ของคุณจากที่บ้าน ผู้โจมตีอาจใช้ประตูทุกบานที่คุณเปิด และทุกพอร์ตที่เปิดอยู่จะเพิ่มช่องโหว่ของคุณ

วิธีที่ง่ายที่สุดวิธีหนึ่งในการเข้าถึงเครือข่ายในบ้านของคุณจากภายนอกคือการใช้ VPN ซึ่งอยู่นอกเหนือขอบเขตของบทความนี้ แต่ไม่ต้องกังวล เราได้ครอบคลุมให้คุณแล้ว ดูรายการบริการ VPN ที่ปลอดภัยที่สุดของเราเพื่อดูว่ามีตัวเลือกอะไรบ้าง