阅读量:311
sudo iptables -A INPUT -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT
sudo iptables -A OUTPUT -p tcp --sport 80 -m state --state ESTABLISHED -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 443 -m state --state NEW,ESTABLISHED -j ACCEPT
sudo iptables -A OUTPUT -p tcp --sport 443 -m state --state ESTABLISHED -j ACCEPT
阻止所有其他入站连接
sudo iptables -P INPUT DROP
日志记录所有被拒绝的连接
sudo iptables -A INPUT -j LOG --log-prefix "IPTables-Dropped: " --log-level 4
3. 保存iptables规则
为了确保在系统重启后规则仍然有效,你需要保存这些规则:
sudo netfilter-persistent save
sudo netfilter-persistent reload
4. 监控日志
你可以使用journalctl来监控iptables的日志:
sudo journalctl -u netfilter-persistent -f
5. 使用更高级的工具
对于更复杂的入侵检测需求,你可以考虑使用像fail2ban这样的工具。fail2ban可以监控日志文件,并根据配置自动封禁恶意IP地址。
安装fail2ban
sudo apt install fail2ban
配置fail2ban
编辑/etc/fail2ban/jail.local文件,添加以下内容:
[DEFAULT]
bantime = 600
findtime = 600
maxretry = 3
[ssh]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
启动fail2ban
sudo systemctl start fail2ban
sudo systemctl enable fail2ban
总结
通过上述步骤,你可以在Debian系统中使用iptables实现基本的入侵检测,并结合fail2ban等工具来增强安全性。记得定期检查和更新你的安全策略,以应对不断变化的威胁。