2019年6月19日 星期三

108資安-ufw防火牆

ufw防火牆是ubuntu內建的防火牆,使用非常簡易



1. 啟用和停用防火牆
下面這一行指令會啟用防火牆功能,而且,之後的每次開機都會自動載入和啟用的,要注意的是,如果沒有特別的設定的話,ufw 在啟用後,預設是會關閉所有的連入要求的哩 !

$ sudo ufw enable

如果要停用的話,則是用下面這一行,一旦停用後,也會同時停止在開機後自動載入的哩 !

$ sudo ufw disable


2. 允許和關閉連入
下面的第一行指令會讓所有的連入要求都通過,等於防火牆對別台電腦的連接要求都接受的意思,而第二行指令則是不允許任何的連入要求,至於要用那一種,就要看你是先全部都打開再各別設定要封鎖的服務還是全部都先關閉,然後,再依需要來個別開通囉 !

$ sudo ufw default allow
$ sudo ufw default deny


3. 新增防火牆規則
下面幾種是常用的規則新增方式,都可適用在 deny 和 allow 的操作上。

$ sudo ufw allow ssh  ( 使用服務名稱來允許連入,服務名稱請參考 /etc/services 檔案 )
$ sudo ufw allow  in 8080   ( 使用 Port 號來允許連入 )
$ sudo ufw deny out 4662  ( 使用 Port 號來拒絕連出到別台電腦的指定 Port 號 )
$ sudo ufw deny in 4662/udp ( 使用 Port 號來拒絕接受指定 Port 號的 UDP 連入要求 )

允許從哪一段IP進入
$ sudo ufw allow from 163.30.142.25

允許從哪一段IP進入某一port
sudo ufw deny from 192.168.0.1 to any port 22
sudo ufw deny from 192.168.0.7 to any port 22
sudo ufw allow from 192.168.0.0/24 to any port 22 proto tcp

$ sudo ufw deny from 163.30.200.1 to any app OpenSSH
app 可以用
 $ sudo ufw app list
取得


4. 刪除規則防火牆規則
可以用服務名稱增加,但是只能用port刪除,例如:
$ sudo ufw delete deny 80/tcp

指定刪除哪一條規則必須先查出規則的號碼
$ sudo ufw status numbered
顯示如下:
[ 1] 80/tcp                     ALLOW IN    Anywhere
[ 2] 443/tcp                    ALLOW IN    Anywhere
[ 3] 10000                      ALLOW IN    Anywhere
[ 4] 22/tcp                     ALLOW IN    Anywhere
[ 5] Anywhere                   ALLOW IN    163.30.142.25
[ 6] 80/tcp (v6)                ALLOW IN    Anywhere (v6)
[ 7] 443/tcp (v6)               ALLOW IN    Anywhere (v6)
[ 8] 10000 (v6)                 ALLOW IN    Anywhere (v6)
[ 9] 22/tcp (v6)                ALLOW IN    Anywhere (v6)
例如要刪除allow from 163.30.142.25這個規則,就可以使用
sudo ufw delete 5


5. 啟用日誌記錄
如果想知道防火牆到底有沒有用或是規則有沒有達到效果的話,可以用下面的指令來啟用日誌功能,在啟用後,ufw 會把記錄寫到 /var/log/ufw.log 日誌檔。

$ sudo ufw logging on


6. 檢視規則和狀態
除了前面提到的「status numbered」選項之外,ufw 還提供有下面二種選項來供查看 ufw 的規則和狀態哩 !

sudo ufw status
sudo ufw status verbose

設定實例

啟用防火牆
sudo ufw enable
看看 22, 443, 80, 10000等port是否啟用
sudo ufw status numbered
如果沒有該port就加上
sudo ufw allow in xxxx 

1. 將webmin的port改成9999
webmin 分類 / webmin configuration / ports and access
把port  改成9999
用 ssh 連上
先顯示
sudo ufw status numbered
增加9999 port
sudo ufw allow in 9999
刪除 10000 port
sudo ufw delete 3

2. 將ssh 的port 改成 56438
先增加 56438 port 可通 ,以免改完後連不上ssh ,就毀了
sudo ufw allow from 163.30.142.0/25 to any port 56438
sudo ufw allow from 10.48.0.0/16 to any port 56438
sudo ufw allow from 你家裡的IP to any port 56438

用webmin ,servers分類 / ssh server / networking 更改port為 56438
重新用新的port連上
sudo ufw status numbered
刪除 22 port






參考:https://help.ubuntu.com/community/UFW

沒有留言:

張貼留言