談談 ufw
由 wilun 在 四, 12/02/2010 - 18:20 發表
Ufw
目錄 [隱藏]
1 前言
2 命令語法
2.1 啟動 ufw 服務
2.2 關閉 ufw 服務
2.3 阻擋外部進來的服務
2.4 開啟預設提供服務的Port
2.5 狀態查詢
3 設定檔
4 外部連結
前言
目錄 [隱藏]
1 前言
2 命令語法
2.1 啟動 ufw 服務
2.2 關閉 ufw 服務
2.3 阻擋外部進來的服務
2.4 開啟預設提供服務的Port
2.5 狀態查詢
3 設定檔
4 外部連結
前言
ufw 是一個 iptables 的前端設定程式,其名稱為 Uncomplicated Firewall 的簡稱,意謂著「不複雜的防火牆」設定,它的製作目的在於讓一般人很容易的設定 iptables。
要強調的是 ufw 只是一個簡單的 iptables 前端設定工具,無法完全取代 iptables 的所有設定,若想做更複雜的 firewall 設定,還是得回到 iptables 層面。
命令語法
啟動 ufw 服務
# sudo ufw enable
關閉 ufw 服務
# sudo ufw disable
阻擋外部進來的服務
# sudo ufw default deny
開啟預設提供服務的Port
# sudo ufw allow 20 //ftp-data
# sudo ufw allow 21 //ftp
# sudo ufw allow 22 //ssh
# sudo ufw allow 80 //www
...
狀態查詢
# sudo ufw status
設定檔
# sudo ufw enable
關閉 ufw 服務
# sudo ufw disable
阻擋外部進來的服務
# sudo ufw default deny
開啟預設提供服務的Port
# sudo ufw allow 20 //ftp-data
# sudo ufw allow 21 //ftp
# sudo ufw allow 22 //ssh
# sudo ufw allow 80 //www
...
狀態查詢
# sudo ufw status
設定檔
查看 ufw 是否啟動
# /etc/ufw/ufw.conf
#
# set to yes to start on boot
ENABLED=yes /* yes 為開啟,反之 no 則未開啟 */
ufw 規則儲存
/var/lib/ufw/user.rules
# /etc/ufw/ufw.conf
#
# set to yes to start on boot
ENABLED=yes /* yes 為開啟,反之 no 則未開啟 */
ufw 規則儲存
/var/lib/ufw/user.rules
網站來源http://wiki.ubuntu-tw.org/index.php?title=Ufw#.E9.98.BB.E6.93.8B.E5.A4.96.E9.83.A8.E9.80.B2.E4.BE.86.E7.9A.84.E6.9C.8D.E5.8B.99
CreMaker 的生活雜記:談談 ufw
http://cm-life.blogspot.com/2008/05/ufw.html
http://cm-life.blogspot.com/2008/05/ufw.html
有使用過 iptables 防火牆的朋友,相信都會認為這不是件 "好玩" 的事。在 ubuntu 8.04 中一個新的特性就是加入了 ufw 這個東東,它可以簡化 iptables 的設定。
ufw 是 Uncomplicated Firewall 的簡稱,意謂著 "不複雜的防火牆" 設定,ufw 是一個前端程式,骨子里仍然是 iptables,所以使用 ufw 就可以讓我們很容易的設定 iptables。
要強調的是 ufw 只是一個簡單的 iptables 前端定工具,無法完全取代 iptables 的有設定,所以若想做進一步複雜的 firewall 設定,還是得回到 iptables 層面。
另外,ufw 主要是針對由外網連至內部的設定,所以它不會影響你電腦連至外部的任何連結。
個人以為 ufw 適合以下兩個場合使用:
1. 簡單的防火牆設定
2. 個人使用的 desktop 設定
2. 個人使用的 desktop 設定
其實,ufw 的設定真的很簡單,看一下 man ufw 就大概了解其用法了,以下簡單的說明:
● ufw 的設定檔
在 /etc/ufw/ 這個目錄下有著 ufw 的設定檔,如 before.rules、after.rules、sysctl.conf、ufw.conf,另外還有 for ip6 的 before6.rule 及 after6.rules
before.rules、after.rules 及 sysctl.conf 一般照內定的值即可,不用特殊的設定,其詳細內容請自行參照 man ufw 中相關說明。
而 ufw.conf 是用來啟動或是關閉 ufw 之用的,里面就只有這樣的的內容:
# /etc/ufw/ufw.conf
#
#
# set to yes to start on boot
ENABLED=yes
ENABLED=yes
當我們使用 sudo ufw enable,這個檔案就會設為 ENABLE=yes,反之若是執行 sudo ufw disable 的話,這個檔案內容就是 ENABLE=no 了。
另外一個重要的檔案就是 /var/lib/ufw/user.rules 這個檔案了,我們使用 ufw 設定的防火牆內容都是放在這個檔案內(以下會說明)。
● ufw 的參數
不妨自行使用 ufw --help 來看看有那些參數可使用(如附圖一)。
附圖一
由於 ufw 位於 /usr/sbin/ 這個目錄之下,所以要設定時需使用 sudo ufw [參數] 這樣的語法。
介紹幾個重要的參數:
開啟(enable)或停止(disable) ufw
# sudo ufw enable[disable]
# sudo ufw enable[disable]
內定是允許或是禁止
# sudo default allow[deny]
# sudo default allow[deny]
個人建議先使用 sudo ufw default deny 將所有的由外連結至內的連結通通關掉,再使用 ufw allow 開放想開放的內容。
● 設定想開放的 protocol
格式約有以下幾種:
sudo ufw allow [開放的 protocal(port)]
ufw 會去參考 /etc/services 這個檔案的設定,如 smtp 的代號(port)是 25,www 的代號是 80,如果在 /etc/services 中無相關關設定,那麼可用代號(port no)來替代,如 vnc 的代號是 5900,在 /etc/services 中沒設定,我們可用:
# sudo ufw allow 5900
在 protocal 後可加上 tcp 或是 udp,如:
# sudo ufw allow 25/tcp
我們也可指定那些 ip 可連到本機的某個 protocol(port),如
sudo ufw alow proto tcp from 10.0.0.0/8 to 192.168.0.1 port 25
● 範例
若我們想開放本機的 80 及 53 給外部使用,不妨照以下設定:
為方便設定,少打一些 "ufw",所以先切換到 root
# sudo su
# sudo su
# ufw enable
# ufw default deny
# ufw allow 80
# ufw allow 53
# ufw default deny
# ufw allow 80
# ufw allow 53
顯示 ufw 設定(附圖二)
# ufw status
# ufw status
附圖二
● 刪除某一個 ufw 設定規則
ufw 雖然提供一個 delete 用來刪除某一項 ufw 設定規則,但個人覺得不是很好用,其實這些設定規則都放在 /var/lib/ufw/user.rules 這個檔案之中,所以直接改這個檔案是不是比較有效率呢?
修改後記得重新執行:
# sudo su
# ufw disable
# ufw default deny
# ufw enable
# ufw disable
# ufw default deny
# ufw enable
沒有留言:
張貼留言