ufw是基于iptable之上的防火墙工具,轻量简单,实乃居家必备、阻挡攻击之神器。web应用只需重新定义400、404页面, 加入一行代码即可阻挡部分恶意攻击。
安装
centos: yum install ufw
ubuntu: apt-get install ufw
开启服务
ufw规则默认全部禁止, 为了开启时不断开ssh,同时默认全部允许
ufw enable && ufw default allow
全局开关
# 全部允许
ufw default allow
# 全部拒绝(默认)
ufw default deny
查看状态
ufw status
拒绝某个端口
ufw deny 53/tcp
# 删除此条规则
ufw delete deny 53/tcp
允许某个端口
ufw allow 53/tcp
# 删除此条规则
ufw delete allow 53/tcp
拒绝某个ip
ufw deny from 192.168.1.1
# 删除此条规则
ufw delete deny from 192.168.1.1
允许某个ip
ufw allow from 192.168.1.1
# 删除此条规则
ufw delete allow from 192.168.1.1
flask示例[对访问404页面的ip实施拒绝]
@app.errorhandler(404)
def page_not_found(e):
ip = request.remote_addr
os.system(f"sudo ufw deny from {ip}")
return b"good bye"