การติดตั้งไฟล์วอลล์พื้นฐาน
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.