GNU/Linux >> Linux Esercitazione >  >> Panels >> Panels

IP di blocco di Iptables

Oggi ti mostreremo come bloccare l'indirizzo IP usando iptables. Nel seguente articolo aggiungeremo una lista nera allo script del firewall che ti consentirà di bloccare eventuali indirizzi IP o intervalli di IP abusivi nella tua Debian o Ubuntu server virtuale basato. Iptables è un programma applicativo dello spazio utente che consente a un amministratore di sistema di configurare le tabelle fornite dal firewall del kernel Linux (implementato come moduli Netfilter diversi ) e le catene e le regole che memorizza. Bloccare un indirizzo IP utilizzando iptables è un'operazione abbastanza semplice e non dovrebbe richiedere più di 5 minuti.

Prima di procedere oltre, assicurati di leggere il tutorial su come proteggere/progettare il firewall nel tuo vps linux. Ciò include:

  • Ripulire le vecchie regole del firewall
  • Determinazione delle porte di servizio
  • Impostazione di criteri predefiniti
  • Impostazione delle regole del firewall
  • Salvataggio delle regole del firewall

Blocca IP utilizzando iptables

Per bloccare alcuni indirizzi IP o intervalli di IP abusivi, puoi utilizzare i seguenti iptables regole:

## iptables -I INPUT -s 1.2.3.4 -j DROP
## iptables -I INPUT -s 1.2.0.0/16 -j DROP

Creazione della blacklist in iptables

Per una migliore leggibilità e manutenzione, è una buona idea avere tutti gli IP abusivi in ​​un file particolare, ad esempio /etc/blacklist.ips . In questo modo, puoi aggiungere gli indirizzi IP o le sottoreti in questo file (un IP o sottorete per riga ) e usa le fwall-rules script di seguito per bloccare tutto ciò che è elencato in questo file.

Quindi, crea o modifica /usr/local/bin/fwall-rules e fallo come segue:

#!/bin/bash
#
# iptables firewall script
# https://www.rosehosting.com
#

IPTABLES=/sbin/iptables
BLACKLIST=/etc/blacklist.ips

echo " * flushing old rules"
${IPTABLES} --flush
${IPTABLES} --delete-chain
${IPTABLES} --table nat --flush
${IPTABLES} --table nat --delete-chain

echo " * setting default policies"
${IPTABLES} -P INPUT DROP
${IPTABLES} -P FORWARD DROP
${IPTABLES} -P OUTPUT ACCEPT

echo " * allowing loopback devices"
${IPTABLES} -A INPUT -i lo -j ACCEPT
${IPTABLES} -A OUTPUT -o lo -j ACCEPT

${IPTABLES} -A INPUT -p tcp ! --syn -m state --state NEW -j DROP
${IPTABLES} -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

## BLOCK ABUSING IPs HERE ##
#echo " * BLACKLIST"
#${IPTABLES} -A INPUT -s _ABUSIVE_IP_ -j DROP
#${IPTABLES} -A INPUT -s _ABUSIVE_IP2_ -j DROP

echo " * allowing ssh on port 5622"
${IPTABLES} -A INPUT -p tcp --dport 5622  -m state --state NEW -j ACCEPT

echo " * allowing ftp on port 21"
${IPTABLES} -A INPUT -p tcp --dport 21  -m state --state NEW -j ACCEPT

echo " * allowing dns on port 53 udp"
${IPTABLES} -A INPUT -p udp -m udp --dport 53 -j ACCEPT

echo " * allowing dns on port 53 tcp"
${IPTABLES} -A INPUT -p tcp -m tcp --dport 53 -j ACCEPT

echo " * allowing http on port 80"
${IPTABLES} -A INPUT -p tcp --dport 80  -m state --state NEW -j ACCEPT

echo " * allowing https on port 443"
${IPTABLES} -A INPUT -p tcp --dport 443 -m state --state NEW -j ACCEPT

echo " * allowing smtp on port 25"
${IPTABLES} -A INPUT -p tcp -m state --state NEW -m tcp --dport 25 -j ACCEPT

echo " * allowing submission on port 587"
${IPTABLES} -A INPUT -p tcp -m state --state NEW -m tcp --dport 587 -j ACCEPT

echo " * allowing imaps on port 993"
${IPTABLES} -A INPUT -p tcp -m state --state NEW -m tcp --dport 993 -j ACCEPT

echo " * allowing pop3s on port 995"
${IPTABLES} -A INPUT -p tcp -m state --state NEW -m tcp --dport 995 -j ACCEPT

echo " * allowing imap on port 143"
${IPTABLES} -A INPUT -p tcp -m state --state NEW -m tcp --dport 143 -j ACCEPT

echo " * allowing pop3 on port 110"
${IPTABLES} -A INPUT -p tcp -m state --state NEW -m tcp --dport 110 -j ACCEPT

echo " * allowing ping responses"
${IPTABLES} -A INPUT -p ICMP --icmp-type 8 -j ACCEPT

# DROP everything else and Log it
${IPTABLES} -A INPUT -j LOG
${IPTABLES} -A INPUT -j DROP

#
# Block abusing IPs 
# from ${BLACKLIST}
#
if [[ -f "${BLACKLIST}" ]] && [[ -s "${BLACKLIST}" ]]; then
    echo " * BLOCKING ABUSIVE IPs"
    while read IP; do
        ${IPTABLES} -I INPUT -s "${IP}" -j DROP
    done < <(cat "${BLACKLIST}")
fi

#
# Save settings
#
echo " * SAVING RULES"

if [[ -d /etc/network/if-pre-up.d ]]; then
    if [[ ! -f /etc/network/if-pre-up.d/iptables ]]; then
        echo -e "#!/bin/bash" > /etc/network/if-pre-up.d/iptables
        echo -e "test -e /etc/iptables.rules && iptables-restore -c /etc/iptables.rules" >> /etc/network/if-pre-up.d/iptables
        chmod +x /etc/network/if-pre-up.d/iptables
    fi
fi

iptables-save > /etc/fwall.rules
iptables-restore -c /etc/fwall.rules

assicurati che lo script sia eseguibile aggiungendo un bit 'x':

## chmod +x /usr/local/bin/fwall-rules

Applicazione delle regole

Per applicare le regole del firewall e bloccare gli aggressori, devi semplicemente eseguire le fwall-rules sceneggiatura e basta.

## fwall-rules
 * flushing old rules
 * setting default policies
 * allowing loopback devices
 * allowing ssh on port 5622
 * allowing ftp on port 21
 * allowing dns on port 53 udp
 * allowing dns on port 53 tcp
 * allowing http on port 80
 * allowing https on port 443
 * allowing smtp on port 25
 * allowing submission on port 587
 * allowing imaps on port 993
 * allowing pop3s on port 995
 * allowing imap on port 143
 * allowing pop3 on port 110
 * allowing ping responses
 * BLOCKING ABUSIVE IPs
 * SAVING RULES

Ovviamente non devi bloccare gli indirizzi IP usando iptables, se utilizzi uno dei nostri servizi di hosting VPS Linux, nel qual caso puoi semplicemente chiedere ai nostri esperti amministratori Linux di bloccare qualsiasi indirizzo IP per te. Sono disponibili 24 ore su 24, 7 giorni su 7 e si prenderanno immediatamente cura della tua richiesta.

PS. Se ti è piaciuto questo post su come bloccare gli indirizzi IP utilizzando iptables, condividilo con i tuoi amici sui social network utilizzando i pulsanti a sinistra o semplicemente lascia una risposta qui sotto. Grazie.


Panels
  1. Introduzione a iptables

  2. Fail2Ban Howto:Blocca l'indirizzo IP usando Fail2ban e IPTables

  3. Suggerimenti per una configurazione sicura di iptables per difendersi dagli attacchi. (dalla parte del cliente!)

  4. Annulla la modifica di iptables

  5. Perché le mie connessioni di rete vengono rifiutate?

Come bloccare gli indirizzi falsificati locali utilizzando il firewall Linux

Come bloccare/consentire il ping usando iptables in Ubuntu

Un semplice script firewall iptables per bloccare tutte le porte tranne la porta 80 e fornire la porta 22 a determinati IP

Metodo di immissione vietnamita?

Come bloccare le e-mail per paese o dominio in cPanel?

Come aprire la porta 2195 in iptables CentOS 6 per attivare l'APNS