一、iptables
1、升级更新ubuntu
sudo apt-get update && sudo apt-get upgrade
2、清空当前iptables规则:
sudo iptables -F
3、编写iptables配置文件
sudo vi /etc/iptables.up.rules
配置文件内容:
*filter
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
#允许所有建立起来的连接
-A OUTPUT -j ACCEPT
#允许所有出去的流量
-A INPUT -p tcp --dport 443 -j ACCEPT
-A INPUT -p tcp --dport 80 -j ACCEPT
#允许http和https协议下请求的连接
-A INPUT -p tcp -m state --state NEW --dport 39999 -j ACCEPT
#只允许ssh通过39999端口号登陆
-A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
#允许外网的服务器ping当前服务器
-A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables denied:" --log-level 7
#记录被拒绝的请求
-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
#拦截可疑的访问信息(如果某个ip对我们的80端口在60s内发出了超过150次请求,我们就将其拦截)
-A INPUT -j REJECT
-A FORWARD -j REJECT
#拒绝所有其他进入服务器的流量
COMMIT
4、告诉iptables这个配置文件的位置。
sudo iptables-restore</etc/iptables.up.rules
5、查看防火墙有没有被激活
sudo ufw status
6、激活ufw
sudo ufw enable
7、创建开机启动
编辑脚本
sudo vi /etc/network/if-up.d/iptables
脚本内容:
#!/bin/sh
iptables-restore /etc/iptables.up.rules
给脚本添加执行权限
sudo chmod +x /etc/network/if-up.d/iptables
二、fail2ban
一个防御性的动作库,通过监控系统的日志文件,根据检测到的任何可疑的行为,触发不同的防御动作。如:对可疑行为的目标执行“ip锁定”。
1、安装fail2ban
sudo apt-get install fail2ban
2、打开配置文件
sudo vi /etc/fail2ban/jail.conf
3、查看fail2ban是否在运行
sudo service fail2ban status
4、停掉/开始
sudo service fail2ban stop/start