/etc/sysconfig/iptables:
*filter :INPUT DROP [0:0] :FORWARD DROP [0:0] :OUTPUT ACCEPT [0:0] :LOGGING - [0:0] -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT -A INPUT -p icmp -j ACCEPT -A INPUT -i lo -j ACCEPT # here you allow the ssh/22 connections you need -A INPUT -p tcp -m state --state NEW -m tcp -s IP.YOU.WANT.TOALLOW --dport 22 -j ACCEPT # remaining 22/ssh connections are sent to logging -A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j LOGGING # recieve and log -A LOGGING -m limit --limit 6/min --limit-burst 3 -j LOG --log-prefix "[iptables dropped] " # drop for real -A LOGGING -j DROP COMMIT
/etc/rsyslog.d/iptables.conf:
# lets log the dropped connections into it's own file :msg,contains,"[iptables dropped]" /var/log/iptables.log # stop processing & stop
/etc/logrotate.d/iptables.conf:
/var/log/iptables.log { rotate 14 weekly missingok compress delaycompress postrotate /usr/bin/systemctl kill -s HUP rsyslog.service >/dev/null 2>&1 || true endscript }