[完全用 GNU/Linux 工作] 07. 簡易的防火牆

從 2008 年開始 Ubuntu 8.04 LTS 多了個簡單的防火牆「ufw (Uncomplicated Firewall)」,它簡化了 iptable 複雜的指令及參數,讓人們能快速上手,之後更出現了圖形介面的 Gufw (甚至連指令都免了)。原先為了 Ubuntu 而誕生的 ufw 現在也成功移植到基於 Debian 發展的 GNU/Linux (ezgo, Linux Mint) 以及 Arch Linux

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

2013-09-24-gufw-01.png
▲ 2.1.2. 使用前得先用管理者帳號解鎖 (Unlock)。

2013-09-24-gufw-02.png
▲ 2.1.3. 輸入密碼。

2013-09-24-gufw-03.png
▲ 2.1.4. 解鎖後可看到先前自訂的規則,以下為新增規則之範例。

2013-09-24-gufw-04.png
▲ 2.1.5. 可依應用程式制訂規則。

2013-09-24-gufw-05.png
▲ 2.1.6. 也可自行輸入埠口。

2013-09-24-gufw-06.png
▲ 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

留言

Popular Articles

sudo 指令使用說明