2014-06-08 14 views
6

Come posso aggiungere in massa un file di testo pieno di blocchi IP a IPTables utilizzando BASH (o un altro linguaggio di scripting)? O c'è un altro modo per bloccare questi intervalli di indirizzi?Come utilizzare bash per aggiungere in massa un file completo di blocchi IP su IPTables

MODIFICA: In altre parole, esiste un modo per programmare qualcosa per scorrere il file e creare le voci pertinenti?

+0

Stai impostata sull'utilizzo di Webmin per gestire il firewall? In caso contrario, ci sono diverse opzioni per fare ciò che stai cercando di fare. Non conoscendo più il problema reale (ad esempio, le richieste http non sono valide per iniziare), è difficile dare una risposta accurata. Si potrebbe voler guardare OSSEC, ad esempio, per bloccare le richieste di spam. – Ketola

+0

https://kirkkosinski.com/2013/11/mass-blocking-evil-ip-addresses-iptables-ip-sets/ Prova questo. Potrebbe essere utile –

+0

Sto usando Webmin per aggiungere voci alla blocklist IPtables (una catena di intervalli di deny). Potrei inserire manualmente tutti quei dati ma mi sembra che ci debba essere un modo più semplice. –

risposta

11

Si può semplicemente creare un ciclo all'interno del proprio script di configurazione di iptables? Qualcosa di simile

#!/bin/bash 
for x in $(cat ip_list.txt) 
do 
    iptables -A INPUT -s $x -j DROP 
done 

in cui il file ip_list.txt sarebbe solo guardare come

1.1.1.1 
2.2.2.2 
3.3.3.3 
etc 
+0

Stiamo parlando effettivamente in "/ etc/sysconfig/iptables-config" ? Prendo allora che posso farlo senza rompere nulla? –

+1

No, in genere quando si manipolano le regole IPTables, tutto è configurato in uno script bash e quindi per applicare le regole, si esegue lo script. Questo ti permette di fare qualsiasi tipico vudù di scripting bash per aiutarti con le tue regole. Guarda la sezione 3 di questa pagina per un esempio: http://wiki.centos.org/HowTos/Network/IPTables – Safado

+1

Più come 'sed 's /.*/ iptables -A INPUT -s & -j DROP /' | sh' per evitare l'uso inutile di Cat e la variabile non quotata. – tripleee

0

numero eccessivo di richieste e l'uso della larghezza di banda potrebbe essere causato da bot dai motori di ricerca cercano di scansione del tuo sito e anche quando siti come facebook o linkedin crea miniature perché qualcuno sta collegando al tuo sito dai social media.

Per arrestare i bot, è necessario utilizzare il file robots.txt sul sito. Leggi di più sul file e configuralo su robotstxt.org. Penso che ci siano anche diversi post su di esso su StackOverflow.

+0

I robot con cui non ho riscontrato problemi. Il server può gestire un po 'di Google. Sto parlando di intervalli con da 20 a 30 connessioni attive ciascuna da intervalli appartenenti a porti sicuri noti per tipi abusivi. A livello di sito robots.txt per gli script ben educati e badBehaviour per i non. Alcune gamme IP delle società di hosting utilizzano ancora più della loro parte equa della mia CPU con troppe connessioni. A parte il blocco di tutta l'America e la Cina, vorrei semplicemente bloccare la lista molto vasta delle gamme IP che appartengono ai co dell'hosting che non hanno business che colpiscano il mio server. –

2

È possibile analizzare l'elenco IP e verificare se l'indirizzo IP è già bloccato o no:

#!/bin/bash 

for i in $(cat iptables.log) 
do 
    /sbin/iptables -L -n -v | grep -q "${i}" 
    RETVAL=$? 
    if [ $RETVAL -ne 0 ]; then 
    /sbin/iptables -A INPUT -s "${i}" -j DROP 
    fi 
done 
Problemi correlati