Es wird immer empfohlen, die Dienste zu stoppen und nicht benötigte Ports zu sperren. Das Offenhalten unerwünschter Ports kann eine Schwachstelle für das System verursachen. Je nach Anforderung können Sie sowohl den eingehenden als auch den ausgehenden Datenverkehr auf einem bestimmten Port blockieren.
Eingehenden Port blockieren
Die Syntax zum Blockieren eines eingehenden Ports mit iptables lautet wie folgt. Dies gilt global für alle Schnittstellen.
# iptables -A INPUT -p tcp --destination-port [port number] -j DROP
Um den Port nur auf einer bestimmten Schnittstelle zu blockieren, verwenden Sie die Option -i.
# iptables -A INPUT -i [interface name] -p tcp --destination-port [port number] -j DROP
Um den Port nur für eine bestimmte IP oder ein bestimmtes Subnetz zu blockieren, verwenden Sie die Option -s, um das Subnetz oder die IP-Adresse anzugeben.
# iptables -A INPUT -i [interface name] -p tcp --destination-port [port number] -s [ip address] -j DROP # iptables -A INPUT -i [interface name] -p tcp --destination-port [port number] -s [ip subnet] -j DROP
Zum Beispiel:
Verwenden Sie den folgenden Befehl, um Port 21 zu blockieren (um FTP zu blockieren):
# iptables -A INPUT -p tcp --destination-port 21 -j DROP
Speichern Sie die iptables für Regeln, damit sie über Neustarts hinweg bestehen bleiben.
# service iptables save
Um Port 21 für eine bestimmte IP-Adresse (z. B. 10.10.10.10) auf der Schnittstelle eth1 zu blockieren, verwenden Sie den Befehl:
# iptables -A INPUT -p tcp -i eth1 -s ! 10.10.10.10 --destination-port 21 -j DROP
Speichern Sie die iptables für Regeln, damit sie über Neustarts hinweg bestehen bleiben.
# service iptables save
Ausgehenden Port blockieren
Die Syntax zum Blockieren eines ausgehenden Ports mit iptables lautet wie folgt. Dies gilt global für alle Schnittstellen.
# iptables -A OUTPUT -p tcp --destination-port [port number] -j DROP
Um den Port nur auf einer bestimmten Schnittstelle zu blockieren, verwenden Sie die Option -i.
# iptables -A OUTPUT -i [interface name] -p tcp --destination-port [port number] -j DROP
Um den Port nur für eine bestimmte IP oder ein bestimmtes Subnetz zu blockieren, verwenden Sie die Option -s, um das Subnetz oder die IP-Adresse anzugeben.
# iptables -A OUTPUT -i [interface name] -p tcp --destination-port [port number] -s [ip address] -j DROP
# iptables -A OUTPUT -i [interface name] -p tcp --destination-port [port number] -s [ip subnet] -j DROP
Zum Beispiel:
Verwenden Sie den folgenden Befehl, um den ausgehenden Port Nr. 25 zu blockieren.
# iptables -A OUTPUT -p tcp --destination-port 25 -j DROP
Speichern Sie die iptables für Regeln, damit sie über Neustarts hinweg bestehen bleiben.
# service iptables save
Um Port Nr. 25 nur für die IP-Adresse 10.10.10.10 zu blockieren, verwenden Sie den Befehl:
# iptables -A OUTPUT -p tcp -d 10.10.10.10 --destination-port 25 -j DROP
Speichern Sie die iptables für Regeln, damit sie über Neustarts hinweg bestehen bleiben.
# service iptables save