Come creare una lista nera per Shorewall

March 23

La maggior parte dei filtri anti-spam e firewall moderni fanno uso di liste nere - elenchi di indirizzi di protocollo Internet da spammer e malintenzionati reti - per proteggere meglio gli utenti da minacce conosciute. Per Linux, il firewall Shorewall non fa eccezione, e fornisce un iptables più facile (di routing IP) di configurazione per l'impostazione e l'attuazione di liste nere personalizzate. Fare la lista nera, o conoscere quali indirizzi IP da bloccare, può essere difficile.

istruzione

Creazione Blacklist manuale

1 Open "/ etc / shorewall / lista nera" e scorrere verso il basso. Esso dovrebbe essere simile a questo:

INDIRIZZO / SUBNET PROTOCOLLO PORTLAST LINE - ADD le voci prima di questo - NON TOGLIERE

2 Ingresso gli indirizzi che si desidera bloccati. (I siti Spamhaus e URLBlacklist in Risorse mostrano alcune minacce attuali.) Gli indirizzi possono essere indirizzi host / rete / IP (singolare o un intervallo), indirizzi MAC (con prefisso "~") o IPSets (utilizzando "+"). Aggiungere le eventuali limitazioni dei protocolli e delle porte. (Si noti che è possibile specificare solo le porte se il protocollo è "tcp" o "udp".)

Ad esempio, dire che si desidera bloccare tutto il traffico TCP in entrata sulle porte 1 a 31, la voce sarebbe simile a questa:

INDIRIZZO / SUBNET PROTOCOLLO PORTtcp 1: 31LAST LINE - ADD le voci prima di questo - NON RIMUOVERE

Una voce di indirizzo MAC per bloccare tutto il traffico proveniente da tale interfaccia:

INDIRIZZO / SUBNET PROTOCOLLO PORT

~ 00-9A-8C-FF-03-AA - -

LAST LINE - ADD le voci prima di questo - NON TOGLIERE

3 Scrivere e chiudere il file. (È necessario riavviare Shorewall meno che non abbiate lista nera dinamico abilitato.)

Creazione automatica Blacklist

4 Aprire un nuovo file, come ad esempio "/etc/scripts/blacklistupdate.sh."

5 Creare uno script bash dal file come il seguente dal blog di Mudy:

! / Bin / sh

echo "# / sottorete Protocollo Porta"> / tmp / lista nera

wget -q -O - http://feeds.dshield.org/block.txt | awk --posix '/^[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.0\t/ {print $ 1 "/ 24 ";} '>> / tmp / lista nera

wget -q -O - http://www.spamhaus.org/drop/drop.lasso | awk --posix '/^[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3} \ // {print $ 1;} '>> / tmp / lista nera

echo "LINE #LAST - ADD le voci prima di questo - NON RIMUOVERE" >> / tmp / lista nera

mv / tmp / blacklist / etc / shorewall / lista nera

shorewall rinfrescare &> / dev / null

Si noti che questo script crea una lista nera fresca, invece di aggiungere a quello esistente.

6 Scrivere e chiudere il nuovo script.

7 Aggiungere lo script per i processi di cron in "/ etc / crontab." La voce di cron dovrebbe essere simile a "00 3 sole radice /etc/scripts/blacklistupdate.sh "se si desidera eseguire lo script alle 3 del mattino ogni Domenica.

Dal momento che lo script contiene un comando Shorewall di aggiornamento, è necessario aggiungere un altro lavoro per riavviare Shorewall.