การติดตั้งไฟล์วอลล์พื้นฐาน
Basic Firewall Setup


เครื่องเซิร์ฟเวอร์นี้มีค่าโดยปริยาย คือ ไฟล์วอลล์ยังไม่ทำงาน


Open and Close Firewall ไฟร์วอลล์

เปิด ไฟร์วอลล์ ให้ทำงาน ใช้คำสั่ง sudo ufw enable ในเทอร์มินัล


ปิด ไฟร์วอลล์ ไม่ทำงาน ใช้คำสั่ง sudo ufw disable ในเทอร์มินัล


ปิด แล้ว เปิด ไฟร์วอลล์ ใช้คำสั่ง sudo ufw disable && sudo ufw enable


ดูสถานะไฟร์วอลล์ ใช้คำสั่ง sudo ufw status ในเทอร์มินัล


ดูสถานะไฟร์วอลล์มีรายละเอียดเพิ่มเติมใช้คำสั่ง sudo ufw status verbose ในเทอร์มินัล


iptables ตรวจสอบตาม rule ที่ได้กำหนดไว้

ทุกครั้งที่ เปิด หรือ ปิด ไฟร์วอลล์ ควรตรวจสอบด้วยโปรแกรม iptables ทุกครั้ง ในครั้งแรกอาจตรวจดูว่าระบบมีโปรแกรม iptables แล้วหรือยัง
ด้วยคำสั่งในเทอร์มินัล sudo iptables -nL


SSH server

กำหนดให้ SSH server ทำงาน ต้องกำหนดคำสั่งในเทอร์มินัล sudo service ssh start
กำหนดให้ SSH server หยุดทำงาน ต้องกำหนดคำสั่งในเทอร์มินัล sudo service ssh stop

ให้บริการ SSH server ใช้คำสั่ง sudo ufw allow ssh ในเทอร์มินัล


เปิดบริการ port 22 ใช้คำสั่ง sudo ufw allow 22 ในเทอร์มินัล
ซึ่งเหมือนกับพิมพ์คำสั่ง sudo ufw allow proto tcp from any to any port 22


แทรก rule ด้วยการใช้ตัวเลขระบุตำแหน่ง ใช้คำสั่ง sudo ufw insert 1 allow 80 ในเทอร์มินัล
หรือ sudo ufw insert 1 deny 80


ลบ rule ใช้คำสั่ง sudo ufw delete deny 80 ในเทอร์มินัล เมื่อ insert ด้วย deny
หรือ sudo ufw delete allow 80 เมื่อ insert ด้วย allow


ปิดบริการ port 22 ใช้คำสั่ง sudo ufw deny 22 ในเทอร์มินัล


อนุญาตเฉพาะ IP Address 192.168.10.5 ใช้คำสั่ง sudo ufw allow from 192.168.10.5 to any port 22


อนุญาตเฉพาะ IP Address 192.168.10.5 ใช้คำสั่ง sudo ufw allow from 192.168.10.5 to any port 22


กำหนด IP address เป็น subnet ใช้คำสั่ง sudo ufw allow proto tcp from 192.168.1.0/24 to any port 22



ftp server


กำหนดให้ ftp server ทำงาน ต้องกำหนดคำสั่งในเทอร์มินัล sudo service vsftpd start
กำหนดให้ ftp server หยุดทำงาน ต้องกำหนดคำสั่งในเทอร์มินัล sudo service vsftpd stop

ให้บริการ ftp server ใช้คำสั่ง sudo ufw allow ftp ในเทอร์มินัล



อนุญาตเฉพาะ IP Address 192.168.10.5 ใช้คำสั่ง
sudo ufw allow from 192.168.10.5 to any port 20
sudo ufw allow from 192.168.10.5 to any port 21 ในเทอร์มินัล



หรือเพิ่มบริการ ftp server ทาง port 81 อนุญาตเฉพาะ IP address 192.168.1.101 ใช้คำสั่ง
sudo ufw allow proto tcp from 192.168.1.101 to any port 81 ในเทอร์มินัล



หลังจากกำหนดไฟร์วอลล์ให้เปิดบริการ server ต่าง ๆ แล้ว สามารถเรียกดูบริการต่าง ๆ ได้
โดยใช้คำสั่ง sudo ufw status numbered พิมพ์ในเทอร์มินัล


พิจารณาเห็นว่า port 21 และ port 81 บริการซ้ำซ้อนกัน จึงอาจลบ port 81 ออกไป เพระ port 21 บริการแบบ Anywhere อยู่แล้ว
การ ปิด บริการ port 81 ให้กำหนดไฟร์วอลล์ด้วยคำสั่ง sudo ufw delete allow proto tcp from 192.168.1.101 to any port 81 ในเทอร์มินัล


หลังจาก ปิด บริการ port 81 แล้ว ลองตรวจดูบริการโดยใช้คำสั่ง sudo ufw status numbered ในเทอร์มินัลอีกครั้ง




ข้อควรทราบ


รวมไฟล์ที่เกี่ยวข้องกับ ufw อยู่ที่ /etc/ufw และ /etc/defaults/ufw
การกำหนดค่าไฟล์วอลล์ให้มีกฏตามที่กำหนดทุกครั้งพร้อมกับการบูตเครื่อง ให้กำหนดที่
สำหรับ IP V4
/lib/ufw/user.rules
ซึ่งอาจจะ ใส่ comment ในส่วนของ ### LOGGING ### และส่วนของ  ### RATE LIMITING ### เพื่อเพิ่มความเร็ว

สำหรับ IP V6
/lib/ufw/user6.rules


อ้างอิง
Advanced LINUK SERVER ระบบปฏิบัติการ Open Source ที่ได้รับความนิยมสูงสุด, สมพันธ์ ชาญศิลป์ และ คณะ, 2546.
Linux ติดตั้งและปรับแต่งเซิร์ฟเวอร์ สำหรับ Admin Linux โดยเฉพาะ, พิมพ์ครั้งที่ 4, ก่อกิจ วีระอาชากุล, 2545.