2021年3月22日 星期一

Ubuntu 內建防火牆 ufw 設定範例

ufw 為 Ubuntu 內建的防火牆軟體,

預設並沒有開啟,

要使用的話需要手動打開,

今天就來介紹下

Ubuntu 內建防火牆 ufw 設定範例

ufw 全名為 Uncomplicated Firewall ,

就是簡易防火牆的意思,

雖然名為簡易但功能可是很齊全的。

若為 AWS EC2 或者 GCP 上的虛擬機器,

在開啟 ufw 之前 ,

記得允許自己連入 ssh ,

命令為

sudo ufw allow from [要連ssh 的機器ip] to any port 22

否則打開 ufw 就連不上機器囉。


ufw 啟用與關閉

剛才提過,

ufw 在 Ubuntu 預設為關閉的,

可使用命令:

sudo ufw enable 

將其開啟,

要關閉 ufw 則是使用:

sudo ufw disable

既然要設定防火牆,

預設連入的策略應該為拒絕,

sudo ufw default deny

設定完畢後,

若為 Web server 的話,

應該無法連線,

dmesg 

可顯示目前被阻擋的詳細訊息,

訊息顯示了幾個重點

PROTO :  通訊協定
SRC: 來源 ip
DPT: 連接 port 號
DST: 目的 ip


網站 service


所以使用命令:

sudo ufw allow in 80

sudo ufw allow in 443

讓網路連線能夠正常運作。


ssh 連線服務


剛才有提到的 ssh 連線通常為 port 22

sudo ufw allow 22/tcp

或者

sudo ufw allow ssh 

均可,

後者使用服務的名稱做為允許的條件,

服務的名稱可前往

/etc/services

查詢,

若要過濾連線的 ip ,

則利用:

sudo ufw allow from [連線的ip] to any port 22

就能限制能夠連 ssh 的機器ip。

刪除規則


若要刪除 ufw 規則,

可先執行:

sudo ufw status numbered

再刪除該規則的號碼即可

sudo ufw delete [規則號碼]

ufw 狀態

sudo ufw status 

可用來觀看目前 ufw 的狀態,

若需要紀錄 log ,

使用

sudo ufw logging on

將其開啟,

可在

/var/log/ufw.log 

找到記錄檔。








沒有留言: