3 มี.ค. 2553

Hardening the Linux server

Server ไม่ว่าจะสร้างมาเพื่อทดสอบ หรือว่าใช้งานจริงก็ล้วนแต่เป็นเป้าหมายของการถูกโจมตีทั้งนั้น ดังนั้นเพื่อเป็นการอุดช่องโหว่ เราจึงต้องเรียนรู้การใช้ SSH, ปรับแต่ง Firewall, และติดตั้ง Intrusion detecttion เพื่อแจ้งเตือนเวลาที่มีใครมาบุกรุกกล่องดวงใจ(Linux box)ของเรา

วัตถุประสงค์:
เรียนรู้ระบบความปลอดภัยเบื้องต้นสำหรับผู้ดูแลระบบ รวมไปถึง การใช้ SSH login, การใช้ Firewall และวิธีการวิเคราะห์ Log เพื่อตรวจหาการโจมตี
1. ป้องกันการโจมตี ทาง ssh
- Remove root access การใช้ username root ทำสิ่งต่างถือเป็นสิ่งที่ไม่เหมาะสม แต่ถ้าใช้ root login ผ่าน ssh ยิ่งเป็นการกระทำที่เสี่ยงต่อการถูก hack อย่างมาก ดังนั้นไม่ควรอนุญาตให้ root login ผ่านทาง ssh
เพื่อป้องกันการใช้ user root login ผ่านทาง ssh
sudo nano /etc/ssh/sshd_config

ค้นหาบรรทัด
PermitRootLogin yes

แก้ให้เป็นตามนี้
PermitRootLogin no

ปรับเวลาการรอรับ password ให้เร็วขึ้น แนะนำ 30 วินาทีกำลังดี (ค้นหาบรรทัดนี้แล้วเปลี่ยน เป็น 30วิ)
LoginGraceTime 120

จำกัดการเข้าใช้ ssh โดยระบุ username ที่สามารถ login ผ่าน sshได้ เพิ่มบรรทัดนี้เข้าไป (คั่นระหว่าง user โดยใช้ช่องว่าง)
AllowUsers someGuy someOtherGuy

เปลี่ยน port เอาตามใจ ขอให้มากกว่า 1024 แต่ไม่เกิน 65535
port 65222

save แล้วก้ restart ssh service
sudo /etc/init.d/ssh restart

ติดตั้งโปรแกรม Fail2ban
ติดตั้ง fail2ban
sudo apt-get install fail2ban

เปิดไฟล์ configure ขึ้นมาแก้ไข
sudo nano /etc/fail2ban/jail.conf
  • maxfailures = 5 ---> ในส่วนนี้หมายถึง connect แล้ว fail ครบ 5 ครั้งแล้วให้แบน ip
  • bantime = 600 ---> หมายถึงให้แบนเป็นเวลา 600 วินาที
  • ignoreip = 192.168.0.0/24 ---> หมายถึง ip ในวงนี้ไม่ต้องไปสนใจแบนเพราะว่าอยู่ใน lan วงเดียวกัน
  • รายละเอียดอ่านต่อ http://www.ubuntuclub.com/node/11

ไม่มีความคิดเห็น:

แสดงความคิดเห็น