Fork me on GitHub

Ubuntu系统防火墙的简单配置

清除原有防火墙配置

sudo iptables -F

创建并编辑配置文件

sudo vi /etc/iptables.up.rules

将下面的配置文件粘贴进vim中并保存退出

# allow out traffic
-A OUTPUT -j ACCEPT

# allow https http
-A INPUT -p tcp --dport 443 -j ACCEPT
-A INPUT -p tcp --dport 80 -j ACCEPT

# allow ssh port login
-A INPUT -p tcp -m state --state NEW --dport 22 -j ACCEPT

# ping
-A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT

# log denied calls
-A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables denied:" --log-level 7

# drop incoming sensitive connections
-A INPUT -p tcp --dport 80 -i eth0 -m state --state NEW -m recent --set
-A INPUT -p tcp --dport 80 -i eth0 -m state --state NEW -m recent --update --seconds 60 --hitcount 150 -j DROP

# reject all other inbound
-A INPUT -j REJECT
-A FORWARD -j REJECT

COMMIT

重载防火墙规则

# 重载
sudo iptables-restore < /etc/iptables.up.rules

# 查看防火墙状态
sudo ufw status

# 开启/关闭防火墙
sudo ufw enable/disable

设置防火墙开机自启动

sudo vi /etc/network/if-up.d/iptables

将下面的配置文件粘贴进vim中并保存退出

#!/bin/sh
iptables-restore /etc/iptables.up.rules

修改权限

sudo chmod +x /etc/network/if-up.d/iptables

安装fail2ban

# 安装
sudo apt-get install fail2ban

# 编辑配置文件
sudo vi /etc/fail2ban/jail.conf

# 查看运行状态
sudo service fail2ban status

# 开启/关闭
sudo service fail2ban start/stop