新聞中心
正確配置的防火墻是整個(gè)系統(tǒng)安全性最重要的方面之一。 默認(rèn)情況下,ubuntu附帶一個(gè)名為UFW(簡(jiǎn)單防火墻)的防火墻配置工具。UFW是管理iptables防火墻規(guī)則的一個(gè)用戶友好的前端,它的主要目標(biāo)是使管理iptables更容易,或者如其名所說,簡(jiǎn)單。

在句容等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供網(wǎng)站設(shè)計(jì)制作、網(wǎng)站設(shè)計(jì) 網(wǎng)站設(shè)計(jì)制作按需網(wǎng)站制作,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站設(shè)計(jì),網(wǎng)絡(luò)營銷推廣,成都外貿(mào)網(wǎng)站建設(shè),句容網(wǎng)站建設(shè)費(fèi)用合理。
先決條件
安裝UFW
ufw防火墻應(yīng)該默認(rèn)安裝在Ubuntu 18.04中,但是如果它沒有安裝在你的系統(tǒng)上,你可以通過鍵入以下命令來安裝它:
sudo apt install ufw
檢查UFW狀態(tài)
安裝完成后,您可以使用以下命令檢查UFW的狀態(tài):
sudo ufw status verbose
UFW在默認(rèn)情況下是禁用的,如果您剛剛安裝或從未激活過UFW,則輸出如下所示:
輸出
Status: inactive
如果UFW被激活,輸出將如下所示:
狀態(tài):激活
日志: on (low)
默認(rèn):deny (incoming), allow (outgoing), disabled (routed)
新建配置文件: skip
至 動(dòng)作 來自
- -- --
80,443/tcp (Nginx Full) ALLOW IN Anywhere
80,443/tcp (Nginx Full (v6)) ALLOW IN Anywhere (v6)
UFW默認(rèn)策略
默認(rèn)情況下,UFW將阻止所有傳入連接并允許所有出站連接。 這意味著任何試圖訪問您的服務(wù)器的用戶都將無法連接,除非您專門打開該端口,而服務(wù)器上運(yùn)行的所有應(yīng)用程序和服務(wù)都將能夠訪問外部世界。
默認(rèn)策略在/etc/default/ufw文件中定義,可以使用sudo ufw default
防火墻策略是構(gòu)建更詳細(xì)和用戶定義規(guī)則的基礎(chǔ)。 在大多數(shù)情況下,最初的UFW默認(rèn)政策是一個(gè)很好的起點(diǎn)。
應(yīng)用程序配置
使用apt安裝軟件包時(shí),它將向/etc/ufw/applications.d目錄中添加應(yīng)用程序配置文件,該目錄描述該服務(wù)并包含UFW設(shè)置。
您可以鍵入以下內(nèi)容列出服務(wù)器上可用的所有應(yīng)用程序配置文件
sudo ufw app list
根據(jù)系統(tǒng)上安裝的軟件包,輸出將如下所示:
可用應(yīng)用程序:
CUPS
Nginx Full
Nginx HTTP
Nginx HTTPS
Postfix
Postfix SMTPS
Postfix Submission
如果您想要查找有關(guān)配置文件和包含規(guī)則的更多信息,可以使用以下命令:
sudo ufw app info 'Nginx Full'
配置: Nginx Full
標(biāo)題:Web Server (Nginx, HTTP + HTTPS)
描述: Small, but very powerful and efficient web server
端口:
80,443/tcp
正如您從上面的輸出中看到'Nginx Full'配置文件打開端口80和443,
允許SSH連接
在啟用UFW防火墻之前,我們需要添加一個(gè)允許傳入SSH連接的規(guī)則。 如果您從遠(yuǎn)程位置連接到服務(wù)器(幾乎總是如此),并且在明確允許傳入SSH連接之前啟用UFW防火墻,則您將不再能夠連接到您的Ubuntu服務(wù)器。
要配置您的UFW防火墻以允許傳入SSH連接,請(qǐng)鍵入以下命令:
sudo ufw allow ssh
規(guī)則已添加
規(guī)則已添加 (v6)
如果您將SSH端口更改為自定義端口而不是端口22,則需要打開該端口。 例如,如果您的ssh守護(hù)進(jìn)程在端口5522上偵聽,那么您可以使用以下命令來允許該端口上的連接:
sudo ufw allow 5522/tcp
啟用UFW
現(xiàn)在您的UFW防火墻已配置為允許傳入SSH連接,我們可以通過鍵入以下命令啟用它:
sudo ufw enable
在系統(tǒng)啟動(dòng)時(shí)啟用和激活防火墻
輸出:
Command may disrupt existing ssh connections. Proceed with operation (y|n)? y
Firewall is active and enabled on system startup
您將被警告啟用防火墻可能會(huì)破壞現(xiàn)有的ssh連接,只需鍵入y并按Enter鍵。
允許其他端口上的連接
根據(jù)您的服務(wù)器上運(yùn)行的應(yīng)用程序和您的特定需求,您需要允許對(duì)其他端口的傳入訪問。
下面我們將向您展示一些如何允許傳入連接到一些最常見服務(wù)的例子:
打開端口80 - HTTP
使用以下命令可以允許HTTP連接:
sudo ufw allow http
你可以使用端口號(hào)80而不是http:
sudo ufw allow 80/tcp
或者您可以使用應(yīng)用程序配置文件,在本例中是'Nginx HTTPS':
sudo ufw allow 'Nginx HTTP'
打開端口443 - HTTPS
使用以下命令可以允許HTTP連接:
sudo ufw allow https
要實(shí)現(xiàn)相同而不是https,您可以使用端口號(hào)443:
sudo ufw allow 443/tcp
或者您可以使用應(yīng)用程序配置文件,在本例中是'Nginx HTTPS':
sudo ufw allow 'Nginx HTTP'
打開端口8080
如果運(yùn)行Tomcat或在端口8080上偵聽的任何其他應(yīng)用程序以允許傳入連接,請(qǐng)輸入:
sudo ufw allow 8080/tcp
允許端口范圍
UFW允許我們?cè)试S訪問端口范圍,而不是允許訪問單個(gè)端口。 使用UFW允許端口范圍時(shí),您必須指定協(xié)議,即tcp或udp。 例如,如果要允許tcp和udp上的端口從8000到8100,則運(yùn)行以下命令:
sudo ufw allow 8000:8100/tcp
sudo ufw allow 8000:8100/udp
允許特定的IP地址
如果您希望允許您的家庭計(jì)算機(jī)上的所有端口使用IP地址55.56.57.58訪問,則需要在IP地址之前指定:
sudo ufw allow from 55.56.57.58允許特定端口上的特定IP地址
要允許在特定端口上訪問,可以使用IP地址為55.56.57.58的工作機(jī)器上的端口22,然后您需要指定IP地址后面的任何端口和端口號(hào):
sudo ufw allow from 55.56.57.58 to any port 22
允許子網(wǎng)
允許連接到IP地址的子網(wǎng)的命令與使用單個(gè)IP地址時(shí)相同,唯一的區(qū)別是您需要指定網(wǎng)絡(luò)掩碼。 例如,如果你想允許訪問從192.168.1.1到192.168.1.254到3306(MySQL)的IP地址,你可以使用這個(gè)命令:
sudo ufw allow from 192.168.1.0/24 to any port 3306
允許連接到特定的網(wǎng)絡(luò)接口
為了允許在特定端口上訪問,我們假設(shè)端口3306僅適用于特定的網(wǎng)絡(luò)接口eth2,那么您需要指定允許輸入以及網(wǎng)絡(luò)接口的名稱:
sudo ufw allow in on eth2 to any port 3306
拒絕連接
所有傳入連接的默認(rèn)策略設(shè)置為拒絕,如果您沒有更改它,UFW將阻止所有傳入連接,除非您專門打開連接。
假設(shè)您打開端口80和443,并且您的服務(wù)器受到33.34.35.0/34網(wǎng)絡(luò)的攻擊。 要拒絕來自33.34.35.0/34的所有連接,可以使用以下命令:
sudo ufw deny from 33.34.35.0/34
如果您只想拒絕對(duì)端口80和443的訪問,則可以使用以下命令:
sudo ufw deny from 23.24.25.0/24 to any port 80
sudo ufw deny from 23.24.25.0/24 to any port 443
寫入拒絕規(guī)則與編寫允許規(guī)則相同,您只需將允許替換為拒絕。
刪除UFW規(guī)則
有兩種不同的方法可以通過規(guī)則編號(hào)和指定實(shí)際規(guī)則來刪除UFW規(guī)則。
通過規(guī)則編號(hào)刪除UFW規(guī)則更容易,尤其是如果您是UFW的新手。 要首先通過規(guī)則編號(hào)刪除規(guī)則,您需要按數(shù)字列出規(guī)則,您可以使用以下命令執(zhí)行此操作:
sudo ufw status numbered
狀態(tài): 激活
至 動(dòng)作 來自
- -- --
[ 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)
要?jiǎng)h除規(guī)則編號(hào)3,允許連接到端口8080的規(guī)則,可以使用以下命令:
sudo ufw delete 2
第二種方法是通過指定實(shí)際規(guī)則來刪除規(guī)則,例如,如果您添加了一條規(guī)則以打開端口8168,則可以使用以下規(guī)則將其刪除:
sudo ufw delete allow 8168
禁用UFW
如果因任何原因想停止UFW并停用您可以使用的所有規(guī)則:
sudo ufw disable稍后如果您想要重新啟用UTF并激活所有規(guī)則,請(qǐng)輸入:
sudo ufw enable
重置UFW
重置UFW將禁用UFW,并刪除所有活動(dòng)規(guī)則。 如果您想恢復(fù)所有更改并重新開始,這很有幫助。
要重置UFW,只需輸入以下命令:
sudo ufw reset
所有規(guī)則將被重設(shè)為安裝時(shí)的默認(rèn)值。要繼續(xù)嗎 (y|n)?
總結(jié)
您已經(jīng)學(xué)會(huì)了如何在Ubuntu 18.04服務(wù)器上安裝和配置UFW防火墻。 確保允許系統(tǒng)正常運(yùn)行所需的所有傳入連接,同時(shí)限制所有不必要的連接。
如果您有任何問題,請(qǐng)隨時(shí)在下面留言。
本文名稱:如何在Ubuntu18.04上使用UFW設(shè)置防火墻
文章源于:http://www.5511xx.com/article/dpecdje.html


咨詢
建站咨詢
