สำหรับลูกค้า Cloud server ที่เลือกใช้งาน CentOS 7 แบบ minimal configuration เราขอแนะนำขั้นตอนที่ควรดำเนินการเพื่อความปลอดภัยในการใช้งาน หลังการ build virtual machine (cloud server) ดังนี้

User management

user : root เป็น user หลักที่จะได้หลังจากที่มีติดตั้ง CentOS เพื่อนำใช้ในการดำเนินการแก้ไขติดตั้งส่วนต่างๆ และเป็น user มีสิทธิ์ในการจัดการสูงสุดของระบบ ดังนั้นเพื่อความปลอดภัยในการใช้งาน เราจึงควรสร้าง user อื่นๆ เพื่อทำหน้าที่ในส่วนนี้แทน และใช้งาน user: root ในกรณีที่จำเป็นเท่านั้น

เริ่มต้นจาก การเข้าสู่ระบบด้วย user: root และสร้าง user ใหม่ รวมทั้งกำหนด password สำหรับ user ที่สร้างขึ้นใหม่ โดยควรกำหนด password ให้ค่อนข้างยากต่อการคาดเดา เช่น มีจำนวน 8 ตัวขึ้นไป, ประกอบด้วยตัวอักษรพิมพ์ใหญ่ พิมพ์เล็ก ตัวเลข และ อักขระพิเศษ

# adduser somchai
# password somchai

หลังจากนั้น เราจะกำหนดสิทธิของ user ที่สร้างขึ้นใหม่ด้วย sudo เพื่อให้สามารถดำเนินการในส่วนต่างๆ แทน user :root ได้

#visudo

 

เพิ่มสิทธ์ ของ user: somchai ต่อจากบรรทัดของ “root ALL=(ALL) ALL”

somchai ALL=(ALL:ALL) ALL

 

บันทึกและออกจากหน้าคำสั่ง

ทดสอบ login ด้วย user: somchai ผ่านหน้า console และ run คำสั่ง เพื่อทดสอบสิทธ์การใช้งาน เช่น

$ sudo iptables –L

 

Configure SSH

หลังจากที่เราได้สร้าง user ใหม่แล้ว ต่อไปเราจะเริ่มแก้ไขส่วนต่างๆ ของระบบ จาก user ที่สร้างขึ้น โดยเริมจากกำหนดสิทธิ์ ในการ remote เข้ามายัง server รวมทั้งปิดสิทธิ์การ remote ของ user: root

$ sudo vi /etc/ssh/sshd_config

 

แก้ไขจาก

#Port 22 > Port 9009
#PermitRootLogin yes > PermitRootLogin no

 

บันทึกและออกจากหน้าคำสั่ง

สามารถตรวจสอบความถูกต้อง ของไฟล์ที่แก้ไขได้ตามคำสั่งด้านล่าง

$ sudo sshd -t

 

ทำการ restart SSH service (เพื่อความแน่ใจ ท่านอาจทำกระบวนการนี้ผ่าน console เพื่อไม่ให้ติดปัญหา ssh ถูก block จาก firewall)*

$ sudo systemctl reload sshd.service

 

Basic Firewall

สำหรับ CentOS นั้น จะมี firewall มาให้ด้วยแล้ว คือ firewalld และส่วนที่ใช้ในการกำหนดกฎและค่าต่างๆ คือ firewall-cmd ในบทความนี้เราจะกล่าวถึงการปรับค่าของ firewall จากค่าที่ได้มาจากการติดตั้ง server เท่านั้น โดยเมื่อเราสั่ง start service แล้ว เราจะสามารถกำหนดกฏ หรือ port ต่างๆ เพื่อการใช้งานได้

สั่งให้เริ่มต้นการทำงาน

$ sudo systemctl start firewalld

 

ส่วนแรกคือ การเปิดการใช้งานให้สามารถ remote มายัง server คือ SSH service

สำหรับ SSH service นั้น หากยังไม่มีการแก้ไข port ของ SSH server สามารถ enable service ได้ด้วยคำสั่ง

# sudo firewall-cmd --permanent --add-service=ssh

 

แต่หากมีการเปลี่ยนแปลง SSH port (ซึ่งก่อนหน้านี้เราได้มีการเปลี่ยนแปลงค่าดังกล่าวแล้ว) สามารถดำเนินการกำหนด port ใหม่ได้ด้วยคำสั่ง

$ sudo firewall-cmd --permanent --remove-service=ssh
$ sudo firewall-cmd --permanent --add-port=9009/tcp

 

หากเราต้องการ ไปใช้งานส่วนอื่น เช่น Mail server หรือ Web server สามารถเพิ่มการใช้งานได้

$ sudo firewall-cmd --permanent --add-service=smtp
$ sudo firewall-cmd --permanent --add-service=http

 

ตัวอย่าง การตรวจสอบ service ต่างๆ ที่สามารถเรียกใช้งานได้

$ sudo firewall-cmd --get-services

 

เมื่อกำหนดค่า firewall เรียบร้อย สามารถตรวจสอบรายละเอียดส่วนที่มีการแก้ไขได้จาก

$ sudo firewall-cmd --permanent --list-all

 

และสั่ง reload ค่าดังกล่าวเพื่อใช้งาน พร้อมทั้งกำหนดให้ service มีเริ่มทำงานตั้งแต่มีการ start เครื่อง

$ sudo firewall-cmd --reload
$ sudo systemctl enable firewalld

 

Time zones

ค่า Time zones โดยปกติ จะมีการกำหนดตั้งแต่ช่วงการติดตั้งแล้ว แต่เราควรตรวจสอบเวลาและ Time zones ให้ถูกต้องอีกครั้งก่อนการเริ่มต้นใช้งาน

$ sudo timedatectl list-timezones
$ sudo timedatectl set-timezone Asia/Bangkok
$ sudo timedatectl

 

Network Time Protocol

เมื่อกำหนดค่า Time zones ถูกต้องแล้ว ต่อไปเราจะทำการตั้งค่า การ sync ค่าเวลาจาก server อื่น เพื่อให้มีเวลาการทำงานที่ถูกต้องและตรงกัน ซึ่งสำหรับ Service ที่นำมาใช้งานคือ ntp ซึ่ง สามารถติดตั้งได้จาก default repositories ของ CentOS

$ sudo yum install ntp
$ sudo systemctl start ntpd
$ sudo systemctl enable ntpd

 

Keep OS up-to-date (patching)

เราควรมีการ update package ต่างๆ ให้เป็น version ใหม่อยู่อย่างสม่ำเสมอ เพื่อป้องกันช่องโหว่งที่อาจจะพบได้ในบาง version จึงควรรันคำสั่งนี้เป็นระยะๆ (สัปดาห์ละครั้งเป็นต้น)

$ sudo yum update

 

ส่วนอื่นๆ

การเพิ่ม swap ได้จาก http://www.hostpacific.com/adding-swap-space-on-a-cloud-server/

บริการ Virtual machine ต่างๆ ของ HostPacific เช่น CloudNode (เริ่มต้นเพียงชม.ละ 0.75 บาท), CloudNode-M (เริ่มต้นเพียงเดือนละ 450 บาท) หรือ Enterprise Cloud Server (เริ่มต้นเดือนละ 900 บาท) สามารถใช้งาน CentOS 7 ได้ทุกแพลน