一、iptables
1、升級(jí)更新ubuntu
sudo apt-get update && sudo apt-get upgrade
2、清空當(dāng)前iptables規(guī)則:
sudo iptables -F
3、編寫iptables配置文件
sudo vi /etc/iptables.up.rules
配置文件內(nèi)容:
*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協(xié)議下請(qǐng)求的連接
-A INPUT -p tcp -m state --state NEW --dport 39999 -j ACCEPT
#只允許ssh通過39999端口號(hào)登陸
-A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
#允許外網(wǎng)的服務(wù)器ping當(dāng)前服務(wù)器
-A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables denied:" --log-level 7
#記錄被拒絕的請(qǐng)求
-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
#攔截可疑的訪問信息(如果某個(gè)ip對(duì)我們的80端口在60s內(nèi)發(fā)出了超過150次請(qǐng)求,我們就將其攔截)
-A INPUT -j REJECT
-A FORWARD -j REJECT
#拒絕所有其他進(jìn)入服務(wù)器的流量
COMMIT
4、告訴iptables這個(gè)配置文件的位置。
sudo iptables-restore</etc/iptables.up.rules
5、查看防火墻有沒有被激活
sudo ufw status

目前沒有被激活
6、激活ufw
sudo ufw enable

此時(shí)防火墻為激活狀態(tài)
7、創(chuàng)建開機(jī)啟動(dòng)
編輯腳本
sudo vi /etc/network/if-up.d/iptables
腳本內(nèi)容:
#!/bin/sh
iptables-restore /etc/iptables.up.rules
給腳本添加執(zhí)行權(quán)限
sudo chmod +x /etc/network/if-up.d/iptables
二、fail2ban
一個(gè)防御性的動(dòng)作庫,通過監(jiān)控系統(tǒng)的日志文件,根據(jù)檢測到的任何可疑的行為,觸發(fā)不同的防御動(dòng)作。如:對(duì)可疑行為的目標(biāo)執(zhí)行“ip鎖定”。
1、安裝fail2ban
sudo apt-get install fail2ban
2、打開配置文件
sudo vi /etc/fail2ban/jail.conf
3、查看fail2ban是否在運(yùn)行
sudo service fail2ban status
4、停掉/開始
sudo service fail2ban stop/start