如何在Ubuntu 16.04上配置和設定防火牆
在這篇文章中,我們將學習如何配置和設定 Ubuntu 16.04 上的 UFW (防火牆)。UFW 代表 Uncomplicated Firewall,它作為 IPTABLES 的介面,簡化了防火牆配置過程。對於初學者來說,學習和配置防火牆規則非常困難,而這將幫助我們保護網路免受未知使用者或機器的攻擊。UFW 基於我們配置的策略(規則)工作。
先決條件
為此,我們需要一個具有 root 許可權的非 root 使用者。
安裝 UFW (防火牆)
UFW 預設情況下已安裝在 Ubuntu 上,如果未安裝,則可以使用以下命令安裝:
$ sudo apt-get install ufw -y Reading package lists... Done Building dependency tree Reading state information... Done The following NEW packages will be installed: ufw 0 upgraded, 1 newly installed, 0 to remove and 88 not upgraded. Need to get 149 kB of archives. After this operation, 838 kB of additional disk space will be used. Get:1 http://in.archive.ubuntu.com/ubuntu xenial/main amd64 ufw all 0.35-0ubuntu2 [149 kB] Fetched 149 kB in 0s (165 kB/s) Preconfiguring packages ... Selecting previously unselected package ufw. (Reading database ... 98515 files and directories currently installed.) Preparing to unpack .../ufw_0.35-0ubuntu2_all.deb .. Unpacking ufw (0.35-0ubuntu2) ... Processing triggers for systemd (229-4ubuntu10) ... Processing triggers for ureadahead (0.100.0-19) ... Processing triggers for man-db (2.7.5-1) ... Setting up ufw (0.35-0ubuntu2) ...
啟用 UFW (防火牆)
以下是啟用 UFW 的命令:
$ sudo ufw enable Command may disrupt existing SSH connections. Proceed with operation (y|n)? y Firewall is active and enabled on system startup
停用 UFW (防火牆)
以下是停用 UFW 防火牆的命令。
$ sudo ufw disable
防火牆已停止並在系統啟動時停用 spesifikasi android
啟用預設策略
作為初學者,我們將首先配置預設策略,它控制和處理與其他規則不匹配的流量。預設情況下,規則將拒絕所有傳入連線,並允許所有傳出連線,這可以阻止其他人嘗試從網際網路訪問這臺機器。
$ sudo ufw default deny incoming Default incoming policy changed to 'deny' (be sure to update your rules accordingly) $ sudo ufw default allow outgoing Default outgoing policy changed to 'allow' (be sure to update your rules accordingly)
啟用 SSH 連線
使用上面的命令,我們停用了所有傳入連線,它將拒絕所有傳入連線,我們需要建立一個規則來明確允許 SSH 傳入連線。
以下是啟用 SSH 傳入連線的命令:
$ sudo ufw allow ssh Rule added Rule added (v6)
透過上述命令,將允許埠 22 的傳入連線。我們可以直接使用埠號 22 來允許 SSH 連線,使用以下命令:
$ sudo ufw allow 22 Skipping adding existing rule Skipping adding existing rule (v6)
但是,如果我們已將 SSH 守護程式配置為使用不同的埠,例如 2022 或 1022,則可以使用以下命令:
$ sudo ufw allow 1022 Rule added Rule added (v6)
檢查 UFW (防火牆) 狀態
以下是檢查防火牆規則當前狀態的命令:
$ sudo ufw status Status: active To Action From -- ------ ---- 22 ALLOW Anywhere 2222 DENY Anywhere 1022 ALLOW Anywhere 22 (v6) ALLOW Anywhere (v6) 2222 (v6) DENY Anywhere (v6) 1022 (v6) ALLOW Anywhere (v6)
為常規埠(HTTP、HTTPS 和 FTP)啟用 UFW
此時,我們將允許其他人連線到伺服器的常規埠,例如 HTTP、HTTPS 和 FTP 埠。
HTTP 埠 80
$ sudo ufw allow 80 Rule added Rule added (v6)
我們可以使用以下命令檢查 UFW (防火牆) 狀態
$ sudo ufw status Status: active To Action From -- ------ ---- 22 ALLOW Anywhere 2222 DENY Anywhere 1022 ALLOW Anywhere 80 ALLOW Anywhere 22 (v6) ALLOW Anywhere (v6) 2222 (v6) DENY Anywhere (v6) 1022 (v6) ALLOW Anywhere (v6) 80 (v6) ALLOW Anywhere (v6)
同樣,我們將使用以下命令分別啟用 HTTPS 和 FTP 埠 (443 和 21)。
$ sudo ufw allow https Rule added Rule added (v6) $ sudo ufw allow ftp Rule added Rule added (v6)
啟用允許特定埠範圍
我們還可以使用 UFW 允許或拒絕特定埠範圍,以允許多個埠而不是單個埠。
以下是啟用特定埠範圍的命令:
$ sudo ufw allow 500:800/tcp Rule added Rule added (v6)
啟用允許特定 IP 地址
如果我們想允許特定機器訪問所有埠,可以使用以下命令。
$ sudo ufw allow from 192.168.100.1 Rule added
如果我們只想允許特定埠,可以使用以下命令。
$ sudo ufw allow from 192.168.100.1 to any port 8080 Rule added
如果我們想啟用特定的子網,例如辦公室網路,可以使用以下命令。
$ sudo ufw allow from 192.168.0.0/24 Rule added
拒絕連線或規則
如果我們想拒絕任何埠或網路,可以使用以下命令來拒絕連線。
$ sudo ufw deny http Rule updated Rule updated (v6)
如果我們想拒絕來自特定網路的所有連線,可以使用以下命令。
$ sudo ufw deny from 192.168.2.1 Rule added
刪除規則
我們可以透過兩種方式刪除規則:一種是使用實際規則,另一種是使用規則編號。
實際規則
可以使用我們使用 allow 命令允許的實際規則來刪除規則。
以下是從 UFW 刪除 HTTP 規則的命令:
$ sudo ufw delete allow http Rule deleted Rule deleted (v6)
規則編號
我們可以使用規則編號來刪除防火牆規則,可以使用以下命令獲取防火牆規則列表。
$ sudo ufw status numbered Status: active To Action From -- ------ ---- [ 1] 2222 DENY IN Anywhere [ 2] 1022 ALLOW IN Anywhere [ 3] 443 ALLOW IN Anywhere [ 4] 21/tcp ALLOW IN Anywhere [ 5] 500:800/tcp ALLOW IN Anywhere [ 6] Anywhere ALLOW IN 192.168.100.1 [ 7] 8080 ALLOW IN 192.168.100.1 [ 8] Anywhere ALLOW IN 192.168.0.0/24 [ 9] Anywhere DENY IN 192.168.2.1 [10] 2222 (v6) DENY IN Anywhere (v6) [11] 1022 (v6) ALLOW IN Anywhere (v6) [12] 443 (v6) ALLOW IN Anywhere (v6) [13] 21/tcp (v6) ALLOW IN Anywhere (v6) [14] 500:800/tcp (v6) ALLOW IN Anywhere (v6)
如果我們想刪除規則 14,則可以使用以下命令刪除規則:
$ sudo ufw delete 14 Deleting: allow 500:800/tcp Proceed with operation (y|n)? y Rule deleted (v6)
在這篇文章中,我們學習瞭如何安裝、啟用和停用 UFW 防火牆。我們還學習瞭如何允許、拒絕和刪除規則,這將幫助我們保護伺服器的安全。
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP