1. 程式人生 > >ubuntu防火牆ufw使用教程

ubuntu防火牆ufw使用教程

檢視ubuntu版本
cat /etc/issue
或者
lsb_release -a

防火牆

由於Linux原始的防火牆工具iptables過於繁瑣,所以ubuntu預設提供了一個基於iptable之上的防火牆工具ufw。
ubuntu 系統預設已安裝ufw。ubuntu 9.10預設的便是UFW防火牆,它已經支援介面操作了。在命令列執行ufw命令就可以看到提示的一系列可進行的操作。

可檢查防火牆的狀態:
ufw status

防火牆版本:
ufw version

開啟/關閉防火牆:
ufw enable|disable

1.安裝
sudo apt-get install ufw

2.啟用
sudo ufw enable
sudo ufw default deny
執行以上兩條命令後,開啟了防火牆,並在系統啟動時自動開啟。關閉所有外部對本機的訪問,但本機訪問外部正常。

3.開啟/禁用
sudo ufw allow|deny [service]

開啟或關閉某個埠,例如:
sudo ufw allow smtp 允許所有的外部IP訪問本機的25/tcp (smtp)埠
sudo ufw allow 22/tcp 允許所有的外部IP訪問本機的22/tcp (ssh)埠
sudo ufw allow 53 允許外部訪問53埠(tcp/udp)
sudo ufw allow from 192.168.1.100 允許此IP訪問所有的本機埠
sudo ufw allow proto udp 192.168.0.1 port 53 to 192.168.0.2 port 53
sudo ufw deny smtp 禁止外部訪問smtp服務
sudo ufw delete allow smtp 刪除上面建立的某條規則

4.檢視防火牆狀態
ufw status

一般使用者,只需如下設定:

apt-get install ufw
ufw enable
ufw default deny

以上三條命令已經足夠安全了,如果你需要開放某些服務,再使用sudo ufw allow開啟。

開啟/關閉防火牆 (預設設定是’disable’)
ufw enable|disable

轉換日誌狀態
ufw logging on|off

設定預設策略 (比如 “mostly open” vs “mostly closed”)
ufw default allow|deny

許 可或者遮蔽埠 (可以在“status” 中檢視到服務列表)。可以用“協議:埠”的方式指定一個存在於/etc/services中的服務名稱,也可以通過包的meta-data。 ‘allow’ 引數將把條目加入 /etc/ufw/maps ,而 ‘deny’ 則相反。基本語法如下:

ufw allow|deny [service]

顯示防火牆和埠的偵聽狀態,參見 /var/lib/ufw/maps。括號中的數字將不會被顯示出來。
ufw status

UFW 使用範例:

允許 53 埠
ufw allow 53

禁用 53 埠
ufw delete allow 53

允許 80 埠
ufw allow 80/tcp

禁用 80 埠
ufw delete allow 80/tcp

允許 smtp 埠
ufw allow smtp

刪除 smtp 埠的許可
ufw delete allow smtp

允許某特定 IP
ufw allow from 192.168.254.254

刪除上面的規則
ufw delete allow from 192.168.254.254

linux 2.4核心以後提供了一個非常優秀的防火牆工具:netfilter/iptables,他免費且功能強大,可以對流入、流出的資訊進行細化控制,它可以實現防火牆、NAT(網路地址翻譯)和資料包的分割等功能。netfilter工作在核心內部,而iptables則是讓使用者定義規則集的表結構。

但是iptables的規則稍微有些“複雜”,因此ubuntu提供了ufw這個設定工具,以簡化iptables的某些設定,其後臺仍然是 iptables。ufw 即uncomplicated firewall的簡稱,一些複雜的設定還是要去iptables。

ufw相關的檔案和資料夾有:

/etc /ufw/:裡面是一些ufw的環境設定檔案,如 before.rules、after.rules、sysctl.conf、ufw.conf,及 for ip6 的 before6.rule 及 after6.rules。這些檔案一般按照預設的設定進行就ok。

若開啟ufw之後,/etc/ufw/sysctl.conf會覆蓋預設的/etc/sysctl.conf檔案,若你原來的/etc/sysctl.conf做了修改,啟動ufw後,若/etc/ufw/sysctl.conf中有新賦值,則會覆蓋/etc/sysctl.conf的,否則還以/etc /sysctl.conf為準。當然你可以通過修改/etc/default/ufw中的“IPT_SYSCTL=”條目來設定使用哪個 sysctrl.conf.

/var/lib/ufw/user.rules 這個檔案中是我們設定的一些防火牆規則,開啟大概就能看明白,有時我們可以直接修改這個檔案,不用使用命令來設定。修改後記得ufw reload重啟ufw使得新規則生效。

下面是ufw命令列的一些示例:

ufw enable/disable:開啟/關閉ufw
ufw status:檢視已經定義的ufw規則
ufw default allow/deny:外來訪問預設允許/拒絕
ufw allow/deny 20:允許/拒絕 訪問20埠,20後可跟/tcp或/udp,表示tcp或udp封包。
ufw allow/deny servicename:ufw從/etc/services中找到對應service的埠,進行過濾。
ufw allow proto tcp from 10.0.1.0/10 to 本機ip port 25:允許自10.0.1.0/10的tcp封包訪問本機的25埠。
ufw delete allow/deny 20:刪除以前定義的"允許/拒絕訪問20埠"的規則


UFW預設策略

預設情況下,UFW將阻止所有傳入連線並允許所有出站連線。 這意味著任何試圖訪問您的伺服器的使用者都將無法連線,除非您專門開啟該埠,而伺服器上執行的所有應用程式和服務都將能夠訪問外部世界。

預設策略在/etc/default/ufw檔案中定義,可以使用sudo ufw default <policy> <chain>

防火牆策略是構建更詳細和使用者定義規則的基礎。 在大多數情況下,最初的UFW預設政策是一個很好的起點。

應用程式配置
使用apt安裝軟體包時,它將向/etc/ufw/applications.d目錄中新增應用程式配置檔案,該目錄描述該服務幷包含UFW設定。

您可以鍵入以下內容列出伺服器上可用的所有應用程式配置檔案

ufw app list

根據系統上安裝的軟體包,輸出將如下所示:

可用應用程式:
OpenSSH

如果您想要查詢有關配置檔案和包含規則的更多資訊,可以使用以下命令:

ufw app info 'OpenSSH'

結果:
Profile: OpenSSH
Title: Secure shell server, an rshd replacement
Description: OpenSSH is a free implementation of the Secure Shell protocol.

Port:
22/tcp

允許SSH連線

在啟用UFW防火牆之前,我們需要新增一個允許傳入SSH連線的規則。 如果您從遠端位置連線到伺服器(幾乎總是如此),並且在明確允許傳入SSH連線之前啟用UFW防火牆,則您將不再能夠連線到您的Ubuntu伺服器。

要配置您的UFW防火牆以允許傳入SSH連線,請鍵入以下命令:

ufw allow ssh

規則已新增
規則已新增 (v6)

如果您將SSH埠更改為自定義埠而不是埠22,則需要開啟該埠。

例如,如果您的ssh守護程序在埠5522上偵聽,那麼您可以使用以下命令來允許該埠上的連線:
ufw allow 5522/tcp

啟用UFW

現在您的UFW防火牆已配置為允許傳入SSH連線,我們可以通過鍵入以下命令啟用它:
ufw enable

允許其他埠上的連線

根據您的伺服器上執行的應用程式和您的特定需求,您需要允許對其他埠的傳入訪問。

下面我們將向您展示一些如何允許傳入連線到一些最常見服務的例子:

開啟埠80 - HTTP

使用以下命令可以允許HTTP連線:
ufw allow http

你可以使用埠號80而不是http:
ufw allow 80/tcp

或者您可以使用應用程式配置檔案,在本例中是'Nginx HTTPS':

sudo ufw allow 'Nginx HTTP'

開啟埠443 - HTTPS

使用以下命令可以允許HTTP連線:
ufw allow https

要實現相同而不是https,您可以使用埠號443:
ufw allow 443/tcp

或者您可以使用應用程式配置檔案,在本例中是'Nginx HTTPS':
ufw allow 'Nginx HTTP'

開啟埠8080

如果執行Tomcat或在埠8080上偵聽的任何其他應用程式以允許傳入連線,請輸入:
ufw allow 8080/tcp

允許埠範圍

UFW允許我們允許訪問埠範圍,而不是允許訪問單個埠。 使用UFW允許埠範圍時,您必須指定協議,即tcp或udp。 例如,如果要允許tcp和udp上的埠從8000到8100,則執行以下命令:
ufw allow 8000:8100/tcp
ufw allow 8000:8100/udp

允許特定的IP地址

如果您希望允許您的家庭計算機上的所有埠使用IP地址55.56.57.58訪問,則需要在IP地址之前指定:
ufw allow from 55.56.57.58允許特定埠上的特定IP地址

要允許在特定埠上訪問,可以使用IP地址為55.56.57.58的工作機器上的埠22,然後您需要指定IP地址後面的任何埠和埠號:
ufw allow from 55.56.57.58 to any port 22

允許子網

允許連線到IP地址的子網的命令與使用單個IP地址時相同,唯一的區別是您需要指定網路掩碼。 例如,如果你想允許訪問從192.168.1.1到192.168.1.254到3306(MySQL)的IP地址,你可以使用這個命令:
ufw allow from 192.168.1.0/24 to any port 3306

允許連線到特定的網路介面

為了允許在特定埠上訪問,我們假設埠3306僅適用於特定的網路介面eth2,那麼您需要指定允許輸入以及網路介面的名稱:
ufw allow in on eth2 to any port 3306

拒絕連線

所有傳入連線的預設策略設定為拒絕,如果您沒有更改它,UFW將阻止所有傳入連線,除非您專門開啟連線。

假設您開啟埠80和443,並且您的伺服器受到33.34.35.0/34網路的攻擊。 要拒絕來自33.34.35.0/34的所有連線,可以使用以下命令:
ufw deny from 33.34.35.0/34

如果您只想拒絕對埠80和443的訪問,則可以使用以下命令:
ufw deny from 23.24.25.0/24 to any port 80
ufw deny from 23.24.25.0/24 to any port 443

寫入拒絕規則與編寫允許規則相同,您只需將允許替換為拒絕。

刪除UFW規則
有兩種不同的方法可以通過規則編號和指定實際規則來刪除UFW規則。

通過規則編號刪除UFW規則更容易,尤其是如果您是UFW的新手。 要首先通過規則編號刪除規則,您需要按數字列出規則,您可以使用以下命令執行此操作:
ufw status numbered


狀態: 啟用

至 動作 來自
- -- --
[ 1] Nginx Full ALLOW IN Anywhere
[ 2] 22/tcp ALLOW IN Anywhere
[ 3] 5522/tcp ALLOW IN Anywhere
[ 4] 80/tcp ALLOW IN Anywhere
[ 5] Nginx HTTP ALLOW IN Anywhere
[ 6] 443/tcp ALLOW IN Anywhere
[ 7] Nginx HTTPS ALLOW IN Anywhere
[ 8] 8080/tcp ALLOW IN Anywhere
[ 9] Nginx Full (v6) ALLOW IN Anywhere (v6)
[10] 22/tcp (v6) ALLOW IN Anywhere (v6)
[11] 5522/tcp (v6) ALLOW IN Anywhere (v6)
[12] 80/tcp (v6) ALLOW IN Anywhere (v6)
[13] Nginx HTTP (v6) ALLOW IN Anywhere (v6)
[14] 443/tcp (v6) ALLOW IN Anywhere (v6)
[15] Nginx HTTPS (v6) ALLOW IN Anywhere (v6)
[16] 8080/tcp (v6) ALLOW IN Anywhere (v6)

要刪除規則編號3,允許連線到埠8080的規則,可以使用以下命令:
ufw delete 2

第二種方法是通過指定實際規則來刪除規則,例如,如果您添加了一條規則以開啟埠8168,則可以使用以下規則將其刪除:
ufw delete allow 8168

禁用UFW
如果因任何原因想停止UFW並停用您可以使用的所有規則:
ufw disable

稍後如果您想要重新啟用UTF並激活所有規則,請輸入:
ufw enable

重置UFW
重置UFW將禁用UFW,並刪除所有活動規則。 如果您想恢復所有更改並重新開始,這很有幫助。

要重置UFW,只需輸入以下命令:
ufw reset

輸出:
所有規則將被重設為安裝時的預設值。要繼續嗎 (y|n)?

總結
您已經學會了如何在Ubuntu伺服器上安裝和配置UFW防火牆。
確保允許系統正常執行所需的所有傳入連線,同時限制所有不必要的連線。

done!

相關推薦

ubuntu防火牆ufw使用教程

檢視ubuntu版本cat /etc/issue或者lsb_release -a 防火牆 由於Linux原始的防火牆工具iptables過於繁瑣,所以ubuntu預設提供了一個基於iptable之上的防火牆工具ufw。ubuntu 系統預設已安裝ufw。ubuntu 9.10預設的便是UFW防火牆,它已經

開啟/關閉ubuntu防火牆ufw

安裝方法 sudo apt-get install ufw 當然,這是有圖形介面的(比較簡陋),在新立得裡搜尋gufw試試…… 使用方法 1 啟用 sudo ufw enable sudo ufw default deny 作用:開

Ubuntu防火牆ufw

ubuntu 9.10預設的是UFW防火牆,已經支援介面操作了。在命令列執行ufw命令就可以看到提示的一系列可進行的操作。 最簡單的一個操作: sudo ufw status可檢查防火牆的狀態,我的返回的是:不活動 sudo ufw version防火牆版本:ufw 0.29-4ubuntu1 Cop

啟動、關閉和設定ubuntu防火牆 ufw 的使用

由於LInux原始的防火牆工具iptables過於繁瑣,所以ubuntu預設提供了一個基於iptable之上的防火牆工具ufw。 ubuntu 9.10預設的便是UFW防火牆,它已經支援介面操作了。在命令列執行ufw命令就可以看到提示的一系列可進行的操作。 最簡單的一個操作:sudo ufw stat

UbuntuUFW設定防火牆

轉自:https://www.digitalocean.com/community/users/hazelnut 介紹 UFW或Uncomplicated Firewall是iptables一個介面,旨在簡化配置防火牆的過程。 雖然iptables是一個可靠而靈活的工具,但

Ubuntu防火牆ufw

原始linux的防火牆是iptables,以為過於繁瑣,各個發行版幾乎都有自己的方案; ubuntu下的防火牆是ufw[ubuntu fireward的縮寫],centos的防火牆是fireward ubuntu下: 啟用或者關閉防火牆 sudo ufw ena

Ubuntu based GNU/Linux 上的防火牆 (ufw) 基本設定

Linux 上設定防火牆iptables 有些功能其實用不到,例如 nat, forward等等的, 而且語法有點複雜,另一套防火牆 ufw (Uncomplicated Firewall ),相對於 iptables 來說,ufw 是真的簡單很多了! ufw其實只是一個 iptables 的前端設定程式,

ubuntuufw詳解--防火牆

LInux原始的防火牆工具iptables由於過於繁瑣,所以ubuntu系統預設提供了一個基於iptable之上的防火牆工具ufw

ubuntu快速入門教程:初次見面

切換 優化 第三方軟件 技術分享 計算 shu 做的 基本 移動設備 1 什麽是ubuntu? Ubuntu(友幫拓、優般圖、烏班圖)是一個以桌面應用為主的開源GNU/Linux操作系統,Ubuntu 是基於Debian GNU/Linux,支持x86、amd64(即x6

阿里雲Web應用防火牆使用教程

什麼是Web應用防火牆 雲盾Web應用防火牆(Web Application Firewall, 簡稱 WAF)基於雲安全大資料能力,用於防禦SQL注入、XSS跨站指令碼、常見Web伺服器外掛漏洞、木馬上傳、非授權核心資源訪問等OWASP常見攻擊,並過濾海量惡意CC攻擊,避免您的網站資產資料洩露

教你如何開啟關閉ubuntu防火牆

教你如何開啟/關閉ubuntu防火牆 安裝方法 sudo apt-get install ufw 當然,這是有圖形介面的(比較簡陋),在新立得裡搜尋gufw試試…… 使用方法 1 啟用 sudo ufw enable sudo ufw default deny

centos和Ubuntu 防火牆設定

centos 7  關閉防火牆:sudo systemctl stop firewalld  開啟防火牆:sudo systemctl start firewalld      // status  狀態     restart 重啟 開機自啟動:sudo system

VMare Workstation 安裝Ubuntu 虛擬機器教程

注:謹此以記錄自己的學習過程,大佬勿噴!謝謝! 1、VMware Workstation,選擇左上角檔案—新建虛擬機器,開始新建一臺虛擬機器,典型的話許多配置為預設設定,因此,這裡我選擇自定義安裝; 2、機硬體相容性選擇預設即可; 3、客戶作業系統選擇稍後安裝作業系統;

ubuntu防火牆操作

目錄  [隱藏]  1 安裝方法 2 使用方法 3 推薦設定 安裝方法 sudo apt-get install ufw 當然,這是有圖形介面的(比較簡陋),在新立得裡搜尋gufw試試…… 使用方法 1 啟用 sudo

Window10系統下安裝Ubuntu雙系統教程及一些問題的解決辦法(重要)

最近接觸Ubuntu,安裝雙系統時踩了不少坑,網上能查到的攻略和安裝教程基本都看的差不多了,有些教程版本太老,解釋得也不是很明確,現在再安裝時可能會把人引入誤區,因此寫一篇安裝指南,閒話少說,開始。 本文安裝標準的雙系統,非虛擬機器,採用U盤安裝方法,grub2引導。 準備

ubuntu系統定製教程

1. 準備工作 從官網下載目標版本ubuntu。測試時使用的是 ubuntu-16.04.3-desktop-amd64.iso檔案 安裝squash檔案系統相關的壓縮和解壓縮工具: sudo apt-get install squashfs-tools 2

ubuntu終極美化教程

主題美化與​終端美化 1.ubuntu上有很多精美的主題。但是個人覺得最好用的主題是mac主題,貼近大眾的消費心理。 mac主題在很多地方都能找到,但是良莠不齊,很多都不能安裝。推薦一個比較靠譜的主題網站。​ sudo apt-get i

Ubuntu の MongoDB 安裝教程及簡單操作

1 MongoDB 首先先來個什麼事MangoDB的簡單定義: MongoDB 是一個基於分散式檔案儲存的資料庫。由 C++ 語言編寫。旨在為 WEB 應用提供可擴充套件的高效能資料儲存解決方案。 MongoDB 是一個介於關係資料庫和非關係

Ubuntu防火牆簡單設定

http://wiki.ubuntu.org.cn/UFW防火牆簡單設定 http://wiki.ubuntu.org.cn/Ufw使用指南 Ubuntu預設安裝內建ufw防火牆,簡單使用如下:  sudo ufw enable 啟用 sudo ufw default deny 設定模式

在虛擬機器中安裝Ubuntu,詳細教程

版權宣告:本文為博主原創文章,請尊重原創,轉載請聯絡博主 前言 之前寫過一篇文章介紹虛擬機器的安裝。 1、最新版超詳細VMware虛擬機器下載安裝教程 附祕鑰 今天就接著來記錄下如何在虛擬機器中安裝Linux系統。 關注微信公眾號:妞妞和喵喵,不定期分享i