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
二、拦截特定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
转载请注明:IT运维空间 » 安全防护 » 使用UFW防火墙拦截特定IP地址
发表评论