在Linux系统中,实现入侵检测可以通过多种方式,其中最常见的是使用iptables和fail2ban。以下是具体的步骤:
安装iptables:
sudo apt-get update
sudo apt-get install iptables
设置默认策略:
sudo iptables -P INPUT DROP
sudo iptables -P FORWARD DROP
sudo iptables -P OUTPUT ACCEPT
允许必要的流量:
sudo iptables -A INPUT -i lo -j ACCEPT
sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT # SSH
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT # HTTP
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT # HTTPS
记录可疑活动:
sudo iptables -A INPUT -m limit --limit 5/min -j LOG --log-prefix "IPTables-Dropped: " --log-level 4
sudo iptables -A INPUT -j DROP
fail2ban是一个基于iptables的入侵防御软件框架,它可以监控日志文件并根据配置的规则自动封禁恶意IP地址。
安装fail2ban:
sudo apt-get update
sudo apt-get 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
查看fail2ban状态:
sudo fail2ban-client status ssh
除了iptables和fail2ban,还有其他一些入侵检测工具可以使用:
通过以上步骤,你可以在Linux系统中实现基本的入侵检测和防御。