gtxyzz

使用UFW防火墙拦截特定IP地址

gtxyzz 安全防护 2022-12-18 356浏览 0

UFW(Uncomplicated Firewall)是一个iptables的前端应用程序,尤其适合作为单台服务器或主机的防火墙。它已成为Ubuntu Linux系统默认的防火墙配置工具。对于系统管理员来讲,UFW工具真是简单易用。它是一种创建基于IPv4或IPv6防火墙的快捷方法。

一、拦截特定IP地址

语法:

sudo ufw deny from {ip-address-here} to any

为拦截或拒绝来自192.168.1.5的所有数据包,可以输入:

sudo ufw deny from 192.168.1.5 to any

显示包含已设规则的防火墙状态

为验证新添加的规则,输入:

sudo ufw status numbered

sudo ufw status

使用UFW防火墙拦截特定IP地址

二、拦截特定IP及端口

语法是:

ufw deny from {ip-address-here} to any port {port-number-here}

为阻断或拒绝IP地址202.54.1.5访问80端口的请求

sudo ufw deny from 202.54.1.5 to any port 80

再次使用如下命令进行验证:

sudo ufw status numbered

输出示例:

Status:active  ToActionFrom ------------ [1]192.168.1.1080/tcpALLOWAnywhere [2]192.168.1.1022/tcpALLOWAnywhere [3]AnywhereDENY192.168.1.5 [4]80DENYIN202.54.1.5

三、拦截特定IP、端口以及协议

语法是:

sudo ufw deny proto {tcp|udp} from {ip-address-here} to any port {port-number-here}

例如,阻断黑客IP地址202.54.1.1访问tcp 22端口(FTP协议),可以输入:

sudoufwdenyprototcpfrom202.54.1.1toanyport22 sudoufwstatusnumbered

UFW拦截子网

语法是类似的:

sudoufwdenyprototcpfromsub/nettoanyport22 sudoufwdenyprototcpfrom202.54.1.0/24toanyport22

四、如何删除被拦截的IP地址或再次放行特定P地址

语法是:

sudoufwstatusnumbered sudoufwdeleteNUM

删除编号为4的规则,输入:

sudo ufw delete 4

输出示例:

Deleting: denyfrom202.54.1.5toanyport80 Proceedwithoperation(y|n)?yRuledeleted

五、技巧:UFW放行某个IP

UFW(iptables)规则的匹配基于规则出现的顺序,一旦匹配某个规则,检查便会停止。因此,如果某个规则允许访问TCP端口22(如使用udo ufw allow 22),后面另一个规则指示拦截某个IP地址(如使用 ufw deny proto tcp from 202.54.1.1 to any port 22)。最终,允许访问TCP端口22的规则会被使用,而后一个拦截黑客IP地址 202.54.1.1 却没有被使用。这都是由于规则的顺序造成的。为避免这类问题,你需要编辑 /etc/ufw/before.rules文件,在“# End required lines”之后"Block an IP Address"添加规则。

sudo vi /etc/ufw/before.rules

查找如下所示的行:

# End required lines

添加规则来拦截黑客或垃圾信息传播者:

# Block spammers
-A ufw-before-input -s 178.137.80.191 -j DROP
# Block ip/net (subnet)
-A ufw-before-input -s 202.54.1.0/24 -j DROP

保存并关闭文件。***,让防火墙重新加载配置信息:

sudo ufw reload

继续浏览有关 安全 的文章
发表评论