Monitoring and Managing Firewall/Fail2ban
Monitoring and Managing Firewall/Fail2ban
Implement monitoring and management practices:
# Monitor Fail2ban status
sudo fail2ban-client status
sudo fail2ban-client status sshd
sudo fail2ban-client status apache-auth
# Check banned IPs
sudo fail2ban-client get sshd banned
sudo fail2ban-client get apache-auth banned
# Unban IP address
sudo fail2ban-client set sshd unbanip 203.0.113.50
sudo fail2ban-client set apache-auth unbanip 203.0.113.50
# Monitor firewall logs
sudo tail -f /var/log/ufw.log
sudo journalctl -f -u fail2ban
# Create monitoring script
cat > /usr/local/bin/security-monitor.sh << 'EOF'
#!/bin/bash
echo "=== Firewall Status ==="
sudo ufw status numbered
echo -e "\n=== Fail2ban Status ==="
sudo fail2ban-client status
echo -e "\n=== Currently Banned IPs ==="
for jail in $(sudo fail2ban-client status | grep "Jail list" | sed 's/.*://;s/,//g'); do
echo "Jail: $jail"
sudo fail2ban-client status $jail | grep "Banned IP"
done
echo -e "\n=== Recent Security Events ==="
sudo journalctl -u fail2ban --since "1 hour ago" | tail -20
echo -e "\n=== Active Connections ==="
sudo ss -tunap | grep ESTABLISHED
EOF
sudo chmod +x /usr/local/bin/security-monitor.sh