วีธีเปิด Firewall บน Ubuntu Server ให้ Server เราปลอดภัย
โดยหลักการของความปลอดภัยที่ดีที่สุด คือ ปิดทุก port ที่ไม่ได้ใช้ เปิดเฉพาะ port ที่ใช้งาน ส่วนการโจมตี ก็โจมตี port ที่เป้าหมายเปิดใช้งาน ดังนั้น เราต้องสามารถ block ip ที่โจมตีมายัง port ที่เราเปิดใช้งานให้ได้ด้วยครับ
ติดตั้ง package ufw (สำหรับ ubuntu ใหม่ๆจะติดตั้งมาให้แล้ว แค่เปิดใช้งาน)
$ sudo apt-get update
$ sudo apt-get install ufw
เมื่อติดตั้งเสร็จแล้วสำคัญที่สุดก่อนจะ enable คือ ต้อง allow port 22 สำหรับ ssh ไว้ก่อนน่ะครับ ไม่งั้น remote config ผ่าน ssh ไม่ได้ ต้องหาจอไปต่อ server อีกครับ
$sudo ufw allow 22
จากนั้นเปิด ufw ขึ้นมาใช้งาน
$ sudo ufw enable
ดูสถานะ ufw
$sudo ufw status
จะเห็นว่าผมเปิด port 1880 ไว้ด้วยสำหรับ node red นั่นหมายความว่า port อื่นจะไม่สามารถเข้าใช้งาน server เราได้ จะใช้ port ไหนก็มาเปิด service ใน ufw ไว้ครับ
ในส่วนของการ deny แน่นอนว่า เราจะใช้ block ip address บาง ip ที่ไม่ประสงค์ดีต่อ server ของเรา เพราะเค้าจะโจมตีเราด้วย port ที่เราเปิดให้บริการอยู่แล้ว ทำได้โดย
$sudo ufw deny from 192.168.1.67 to any port 3000
ซึ่ง port 3000 นี้เราเปิด service สำหรับ nodejs app เรา block ip เดียว แต่เครื่องอื่นยังสามารถเข้ามาใช้งาน port 3000 ได้
- แต่หลังจาก config rule ใช้งานพบว่าไม่สามารถ block ip: 192.168.1.67 ได้ เลยไปหาข้อมูลต่อ พบวิธีต้องแก้ไขไฟล์ before.rules
- sudo nano /etc/ufw/before.rules
# End required lines-A ufw-before-input -p tcp --dport 3000 -s 192.168.1.67 -j DROP
ลองเรียก service port 300 จากเครื่องดังกล่าวอีกครั้งก็ไม่สามารถเข้ามาใช้งานได้ เป็นอันว่า block ได้สำเร็จแล้วครับ ก็ไปทำการลบ user.rules ที่เรา block ไม่ได้ออกไป เพื่อไม่ให้สับสนครับ
วิธีดูไฟล์ config rule มี 2 files สำคัญที่ใช้บ่อยคือ user.rules และ before.rules
$sudo cat /etc/ufw/user.rules
$sudo cat /etc/ufw/before.rules
สั่งปิด Service Firewall
$ sudo ufw disable
หากต้องการลบ rule ให้ตรวจสอบเลข rule ที่ต้องการลบ
$ sudo ufw status numbered
คำสั่งลบ rule
$ sudo ufw delete 3
$ sudo ufw status numbered
Developer Project : IoT Phuket Lab
https://iotphuketlab.home.blog/
https://medium.com/@aegkaluk
https://www.facebook.com/iotphuket/
https://www.youtube.com/user/MrAegkaluk
https://sites.google.com/view/iot-phuket-lab-documents
https://pantip.com/profile/368674#topics
แวะเยี่ยมชมสินค้าของทางร้าน
https://www.phuket-it.com/iotphuketlab/
https://www.lazada.co.th/shop/phuket-bike-lover
https://shopee.co.th/aegkaluk