如何在 Ubuntu 18.04 上拒绝除 SSH 端口 22 之外的所有传入端口

检查当前防火墙状态

检查防火墙状态。
默认情况下,UFW防火墙将被禁用:

$ sudo ufw status
Status: inactive

阻止所有传入流量

首先,我们可以使用以下Linux命令阻止所有传入流量:

$ sudo ufw default deny incoming
Default incoming policy changed to 'deny'
(be sure to update your rules accordingly)

允许SSH传入流量

根据我们的需求,我们可以启用来自所有来源的SSH来电流量:

$ sudo ufw allow OpenSSH

另一种选择是只允许特定的源IP地址连接到我们的端口22.例如,让我们只允许“192.168.1.1”IP地址:

$ sudo ufw allow from 192.168.1.1 to any port 22 proto tcp

或者,我们可以允许整个子网。
例如

$ sudo ufw allow from 192.168.1.0/24 to any port 22 proto tcp

启用防火墙

请注意,UFW不会断开当前SSH连接与UFW防火墙的会话的连接。
所有其他SSH连接,可能会断开连接:

$ sudo ufw enable
Command may disrupt existing ssh connections. Proceed with operation (y|n)? y
Firewall is active and enabled on system startup

检查状态

$ sudo ufw status verbose
Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), disabled (routed)
New profiles: skip
To                         Action      From
--                         ------      ---
22/tcp (OpenSSH)           ALLOW IN    Anywhere                  
22/tcp (OpenSSH (v6))      ALLOW IN    Anywhere (v6)
日期:2020-07-07 20:55:17 来源:oir作者:oir