[完全用 GNU/Linux 工作] 07. 簡易的防火牆
從 2008 年開始 Ubuntu 8.04 LTS 多了個簡單的防火牆「ufw (Uncomplicated Firewall)」,它簡化了 iptable 複雜的指令及參數,讓人們能快速上手,之後更出現了圖形介面的 Gufw (甚至連指令都免了)。原先為了 Ubuntu 而誕生的 ufw 現在也成功移植到基於 Debian 發展的 GNU/Linux (ezgo, Linux Mint) 以及 Arch Linux。
若系統尚未預載,請手動安裝。
1.1.1. 狀態 (status) 查詢,預設為閒置 (inactive)。
1.1.2. 啟動 ufw 服務 (enable)。
1.1.3. 預設 (default) 全部阻擋 (deny)。
1.1.4. 允許 (allow) 所有的 ssh 埠口連線。
1.1.5. 允許來自 127.0.0.1 (本機) 的 3389 埠口連線 (xrdp)。
1.1.6. 狀態查詢,已成功啟動 (active) 並加入自訂規則。
1.2.1. 允許來自 192.168.1.2 上所有連線。
1.2.2. 允許來自 192.168.2.1 ~ 192.168.2.254 的所有 22 埠口連線。
1.2.3. 允許經由 eth0 網卡 (interface) 且來自 192.168.100.100 的 22 埠口連線。
1.2.4. 阻擋來自 110.88.4.5 的 22 埠口連線。
1.2.5. 阻擋來自 27.16.3.1 ~ 27.16.3.254 的所有連線。
圖形介面的 Gufw 必須手動安裝,但不建議純文字環境的 GNU/Linux 安裝,它會與一些桌面環境 (Desktop Environment) 的套件產生相依性,例如 gir1.2-gtk-3.0, notify-osd ... 等。
2.1.1. 開啟 Gufw:
請於應用程式 (Application) -> 系統 (System) -> 管理 (Administration) -> 防火牆設定 (Firewall configuration) 開啟;或直接於終端機輸入指令開啟。
▲ 2.1.2. 使用前得先用管理者帳號解鎖 (Unlock)。
▲ 2.1.3. 輸入密碼。
▲ 2.1.4. 解鎖後可看到先前自訂的規則,以下為新增規則之範例。
▲ 2.1.5. 可依應用程式制訂規則。
▲ 2.1.6. 也可自行輸入埠口。
▲ 2.1.7. 進階設定裡則可依範圍制訂規則。
看完此文後,相信大家都能幫 GNU/Linux 加上一道防護,但 ufw 這面防護罩只適合簡易、單純的環境,若有 NAT 或更進階的使用還請改用 iptable。
1. UFW
若系統尚未預載,請手動安裝。
[ jonny@precise ~ ]
# Debian, Ubuntu
$ sudo aptitude install ufw Enter
# Arch Linux
$ sudo pacman -S ufw Enter
1.1. 基礎操作
1.1.1. 狀態 (status) 查詢,預設為閒置 (inactive)。
[ jonny@precise ~ ]
$ sudo ufw status Enter
Status: inactive
1.1.2. 啟動 ufw 服務 (enable)。
[ jonny@precise ~ ]
$ sudo ufw enable Enter
1.1.3. 預設 (default) 全部阻擋 (deny)。
[ jonny@precise ~ ]
$ sudo ufw default deny Enter
1.1.4. 允許 (allow) 所有的 ssh 埠口連線。
[ jonny@precise ~ ]
$ sudo ufw allow ssh Enter
1.1.5. 允許來自 127.0.0.1 (本機) 的 3389 埠口連線 (xrdp)。
[ jonny@precise ~ ]
$ sudo ufw allow from 127.0.0.1 to any port 3389 Enter
1.1.6. 狀態查詢,已成功啟動 (active) 並加入自訂規則。
[ jonny@precise ~ ]
$ sudo ufw status Enter
Status: active
To Action From
-- ------ ----
22 ALLOW Anywhere
3389 ALLOW 127.0.0.1
1.2. 進階使用
1.2.1. 允許來自 192.168.1.2 上所有連線。
[ jonny@precise ~ ]
$ sudo ufw allow from 192.168.1.2 Enter
1.2.2. 允許來自 192.168.2.1 ~ 192.168.2.254 的所有 22 埠口連線。
[ jonny@precise ~ ]
$ sudo ufw allow from 192.168.2.1/24 to any port 22 Enter
1.2.3. 允許經由 eth0 網卡 (interface) 且來自 192.168.100.100 的 22 埠口連線。
[ jonny@precise ~ ]
$ sudo ufw allow in on eth0 from 192.168.100.100 to any port 22 Enter
1.2.4. 阻擋來自 110.88.4.5 的 22 埠口連線。
[ jonny@precise ~ ]
$ sudo ufw deny from 110.88.4.5 to any port 22 Enter
1.2.5. 阻擋來自 27.16.3.1 ~ 27.16.3.254 的所有連線。
[ jonny@precise ~ ]
$ sudo ufw deny from 27.16.3.0/24 Enter
2. Gufw
圖形介面的 Gufw 必須手動安裝,但不建議純文字環境的 GNU/Linux 安裝,它會與一些桌面環境 (Desktop Environment) 的套件產生相依性,例如 gir1.2-gtk-3.0, notify-osd ... 等。
[ jonny@precise ~ ]
# Debian, Ubuntu
$ sudo aptitude install gufw Enter
# Arch Linux
$ sudo pacman -S gufw Enter
2.1. 圖形操作
2.1.1. 開啟 Gufw:
請於應用程式 (Application) -> 系統 (System) -> 管理 (Administration) -> 防火牆設定 (Firewall configuration) 開啟;或直接於終端機輸入指令開啟。
[ jonny@precise ~ ]
$ gufw Enter
▲ 2.1.2. 使用前得先用管理者帳號解鎖 (Unlock)。
▲ 2.1.3. 輸入密碼。
▲ 2.1.4. 解鎖後可看到先前自訂的規則,以下為新增規則之範例。
▲ 2.1.5. 可依應用程式制訂規則。
▲ 2.1.6. 也可自行輸入埠口。
▲ 2.1.7. 進階設定裡則可依範圍制訂規則。
看完此文後,相信大家都能幫 GNU/Linux 加上一道防護,但 ufw 這面防護罩只適合簡易、單純的環境,若有 NAT 或更進階的使用還請改用 iptable。
本文同步發佈於 iT 邦幫忙。
站內連結:
★完全用 GNU/Linux 工作
資料來源:
★ CreMaker 的生活雜記: 談談 ufw
★ ufw in Launchpad
★ UFW - Community Ubuntu Documentation
★ Gufw - Community Ubuntu Documentation
★ Uncomplicated Firewall - ArchWiki
★ UFW Essentials: Common Firewall Rules and Commands | DigitalOcean
留言
張貼留言
喜歡這篇文章嗎?歡迎在底下留言讓凍仁知道。😉