iptables -A INPUT -s ´cat /whatever/blockers.list´ -j DROP og så smide det på som et cron job? der skal dog nok noget log rotation på din blockers.list
feedback ønskes.. jeg har ikke tid til at scripte ligenu og her.
Du skriver nedenstående ind i en fil du f.eks. kalder firewall.sh og placerer i root home biblioteket
#!/bin/bash
IPTABLES="/sbin/iptables" # Iptables binary
#Default policies drop all packets. $IPTABLES -P INPUT DROP # Drop all packets to input $IPTABLES -P FORWARD DROP # Don’t forward anything $IPTABLES -P OUTPUT DROP # Drop all packets to output
Hvis firewallen er installeret på den maskine du vil beskytte skriver du
$IPTABLES -A INPUT --destination aaa.aaa.aaa.aaa -j DROP $IPTABLES -A OUTPUT --destination aaa.aaa.aaa.aaa -j DROP
Hvis firewallen er en bastions firewall der skal filtrere trafikken ind og ud af dit net, skriver du:
$IPTABLES -A FORWARD --destination aaa.aaa.aaa.aaa -j DROP
Sådan gøres det manuelt, hvis du vil have det så det kører automatisk fra din listefil, så må du lige sige til, så skal vi un i noget lidt andet. Bl.a. skal firewall scriptet køres jævnligt for at ændringerne træder i kræft
ja, det var nemlig lige præcist forkert det jeg foreslog.
iptables -A INPUT -s `cat /whatever/blockers.list` -j DROP sådan der forklaring: Når man smider noget imellem de apostroffer der, eller "backticks" som de hedder, så laver bash det der hedder command substitution. Den tager simpelthen output af den anden kommando og smider ind på det sted.
Hvis jeg ikke husker galt, så laver den automatisk repeat af kommandoen for hver eneste linje du har i din blocker fil. Prøv det ad og så se om iptables reglerne bliver opdateret med samtlige ip numre du har i den fil ligenu.
bufferzone er velkommen til at hjælpe dig færdig hvis han vil.. så afstår jeg fra point. Har nogle ting at ordne nu.
for iu in $SSH_INVALID_USERS; do num=`grep $iu /var/log/secure | wc -l` if [ $num -gt $NUM_TRIES ]; then echo "$iu" >> /var/tmp/invalid_users.list fi done
for fp in $SSH_FAILED_PASSWORD; do num=`grep $fp /var/log/secure | wc -l` if [ $num -gt $NUM_TRIES ]; then echo "$fp" >> /var/tmp/failed_passwords.list fi done
iptables -A INPUT -s `cat /whatever/blockers.list` --dport 23 -j DROP
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.