Scrollout F1 je snadno použitelný, již upravený e-mailový firewall (brána) určený pro správce e-mailových systémů Linux a Windows, který nabízí bezplatnou antispamovou a antivirovou ochranu zaměřenou na zabezpečení stávajících e-mailových serverů, starých i nových, jako jsou Microsoft Exchange, Lotus Domino, Postfix, Exim, Sendmail, Qmail a další služby.
Díky vestavěným vícevrstvým úrovním zabezpečení se náročnost konfigurace rovná konfiguraci autorádia. Kombinuje jednoduchost s účinnou ochranou pomocí výkonného otevřeného zdroje s další sadou pravidel a filtrů.
Obvyklý postup pro úpravu iptables pravidel je použití nástroje iptables-persistent, uložení konfigurace iptables-save > /etc/iptables/rules.v4 případně iptables-save > /etc/iptables/rules.v6. Odkud je následně konfigurace iptables načítána ručně nebo pomocí volání systemctl po startu operačního systému. U antispam firewallu tento postup ale nefunguje.
Obsah
ScrollOut F1 antispam firewallu default
user@asf:~# iptables -S -P INPUT DROP -P FORWARD DROP -P OUTPUT ACCEPT -N DDOSDROP -N INVALID -N INVDROP -N SYNATTACK -N f2b-nginx-http-auth -N f2b-ssh -N f2b-sshd -N fail2ban-postfix -N fail2ban-spam -N fail2ban-spam_bulk -N fail2ban-spam_light -N fail2ban-spam_malware -N fail2ban-spam_zero -A INPUT -p tcp -m multiport --dports 25,465 -j fail2ban-spam_light -A INPUT -p tcp -m multiport --dports 25,465 -j fail2ban-spam_bulk -A INPUT -p tcp -m multiport --dports 25,465 -j fail2ban-spam_malware -A INPUT -p tcp -m multiport --dports 25,465 -j fail2ban-spam_zero -A INPUT -p tcp -m multiport --dports 25,465 -j fail2ban-spam -A INPUT -p tcp -m multiport --dports 22 -j f2b-ssh -A INPUT -p tcp -m multiport --dports 25,465 -j fail2ban-postfix -A INPUT -p tcp -m multiport --dports 80,443 -j f2b-nginx-http-auth -A INPUT -p tcp -m multiport --dports 22 -j f2b-sshd -A INPUT -p tcp -m multiport --dports 25,465 -j fail2ban-spam_bulk -A INPUT -p tcp -m multiport --dports 25,465 -j fail2ban-spam_malware -A INPUT -p tcp -m multiport --dports 25,465 -j fail2ban-spam_light -A INPUT -p tcp -m multiport --dports 25,465 -j fail2ban-spam_zero -A INPUT -p tcp -m multiport --dports 25,465 -j fail2ban-spam -A INPUT -p tcp -m multiport --dports 22 -j f2b-ssh -A INPUT -p tcp -m multiport --dports 25,465 -j fail2ban-postfix -A INPUT -p tcp -m multiport --dports 80,443 -j f2b-nginx-http-auth -A INPUT -p tcp -m multiport --dports 22 -j f2b-sshd -A INPUT -i lo -j ACCEPT -A INPUT -s 127.0.0.0/8 ! -i lo -j DROP -A INPUT ! -i lo -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -j SYNATTACK -A INPUT ! -i lo -p tcp -j INVALID -A INPUT -p icmp -m iprange --src-range 10.0.0.0-10.255.255.255 -j ACCEPT -A INPUT -p icmp -m iprange --src-range 192.168.0.0-192.168.255.255 -j ACCEPT -A INPUT -p icmp -m iprange --src-range 172.16.0.0-172.255.255.255 -j ACCEPT -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT -A INPUT -p tcp -m multiport --dports 22,25,80,443,143,993,465,587 -m iprange --src-range 127.0.0.0-127.255.255.255 -j ACCEPT -A INPUT -p tcp -m multiport --dports 22,25,80,443,143,993,465,587 -m iprange --src-range 10.0.0.0-10.255.255.255 -j ACCEPT -A INPUT -p tcp -m multiport --dports 22,25,80,443,143,993,465,587 -m iprange --src-range 192.168.0.0-192.168.255.255 -j ACCEPT -A INPUT -p tcp -m multiport --dports 22,25,80,443,143,993,465,587 -m iprange --src-range 172.16.0.0-172.255.255.255 -j ACCEPT -A INPUT -p tcp -m multiport --dports 8080 -m iprange --src-range 127.0.0.0-127.255.255.255 -j ACCEPT -A INPUT -p tcp -m multiport --dports 8080 -m iprange --src-range 10.0.0.0-10.255.255.255 -j ACCEPT -A INPUT -p tcp -m multiport --dports 8080 -m iprange --src-range 192.168.0.0-192.168.255.255 -j ACCEPT -A INPUT -p tcp -m multiport --dports 8080 -m iprange --src-range 172.16.0.0-172.255.255.255 -j ACCEPT -A INPUT -p udp -m multiport --dports 53,5353,24441 -m iprange --src-range 127.0.0.0-127.255.255.255 -j ACCEPT -A INPUT -p udp -m multiport --dports 53,5353,24441 -m iprange --src-range 10.0.0.0-10.255.255.255 -j ACCEPT -A INPUT -p udp -m multiport --dports 53,5353,24441 -m iprange --src-range 192.168.0.0-192.168.255.255 -j ACCEPT -A INPUT -p udp -m multiport --dports 53,5353,24441 -m iprange --src-range 172.16.0.0-172.255.255.255 -j ACCEPT -A INPUT -p udp -m multiport --dports 53,4500,6277,24441,33434:33534 -m iprange --src-range 127.0.0.0-127.255.255.255 -j ACCEPT -A INPUT -p udp -m multiport --dports 53,4500,6277,24441,33434:33534 -m iprange --src-range 10.0.0.0-10.255.255.255 -j ACCEPT -A INPUT -p udp -m multiport --dports 53,4500,6277,24441,33434:33534 -m iprange --src-range 192.168.0.0-192.168.255.255 -j ACCEPT -A INPUT -p udp -m multiport --dports 53,4500,6277,24441,33434:33534 -m iprange --src-range 172.16.0.0-172.255.255.255 -j ACCEPT -A INPUT -p esp -j ACCEPT -A INPUT -p udp -m udp --sport 500 --dport 500 -j ACCEPT -A INPUT -p udp -m udp --sport 4500 --dport 4500 -j ACCEPT -A INPUT -s 123.234.234.0/22 ! -i lo -p tcp -m multiport --dports 22,25,80,443,143,993,465,587 -m conntrack --ctstate NEW -m limit --limit 50/sec --limit-burst 100 -j ACCEPT -A INPUT -s 123.234.234.0/22 ! -i lo -p tcp -m multiport --dports 8080 -m conntrack --ctstate NEW -m limit --limit 50/sec --limit-burst 100 -j ACCEPT -A INPUT -s 123.234.234.0/22 ! -i lo -p udp -m multiport --dports 53,5353,24441 -m conntrack --ctstate NEW -m limit --limit 2500/sec --limit-burst 3000 -j ACCEPT -A INPUT -s 10.0.0.0/8 ! -i lo -p tcp -m multiport --dports 22,25,80,443,143,993,465,587 -m conntrack --ctstate NEW -m limit --limit 50/sec --limit-burst 100 -j ACCEPT -A INPUT -s 10.0.0.0/8 ! -i lo -p tcp -m multiport --dports 8080 -m conntrack --ctstate NEW -m limit --limit 50/sec --limit-burst 100 -j ACCEPT -A INPUT -s 10.0.0.0/8 ! -i lo -p udp -m multiport --dports 53,5353,24441 -m conntrack --ctstate NEW -m limit --limit 2500/sec --limit-burst 3000 -j ACCEPT -A INPUT ! -i lo -p tcp -m multiport --dports 10024,10025,10026,10027,10028,8080 -j DROP -A INPUT -p tcp -m tcp --dport 22 -m conntrack --ctstate NEW -m recent --set --name DEFAULT --mask 255.255.255.255 --rsource -A INPUT -p tcp -m tcp --dport 22 -m conntrack --ctstate NEW -m recent --update --seconds 600 --hitcount 5 --name DEFAULT --mask 255.255.255.255 --rsource -j DROP -A INPUT ! -i lo -m conntrack --ctstate NEW -m connlimit --connlimit-above 50 --connlimit-mask 32 --connlimit-saddr -j DDOSDROP -A INPUT ! -i lo -m conntrack --ctstate NEW -m connlimit --connlimit-above 100 --connlimit-mask 24 --connlimit-saddr -j DDOSDROP -A INPUT ! -i lo -m conntrack --ctstate NEW -m connlimit --connlimit-above 250 --connlimit-mask 16 --connlimit-saddr -j DDOSDROP -A INPUT ! -i lo -m conntrack --ctstate NEW -m connlimit --connlimit-above 500 --connlimit-mask 8 --connlimit-saddr -j DDOSDROP -A INPUT ! -i lo -p tcp -m multiport --dports 22,25,80,443,465,587 -m conntrack --ctstate NEW -m limit --limit 250/sec --limit-burst 1000 -j ACCEPT -A INPUT ! -i lo -p udp -m multiport --dports 33434:33534 -m conntrack --ctstate NEW -m limit --limit 250/sec --limit-burst 1000 -j ACCEPT -A INPUT -p icmp -m icmp --icmp-type 8 -m limit --limit 45/min --limit-burst 60 -j ACCEPT -A INPUT -p icmp -m icmp --icmp-type 0 -m limit --limit 45/min --limit-burst 60 -j ACCEPT -A INPUT -p icmp -m icmp --icmp-type 11 -m limit --limit 45/min --limit-burst 60 -j ACCEPT -A INPUT -p icmp -m icmp --icmp-type 3 -m limit --limit 45/min --limit-burst 60 -j ACCEPT -A INPUT -p icmp -m icmp --icmp-type 3/4 -j ACCEPT -A INPUT -p icmp -m icmp --icmp-type 3/3 -j ACCEPT -A INPUT -p icmp -m icmp --icmp-type 3/1 -j ACCEPT -A INPUT ! -p icmp -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT -A FORWARD -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu -A FORWARD -p icmp -m icmp --icmp-type 3/4 -j ACCEPT -A FORWARD -p icmp -m icmp --icmp-type 3/3 -j ACCEPT -A FORWARD -p icmp -m icmp --icmp-type 3/1 -j ACCEPT -A OUTPUT -o lo -j ACCEPT -A OUTPUT ! -o lo -p tcp -j INVALID -A OUTPUT ! -o lo -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT -A OUTPUT ! -o lo -p tcp -m conntrack --ctstate NEW -m tcp --dport 0:65000 -j ACCEPT -A OUTPUT ! -o lo -p udp -m conntrack --ctstate NEW -m udp --dport 0:65000 -j ACCEPT -A OUTPUT ! -o lo -p icmp -m icmp --icmp-type 0 -j ACCEPT -A OUTPUT ! -o lo -p icmp -m icmp --icmp-type 8 -j ACCEPT -A OUTPUT ! -o lo -p icmp -m icmp --icmp-type 11 -j ACCEPT -A OUTPUT ! -o lo -p icmp -m icmp --icmp-type 3 -j ACCEPT -A OUTPUT -j ACCEPT -A OUTPUT -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu -A OUTPUT -p esp -j ACCEPT -A OUTPUT -p udp -m udp --sport 500 --dport 500 -j ACCEPT -A OUTPUT -p udp -m udp --sport 4500 --dport 4500 -j ACCEPT -A OUTPUT -p icmp -m icmp --icmp-type 3/4 -j ACCEPT -A OUTPUT -p icmp -m icmp --icmp-type 3/3 -j ACCEPT -A OUTPUT -p icmp -m icmp --icmp-type 3/1 -j ACCEPT -A DDOSDROP -j DROP -A INVALID ! -i lo -m conntrack --ctstate INVALID -j INVDROP -A INVALID -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG NONE -j INVDROP -A INVALID -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN,SYN,RST,PSH,ACK,URG -j INVDROP -A INVALID -p tcp -m tcp --tcp-flags FIN,SYN FIN,SYN -j INVDROP -A INVALID -p tcp -m tcp --tcp-flags SYN,RST SYN,RST -j INVDROP -A INVALID -p tcp -m tcp --tcp-flags FIN,RST FIN,RST -j INVDROP -A INVALID -p tcp -m tcp --tcp-flags FIN,ACK FIN -j INVDROP -A INVALID -p tcp -m tcp --tcp-flags PSH,ACK PSH -j INVDROP -A INVALID -p tcp -m tcp --tcp-flags ACK,URG URG -j INVDROP -A INVALID -p tcp -m tcp ! --tcp-flags FIN,SYN,RST,ACK SYN -m conntrack --ctstate NEW -j INVDROP -A INVDROP -j DROP -A SYNATTACK -m limit --limit 60/sec --limit-burst 120 -j RETURN -A SYNATTACK -j DROP -A f2b-nginx-http-auth -j RETURN -A f2b-nginx-http-auth -j RETURN -A f2b-ssh -j RETURN -A f2b-ssh -j RETURN -A f2b-sshd -j RETURN -A f2b-sshd -j RETURN -A fail2ban-postfix -j RETURN -A fail2ban-postfix -j RETURN -A fail2ban-spam -j RETURN -A fail2ban-spam -j RETURN -A fail2ban-spam_bulk -j RETURN -A fail2ban-spam_bulk -j RETURN -A fail2ban-spam_light -j RETURN -A fail2ban-spam_light -j RETURN -A fail2ban-spam_malware -j RETURN -A fail2ban-spam_malware -j RETURN -A fail2ban-spam_zero -j RETURN -A fail2ban-spam_zero -j RETURN
je volána ze souboru iptables.up.rule. Pokud potřebujete změnit port služby nebo rate-limit v INPUT pravidlu soubor je uložený ve složce nginx serveru na kterém běží antispam firewall Scrollout. Konkrétně v cestě /var/www/cfg/
Editaci souboru iptables.up.rule
pomocí nano provedeme
nano /var/www/cfg/iptables.up.rule
Změna se projeví po restartu nginx serveru nebo operačního systému. V případě, že provádíte změnu portu nezapomeňte zkontrolovat příslušnou konfiguraci služby fail2ban.
Vizualizace panelu

Užitečné
Text ScrollOut F1 + Postfix + Firewall
Domovská stránka Netfilter + IPtables