หลังจากที่คุณสร้างเซิร์ฟเวอร์ใหม่มีการกำหนดค่าบางอย่างที่คุณควรทำเพื่อเพิ่มความปลอดภัยให้กับเซิร์ฟเวอร์ของคุณ
สร้างผู้ใช้ใหม่
ในฐานะผู้ใช้รูทคุณมีสิทธิ์ทำอะไรก็ได้ที่คุณต้องการกับเซิร์ฟเวอร์โดยไม่มีข้อ จำกัด ด้วยเหตุนี้จึงเป็นการดีกว่าที่จะหลีกเลี่ยงการใช้บัญชีผู้ใช้รูทสำหรับทุกงานในเซิร์ฟเวอร์ของคุณ เริ่มต้นด้วยการสร้างผู้ใช้ใหม่ แทนที่username
ด้วยชื่อผู้ใช้ที่ต้องการ:
adduser username
เลือกรหัสผ่านใหม่ที่ปลอดภัยและตอบคำถามตามนั้น (หรือกด ENTER เพื่อใช้ค่าเริ่มต้น)
ให้สิทธิ์ผู้ใช้รูต
บัญชีผู้ใช้ใหม่ไม่ได้มีสิทธิพิเศษนอกโฟลเดอร์บ้านของพวกเขาและไม่สามารถเรียกใช้คำสั่งที่จะเปลี่ยนเซิร์ฟเวอร์ (เช่นinstall
, update
หรือupgrade
) เพื่อหลีกเลี่ยงการใช้บัญชีรูทเราจะให้สิทธิ์ผู้ใช้รูท มีสองวิธีในการทำสิ่งนี้:
การเพิ่มผู้ใช้ไปยังกลุ่ม sudo
วิธีที่ง่ายคือการเพิ่มผู้ใช้ไปยังsudo
กลุ่ม แทนที่username
ด้วยชื่อผู้ใช้ที่ต้องการ:
adduser username sudo
sudo
นี้จะเพิ่มผู้ใช้ไปยังกลุ่ม กลุ่มนี้มีสิทธิ์ใช้งานคำสั่งที่มีการเข้าถึง sudo
การแก้ไขไฟล์ sudoers
อีกวิธีหนึ่งคือทำให้ผู้ใช้ของคุณอยู่ในsudoers
ไฟล์ หากเซิร์ฟเวอร์ของคุณมีผู้ใช้หลายคนที่มีสิทธิ์ใช้งานรูทวิธีนี้จะค่อนข้างดีกว่าเพราะถ้ามีคนทำยุ่งกับsudo
กลุ่มคุณจะยังสามารถเรียกใช้คำสั่งที่มีสิทธิ์ใช้งานรูทเพื่อทำงานบนเซิร์ฟเวอร์
ก่อนอื่นให้รันคำสั่งนี้:
visudo
นี่จะเป็นการเปิดsudoers
ไฟล์ ไฟล์นี้มีคำจำกัดความของกลุ่มและผู้ใช้ที่สามารถเรียกใช้คำสั่งด้วยสิทธิ์พิเศษของรูท
root ALL=(ALL:ALL) ALL
หลังจากบรรทัดนี้เขียนชื่อผู้ใช้ของคุณและให้สิทธิ์รูตแบบเต็ม แทนที่username
ตาม:
username ALL=(ALL:ALL) ALL
บันทึกและปิดไฟล์ ( Ctrl + OและCtrl + Xในนาโน)
ทดสอบผู้ใช้ใหม่ของคุณ
ในการเข้าสู่บัญชีผู้ใช้ใหม่ของคุณโดยไม่ต้องlogout
และlogin
เพียงโทร:
su username
ทดสอบสิทธิ์ sudo โดยใช้คำสั่งนี้:
sudo apt-get update
เชลล์จะขอรหัสผ่านของคุณ หาก sudo ได้รับการกำหนดค่าอย่างถูกต้องแล้วที่เก็บของคุณควรได้รับการอัพเดต มิฉะนั้นตรวจสอบขั้นตอนก่อนหน้า
ตอนนี้ออกจากระบบจากผู้ใช้ใหม่:
exit
การตั้งค่า Sudo เสร็จสมบูรณ์
การรักษาความปลอดภัย SSH
ส่วนถัดไปของคำแนะนำนี้เกี่ยวข้องกับการรักษาความปลอดภัยล็อกอิน ssh ไปยังเซิร์ฟเวอร์ ก่อนอื่นให้เปลี่ยนรหัสผ่านรูท:
passwd root
เลือกสิ่งที่เดายาก แต่คุณสามารถจำได้
คีย์ SSH
คีย์ SSH เป็นวิธีที่ปลอดภัยกว่าในการเข้าสู่ระบบ หากคุณไม่สนใจคีย์ SSH ให้ข้ามไปยังส่วนถัดไปของบทช่วยสอน
ใช้ Vultr Doc ต่อไปนี้เพื่อสร้างคีย์ SSH: ฉันจะสร้างคีย์ SSH ได้อย่างไร
หลังจากที่คุณได้รับกุญแจสาธารณะของคุณเข้าสู่ระบบด้วยผู้ใช้ใหม่ของคุณอีกครั้ง
su username
ตอนนี้ทำ.ssh
ไดเรกทอรีและauthorized_keys
ไฟล์ในไดเรกทอรีบ้านของบัญชีผู้ใช้นั้น
cd ~
mkdir .ssh
chmod 700 .ssh
touch .ssh/authorized_keys
เพิ่มพับลิกคีย์ที่คุณสร้างจากบทช่วยสอนอื่น ๆ ลงในauthorized_keys
ไฟล์
nano .ssh/authorized_keys
บันทึกไฟล์จากนั้นเปลี่ยนการอนุญาตของไฟล์นั้น
chmod 600 .ssh/authorized_keys
กลับไปที่ผู้ใช้รูท
exit
การกำหนดค่า SSH
ตอนนี้เราจะทำให้ภูต SSH ปลอดภัยยิ่งขึ้น เริ่มจากไฟล์ปรับแต่ง:
nano /etc/ssh/sshd_config
เปลี่ยนพอร์ตขาเข้า SSH
ขั้นตอนนี้จะเปลี่ยนพอร์ตที่ใช้ในการเข้าถึงเซิร์ฟเวอร์เป็นทางเลือกทั้งหมด แต่แนะนำ
ค้นหาบรรทัดที่มีการกำหนดค่าPort
ควรมีลักษณะเช่นนี้:
Port 22
ตอนนี้เปลี่ยนพอร์ตนี้เป็นพอร์ตใด ๆ ที่คุณต้องการ ต้องมากกว่า 1024
Port 4422
ปิดใช้งานการเข้าสู่ระบบ root ssh
ขั้นตอนนี้จะปิดการใช้งานเข้าสู่ระบบรากผ่าน SSH ก็เป็นตัวเลือกทั้งหมด แต่ขอแนะนำ
ค้นหาบรรทัดนี้:
PermitRootLogin yes
... และเปลี่ยนเป็น:
PermitRootLogin no
สิ่งนี้จะทำให้เซิร์ฟเวอร์มีความปลอดภัยมากขึ้นจากบ็อตที่พยายามใช้กำลังดุร้ายและ / หรือรหัสผ่านทั่วไปกับผู้ใช้root
และพอร์ต 22
ปิดการใช้งาน X11 ไปข้างหน้า
ขั้นตอนนี้จะปิดใช้งานการส่งต่อ X11 อย่าทำเช่นนี้หากคุณใช้โปรแกรมเดสก์ท็อประยะไกลเพื่อเข้าถึงเซิร์ฟเวอร์ของคุณ
ค้นหาบรรทัด X11:
X11Forwarding yes
... และมันเปลี่ยนเป็น:
X11Forwarding no
รีสตาร์ท SSH daemon
ตอนนี้เราทำการเปลี่ยนแปลงเพื่อรักษาความปลอดภัยการเข้าสู่ระบบ SSH เริ่มบริการ SSH:
service ssh restart
นี่จะรีสตาร์ทและโหลดการตั้งค่าเซิร์ฟเวอร์ใหม่
การทดสอบการเปลี่ยนแปลง
โดยไม่ยกเลิกการเชื่อมต่อเซสชัน ssh ปัจจุบันของคุณเปิดเทอร์มินัลใหม่หรือหน้าต่าง PuTTY และทดสอบการเข้าสู่ระบบ SSH อื่น
ssh -p 4422 username@SERVER_IP_OR_DOMAIN
หากทุกอย่างเช็คเอาท์เราได้เพิ่มความปลอดภัยให้กับเซิร์ฟเวอร์ของคุณ สนุก!