GNU/Linux >> LINUX-Kenntnisse >  >> Panels >> Panels

Iptables blockiert IP

Heute zeigen wir Ihnen, wie Sie IP-Adressen mit iptables blockieren. Im folgenden Artikel fügen wir dem Firewall-Skript eine Blacklist hinzu, die es Ihnen ermöglicht, missbräuchliche IP-Adressen oder IP-Bereiche in Ihrem Debian zu blockieren oder Ubuntu basierter virtueller Server. Iptables ist ein Userspace-Anwendungsprogramm, das es einem Systemadministrator ermöglicht, die Tabellen zu konfigurieren, die von der Linux-Kernel-Firewall bereitgestellt werden (als verschiedene Netfilter-Module implementiert ) und die darin gespeicherten Ketten und Regeln. Das Blockieren einer IP-Adresse mit iptables ist ziemlich einfach und sollte nicht länger als 5 Minuten dauern.

Bevor Sie fortfahren, lesen Sie unbedingt das Tutorial zum Sichern/Entwerfen der Firewall in Ihrem Linux-VPS. Dazu gehören:

  • Löschen der alten Firewall-Regeln
  • Service-Ports bestimmen
  • Standardrichtlinien einrichten
  • Einrichten Ihrer Firewall-Regeln
  • Speichern Ihrer Firewall-Regeln

IP mit iptables blockieren

Um einige missbräuchliche IP-Adressen oder IP-Bereiche zu blockieren, können Sie die folgenden iptables verwenden Regeln:

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

Erstellen der Blacklist in iptables

Für eine bessere Lesbarkeit und Wartung ist es eine gute Idee, alle missbräuchlichen IPs in einer bestimmten Datei zu haben, zum Beispiel /etc/blacklist.ips . Auf diese Weise können Sie die IP-Adressen oder Subnetze in dieser Datei hinzufügen (eine IP oder ein Subnetz pro Zeile ) und verwende die fwall-rules Skript unten, um alles zu blockieren, was in dieser Datei aufgeführt ist.

Erstellen oder bearbeiten Sie also /usr/local/bin/fwall-rules und machen Sie es wie folgt:

#!/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

Stellen Sie sicher, dass das Skript ausführbar ist, indem Sie ihm ein „x“-Bit hinzufügen:

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

Anwendung der Regeln

Um die Firewall-Regeln anzuwenden und die Missbraucher zu blockieren, müssen Sie nur die fwall-rules ausführen Skript und das war's.

## 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

Natürlich müssen Sie IP-Adressen nicht mit iptables blockieren, wenn Sie einen unserer Linux-VPS-Hosting-Dienste verwenden. In diesem Fall können Sie einfach unsere erfahrenen Linux-Administratoren bitten, jede IP-Adresse für Sie zu blockieren. Sie sind rund um die Uhr erreichbar und kümmern sich umgehend um Ihr Anliegen.

PS. Wenn Ihnen dieser Beitrag zum Blockieren von IP-Adressen mit iptables gefallen hat, teilen Sie ihn bitte mit Ihren Freunden in den sozialen Netzwerken über die Schaltflächen auf der linken Seite oder hinterlassen Sie einfach unten eine Antwort. Danke.


Panels
  1. Blockieren Sie den IP-Bereich von Ländern mit GeoIP und iptables

  2. Einführung in iptables

  3. Fail2Ban Howto:Blockieren Sie IP-Adressen mit Fail2ban und IPTables

  4. Linux-Betriebssystemdienst „iptables“

  5. iptables-Änderung rückgängig machen

So blockieren Sie lokale gefälschte Adressen mit der Linux-Firewall

So blockieren Sie die IP-Adresse auf einem Linux-Server

So blockieren/erlauben Sie Ping mit iptables in Ubuntu

Vietnamesische Eingabemethode?

Wie blockiere ich E-Mails nach Land oder Domäne in cPanel?

Tipps für eine sichere iptables-Konfiguration zur Abwehr von Angriffen. (Kundenseite!)