วิธีทำให้เซิร์ฟเวอร์ Ubuntu แข็งขึ้น 18.04 ใน 5 ขั้นตอนง่ายๆ
ลินุกซ์ เป็นที่รู้จักกันดีว่าเป็นหนึ่งในผู้ที่ปลอดภัยที่สุด ระบบปฏิบัติการ มีอยู่. แต่นั่นไม่ได้หมายความว่าคุณสามารถวางใจได้ว่าอุปกรณ์ดังกล่าวจะปลอดภัยที่สุดเมื่อนำออกจากกล่อง มีขั้นตอนง่ายๆ ไม่กี่ขั้นตอนที่คุณสามารถทำได้เพื่อให้แน่ใจว่าแพลตฟอร์มของคุณปลอดภัยยิ่งขึ้น
ต่อไปนี้คืองานเสริมความปลอดภัยห้างานเพื่อดำเนินการบนแพลตฟอร์ม Ubuntu Server 18.04 ที่เพิ่งติดตั้งใหม่
หน่วยความจำที่ใช้ร่วมกันที่ปลอดภัย
สิ่งแรกที่คุณควรทำคือการรักษาความปลอดภัยที่ใช้ร่วมกัน หน่วยความจำ ที่ใช้ในระบบ หากคุณไม่รู้ตัว คุณสามารถใช้หน่วยความจำที่ใช้ร่วมกันเพื่อโจมตีบริการที่ทำงานอยู่ได้ ด้วยเหตุนี้ รักษาความปลอดภัยส่วนนั้นของหน่วยความจำระบบ คุณสามารถทำได้โดยแก้ไข /etc/fstab ไฟล์. โดยใช้วิธีดังนี้:
-
เปิดไฟล์เพื่อแก้ไขโดยใช้คำสั่ง:
sudo nano /etc/fstab
-
เพิ่มบรรทัดต่อไปนี้ที่ด้านล่างของไฟล์นั้น:
tmpfs /run/shm ค่าเริ่มต้น tmpfs, noexec, nosuid 0 0
บันทึกและปิดไฟล์
-
เพื่อให้การเปลี่ยนแปลงมีผล ให้รีบูตเซิร์ฟเวอร์ด้วยคำสั่งนี้:
sudo รีบูต
เปิดใช้งานการเข้าสู่ระบบ SSH สำหรับผู้ใช้ที่ระบุเท่านั้น
ใช้เครื่องมือ Secure Shell (SSH) เพื่อเข้าสู่ระบบเซิร์ฟเวอร์ Linux ระยะไกลของคุณ แม้ว่า SSH จะค่อนข้างปลอดภัยโดยค่าเริ่มต้น คุณสามารถทำให้ปลอดภัยยิ่งขึ้นโดยเปิดใช้งานการเข้าสู่ระบบ SSH สำหรับผู้ใช้เฉพาะเท่านั้น ตัวอย่างเช่น หากคุณต้องการอนุญาตรายการ SSH สำหรับผู้ใช้เท่านั้น
นี่คือวิธีการ:
เปิดหน้าต่างเทอร์มินัล
-
เปิดไฟล์กำหนดค่า SSH เพื่อแก้ไขด้วยคำสั่งนี้:
sudo nano /etc/ssh/sshd_config
-
ที่ด้านล่างของไฟล์ เพิ่มบรรทัด:
AllowUsers [email protected]
บันทึกและปิดไฟล์
-
รีสตาร์ท sshd ด้วยคำสั่งนี้:
sudo systemctl รีสตาร์ท sshd
ตอนนี้ Secure Shell จะอนุญาตให้เข้าโดยผู้ใช้เท่านั้น แจ็ค จากที่อยู่ IP 192.168.1.162. หากเป็นผู้ใช้อื่นที่ไม่ใช่ แจ็ค พยายามที่จะ SSH เข้าสู่เซิร์ฟเวอร์ พวกเขาจะได้รับพร้อมท์ให้ใส่รหัสผ่าน แต่รหัสผ่านจะไม่ได้รับการยอมรับ (ไม่ว่าจะถูกต้องหรือไม่) และทางเข้าจะถูกปฏิเสธ
คุณสามารถใช้ไวด์การ์ดได้ เช่น เพื่อให้สิทธิ์การเข้าถึงแก่ผู้ใช้ทั้งหมดจากที่อยู่ IP ที่ระบุ หากคุณต้องการอนุญาตให้ผู้ใช้ทั้งหมดในเครือข่ายท้องถิ่นของคุณเข้าถึงเซิร์ฟเวอร์ผ่าน SSH ให้เพิ่มบรรทัดต่อไปนี้:
อนุญาตผู้ใช้ *@192.168.1.*
รีสตาร์ทเซิร์ฟเวอร์ SSH และคุณก็พร้อมแล้ว
รวมแบนเนอร์เข้าสู่ระบบความปลอดภัย
แม้ว่าการเพิ่มแบนเนอร์การเข้าสู่ระบบความปลอดภัยอาจดูเหมือนไม่ใช่มาตรการรักษาความปลอดภัยที่มีประสิทธิภาพที่สุด แต่ก็มีประโยชน์ ตัวอย่างเช่น หากผู้ใช้ที่ไม่ต้องการเข้าถึงเซิร์ฟเวอร์ของคุณ และหากพวกเขาเห็นว่าคุณระบุเฉพาะ ข้อมูลในแบนเนอร์เข้าสู่ระบบ (เตือนพวกเขาถึงผลที่ตามมาจากการกระทำของพวกเขา) พวกเขาอาจคิดทบทวน ดำเนินการต่อ วิธีตั้งค่ามีดังนี้
เปิด หน้าต่างเทอร์มินัล.
-
ออกคำสั่ง:
sudo nano /etc/issue.net
แก้ไขไฟล์เพื่อเพิ่มคำเตือนที่เหมาะสม
บันทึกและปิดไฟล์
-
ปิดการใช้งานข้อความแบนเนอร์จากข้อความประจำวัน (motd) เปิดเทอร์มินัลแล้วออกคำสั่ง:
sudo nano /etc/pam.d/sshd
-
เมื่อไฟล์นี้เปิดสำหรับแก้ไข ให้แสดงความคิดเห็นในสองบรรทัดต่อไปนี้ (เพิ่ม a # ถึงจุดเริ่มต้นของแต่ละบรรทัด):
เซสชันตัวเลือก pam_motd.so motd=/run/motd.dynamic
เซสชันตัวเลือก pam_motd.so noupdate -
ต่อไป เปิด /etc/ssh/sshd_config ด้วยคำสั่ง:
sudo nano /etc/ssh/sshd_config
-
ยกเลิกการใส่เครื่องหมายบรรทัด (ลบ # เครื่องหมาย):
แบนเนอร์ /etc/issue.net
บันทึกและปิดไฟล์นั้น
-
รีสตาร์ทเซิร์ฟเวอร์ SSH ด้วยคำสั่ง:
sudo systemctl รีสตาร์ท sshd
-
เมื่อมีคนลงชื่อเข้าใช้เซิร์ฟเวอร์ของคุณโดยใช้ SSH พวกเขาจะเห็นแบนเนอร์ที่เพิ่มใหม่ของคุณเตือนพวกเขาถึงผลที่ตามมาของการดำเนินการเพิ่มเติม
จำกัดการเข้าถึง SU
เว้นแต่กำหนดค่าเป็นอย่างอื่น ผู้ใช้ Linux สามารถใช้ คำสั่ง su เพื่อเปลี่ยนเป็นผู้ใช้อื่น เมื่อพวกเขาทำเช่นนั้น พวกเขาจะได้รับสิทธิพิเศษที่มอบให้กับผู้ใช้รายอื่น ดังนั้นหากผู้ใช้ NS (ผู้ที่ถูกจำกัดการเข้าถึงเซิร์ฟเวอร์) ใช้ ซู เพื่อเปลี่ยนเป็นผู้ใช้ NS (ผู้ที่มีข้อจำกัดการเข้าถึงเซิร์ฟเวอร์น้อยกว่า) ผู้ใช้ NS ตอนนี้เป็นผู้ใช้ NS และสามารถทำอะไรกับเซิร์ฟเวอร์ได้มากขึ้น ด้วยเหตุนี้ ปิดใช้งานการเข้าถึงคำสั่ง su โดยใช้วิธีดังนี้:
-
สร้างกลุ่มผู้ดูแลระบบใหม่บนเซิร์ฟเวอร์ด้วยคำสั่งนี้:
sudo groupadd ผู้ดูแลระบบ
-
เพิ่มผู้ใช้ในกลุ่มนี้ เช่น เพื่อเพิ่มผู้ใช้ แจ็ค ให้กับกลุ่ม คำสั่งสำหรับสิ่งนี้คือ:
sudo usermod -a -G ผู้ดูแลระบบแจ็ค
หากคุณเข้าสู่ระบบในฐานะผู้ใช้ แจ็คออกจากระบบและกลับเข้าสู่ระบบใหม่เพื่อให้การเปลี่ยนแปลงมีผล
-
ให้สิทธิ์การเข้าถึงคำสั่ง su แก่กลุ่มผู้ดูแลระบบด้วยคำสั่ง:
sudo dpkg-statoverride --update --add root admin 4750 /bin/su
-
หากคุณเข้าสู่ระบบเซิร์ฟเวอร์ Ubuntu ของคุณในฐานะผู้ใช้ แจ็ค และพยายามใช้คำสั่ง su เพื่อสลับไปยังผู้ใช้รายอื่น ได้รับอนุญาตเพราะ แจ็ค เป็นสมาชิกของผู้ดูแลระบบ ผู้ใช้รายอื่นถูกปฏิเสธการเข้าถึงคำสั่ง su
ติดตั้ง fail2ban
Fail2ban เป็นระบบป้องกันการบุกรุกที่ตรวจสอบไฟล์บันทึกและค้นหารูปแบบเฉพาะที่สอดคล้องกับความพยายามในการเข้าสู่ระบบที่ล้มเหลว หากตรวจพบการเข้าสู่ระบบที่ล้มเหลวจำนวนหนึ่งจากที่อยู่ IP เฉพาะ (ภายในระยะเวลาที่กำหนด) fail2ban จะบล็อกการเข้าถึงจากที่อยู่ IP นั้น
นี่คือวิธีการติดตั้ง fail2ban:
-
เปิดหน้าต่างเทอร์มินัลและออกคำสั่งนี้:
sudo apt-get ติดตั้ง fail2ban
-
ไดเร็กทอรี /etc/fail2ban มีไฟล์การกำหนดค่าหลัก คุก.conf. นอกจากนี้ในไดเร็กทอรีนั้นยังมีไดเร็กทอรีย่อย คุก.d. NS คุก.conf file เป็นไฟล์กำหนดค่าหลักและ คุก.d มีไฟล์การกำหนดค่ารอง ห้ามแก้ไข คุก.conf ไฟล์. ให้สร้างการกำหนดค่าใหม่ที่ตรวจสอบการเข้าสู่ระบบ SSH แทน ป้อนคำสั่งต่อไปนี้:
sudo nano /etc/fail2ban/jail.local
-
ในไฟล์ใหม่นี้ เพิ่มเนื้อหาต่อไปนี้:
[sshd]
เปิดใช้งาน = จริง
พอร์ต = 22
ตัวกรอง = sshd
logpath = /var/log/auth.log
maxretry = 3การกำหนดค่านี้เปิดใช้งานการคุมขัง ตั้งค่าพอร์ต SSH ที่จะมอนิเตอร์เป็น 22 ใช้ตัวกรอง sshd และตั้งค่าล็อกไฟล์ที่จะมอนิเตอร์
บันทึกและปิดไฟล์นั้น
-
รีสตาร์ท fail2ban ด้วยคำสั่ง:
sudo systemctl รีสตาร์ท fail2ban
-
หากคุณพยายาม Secure Shell ในเซิร์ฟเวอร์นั้นและเข้าสู่ระบบไม่สำเร็จสามครั้ง (ตั้งเป็นค่าเริ่มต้นโดย fail2ban) การเข้าถึงจะถูกบล็อกจาก ที่อยู่ IP คุณกำลังทำงานจาก