วีธีเปิด Firewall บน Ubuntu Server ให้ Server เราปลอดภัย

Mr.aegkaluk sopapun
2 min readJul 28, 2021

--

โดยหลักการของความปลอดภัยที่ดีที่สุด คือ ปิดทุก 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

block ip: 192.168.1.67 ที่ 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

--

--

Mr.aegkaluk sopapun
Mr.aegkaluk sopapun

Written by Mr.aegkaluk sopapun

IoT Developer @ IoT Worldtech Co.,Ltd

No responses yet