มีเหตุผลมากมายในการตั้งค่าโฮมเซิร์ฟเวอร์ คุณอาจใช้เป็นเซิร์ฟเวอร์สื่อ เซิร์ฟเวอร์ไฟล์ หรือแม้แต่เซิร์ฟเวอร์สำรองในเครื่อง โดยพื้นฐานแล้ว ไฟล์ใดๆ ของคุณที่ไม่จำเป็นต้องออนไลน์ก็เป็นตัวเลือกที่ดีสำหรับโฮมเซิร์ฟเวอร์ การตั้งค่าโฮมเซิร์ฟเวอร์ที่ใช้ 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
คุณอาจเปิดใช้งาน 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 "[email protected]"
ตอนนี้คุณจะคัดลอกคีย์ 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
ติดตามข่าวสารอยู่เสมอ
เซิร์ฟเวอร์สามารถลืมได้ง่ายหากใช้งานได้ แต่อาจเป็นอันตรายได้ ตรวจสอบให้แน่ใจว่าซอฟต์แวร์ของคุณทันสมัยอยู่เสมอ คุณสามารถใช้การอัปเกรดแบบอัตโนมัติได้ แต่สิ่งเหล่านี้อาจคาดเดาไม่ได้ วิธีที่ปลอดภัยที่สุดคือกำหนดเวลาการนัดหมายการบำรุงรักษาเซิร์ฟเวอร์เป็นประจำทุกสัปดาห์หรือทุกเดือนเพื่อให้แน่ใจว่าทุกอย่างเรียบร้อยดี
จะไปไหนต่อจากนี้
ตอนนี้คุณเริ่มต้นได้ดีในการปกป้องเซิร์ฟเวอร์ของคุณจากภัยคุกคามภายนอก จะทำอย่างไรถ้าคุณต้องการเข้าถึงเซิร์ฟเวอร์ของคุณจากที่บ้าน ผู้โจมตีอาจใช้ประตูทุกบานที่คุณเปิด และทุกพอร์ตที่เปิดอยู่จะเพิ่มช่องโหว่ของคุณ
วิธีที่ง่ายที่สุดวิธีหนึ่งในการเข้าถึงเครือข่ายในบ้านของคุณจากภายนอกคือการใช้ VPN ซึ่งอยู่นอกเหนือขอบเขตของบทความนี้ แต่ไม่ต้องกังวล เราได้ครอบคลุมให้คุณแล้ว ดูรายการบริการ VPN ที่ปลอดภัยที่สุดของเราเพื่อดูว่ามีตัวเลือกอะไรบ้าง