สิ่งที่เพื่อนๆ ควรทำหลังจากสร้างเครื่อง Cloud Server (Instance) ขึ้นมา
การสร้างเครื่อง Cloud Server หรือที่เพื่อนๆ อาจจะเรียกว่า “Instance” นั้นไม่ใช่เรื่องยาก แต่หลังจากที่เราตั้งค่าเครื่องมาแล้ว ยังมีสิ่งสำคัญที่เพื่อนๆ ควรทำเพื่อให้เซิร์ฟเวอร์ของเพื่อนๆ ปลอดภัยและทำงานได้อย่างเต็มประสิทธิภาพ มาดูกันเลยว่าเพื่อนๆ ควรทำอะไรบ้าง!
1. เปลี่ยนรหัสผ่าน root
เริ่มต้นด้วยการเปลี่ยนรหัสผ่านของ root นะครับ อย่าใช้รหัสผ่านที่ระบบให้มาเป็นค่าเริ่มต้น เพื่อนๆ ควรตั้งรหัสผ่านที่ยากต่อการเดา อย่าลืมใช้ตัวอักษร, ตัวเลข, และสัญลักษณ์เพื่อเพิ่มความปลอดภัย
2. สร้างผู้ใช้ใหม่และยกเลิกการเข้าถึง root โดยตรง
การให้สิทธิ์การเข้าถึงโดยตรงกับ root อาจไม่ปลอดภัย เพื่อนๆ ควรสร้างผู้ใช้ใหม่ที่มีสิทธิ์ sudo เพื่อใช้ในการจัดการเซิร์ฟเวอร์ วิธีนี้ช่วยลดความเสี่ยงถ้าเกิดการโจมตีใน root account
3. ตั้งค่าการเชื่อมต่อ SSH ด้วย Key Pair
เพื่อนๆ ควรใช้ SSH Key Pair แทนการล็อกอินด้วยรหัสผ่าน เพราะการใช้ key pair จะทำให้การเชื่อมต่อปลอดภัยยิ่งขึ้น โดยเฉพาะอย่างยิ่งเมื่อเพื่อนๆ ต้องเข้าถึงเซิร์ฟเวอร์จากภายนอก
4. อัปเดตระบบปฏิบัติการ
หลังจากสร้างเครื่องแล้ว เพื่อนๆ ควรตรวจสอบและติดตั้งอัปเดตระบบปฏิบัติการทันที เพื่อแก้ไขช่องโหว่ด้านความปลอดภัยและปรับปรุงประสิทธิภาพการทำงาน
5. ตั้งค่า Firewall
Firewall เป็นสิ่งสำคัญในการป้องกันการเข้าถึงที่ไม่พึงประสงค์ เพื่อนๆ ควรตั้งค่ากฎ firewall เพื่อเปิดเฉพาะพอร์ตที่จำเป็น เช่น เปิดแค่พอร์ต 22 สำหรับ SSH หรือพอร์ต 80/443 สำหรับ HTTP/HTTPS
6. ติดตั้ง Fail2Ban หรือเครื่องมือป้องกัน Brute Force
Fail2Ban เป็นเครื่องมือที่ช่วยป้องกันการโจมตีแบบ brute force โดยจะบล็อก IP ที่พยายามเข้าสู่ระบบไม่สำเร็จหลายครั้ง เพื่อนๆ ควรติดตั้งเพื่อเพิ่มความปลอดภัย
7. ปิดบริการหรือพอร์ตที่ไม่ใช้
ไม่จำเป็นต้องเปิดทุกพอร์ตหรือบริการบนเครื่อง เพื่อนๆ ควรตรวจสอบว่ามีบริการไหนที่ไม่จำเป็นแล้วทำการปิดเพื่อป้องกันการเข้าถึงที่ไม่ต้องการ
8. ตั้งค่า Automatic Security Updates
เพื่อนๆ ควรเปิดการอัปเดตอัตโนมัติสำหรับแพตช์ด้านความปลอดภัย เพื่อไม่ให้เซิร์ฟเวอร์ของเพื่อนๆ ตกอยู่ในความเสี่ยงจากช่องโหว่ที่ถูกค้นพบใหม่ๆ
9. ตั้งค่าการสำรองข้อมูล (Backup)
การสำรองข้อมูลเป็นเรื่องสำคัญมาก เพื่อนๆ ควรตั้งค่าให้มีการสำรองข้อมูลอัตโนมัติ ไม่ว่าจะเป็นการใช้ snapshot ของเครื่องหรือใช้บริการ cloud backup เพื่อป้องกันการสูญหายของข้อมูล
10. ติดตั้ง Monitoring Tools
เพื่อนๆ ควรติดตั้งเครื่องมือสำหรับการตรวจสอบระบบ เช่น Netdata หรือ Prometheus เพื่อดูแลการทำงานของ CPU, RAM, Storage และทรัพยากรอื่นๆ จะได้รู้ว่ามีอะไรผิดปกติหรือไม่
11. ตั้งค่าการล็อกกิจกรรม (Logging)
การติดตั้งและตั้งค่าเครื่องมือ logging อย่างเช่น rsyslog
หรือ journald
ช่วยให้เพื่อนๆ สามารถติดตามกิจกรรมต่างๆ บนเซิร์ฟเวอร์ได้ดีขึ้น เมื่อเกิดปัญหาจะสามารถหาสาเหตุได้อย่างรวดเร็ว
12. กำหนดสิทธิ์ในการเข้าถึงไฟล์และโฟลเดอร์
เพื่อนๆ ควรกำหนดสิทธิ์ในการเข้าถึงไฟล์และโฟลเดอร์อย่างรัดกุม โดยใช้คำสั่งเช่น chmod
และ chown
เพื่อกำหนดว่าใครสามารถอ่าน เขียน หรือรันไฟล์ได้บ้าง การทำเช่นนี้จะช่วยป้องกันข้อมูลสำคัญไม่ให้ถูกเข้าถึงโดยไม่ได้รับอนุญาต
13. กำหนดเวลาสำหรับรีบูต (Reboot Scheduling)
หากเพื่อนๆ มีการอัปเดตที่ต้องการรีบูตเซิร์ฟเวอร์ เพื่อนๆ ควรกำหนดเวลาที่เหมาะสมในการรีบูต เช่น ตั้งให้รีบูตในช่วงเวลาที่มีผู้ใช้น้อยที่สุด เพื่อลดผลกระทบต่อการใช้งาน
14. ใช้ระบบจัดการ Configuration เช่น Ansible หรือ Terraform
เพื่อนๆ สามารถใช้เครื่องมือจัดการ configuration เช่น Ansible หรือ Terraform เพื่อทำให้การตั้งค่าเซิร์ฟเวอร์เป็นไปอย่างอัตโนมัติและซ้ำรอยได้ ลดโอกาสเกิดความผิดพลาด และทำให้การจัดการหลายเซิร์ฟเวอร์ง่ายขึ้น
15. ตรวจสอบการตั้งค่า Timezone และเวลา
เพื่อนๆ ควรตรวจสอบและตั้งค่า Timezone ของเซิร์ฟเวอร์ให้ตรงกับภูมิภาคที่เพื่อนๆ ใช้งานจริง การตั้งค่าเวลาให้ถูกต้องเป็นเรื่องสำคัญ โดยเฉพาะเมื่อเซิร์ฟเวอร์ใช้ในการจัดการข้อมูลที่ต้องอ้างอิงเวลา เช่น การล็อกกิจกรรม หรือการจัดการไฟล์ระบบ