Blockieren von Port 80 über Iptables

1

Ich habe Probleme mit Iptables. Ich versuche, Port 80 von außen zu blockieren. Grundsätzlich ist geplant, dass wir nur über SSH tunneln müssen, um dann über die GUI usw. auf einen Server zu gelangen

Ich habe das in meiner Regel:


Chain OUTPUT (policy ACCEPT 28145 packets, 14M bytes)
 pkts bytes target     prot opt in     out     source               destination
    0     0 DROP       tcp  --  *      eth1    0.0.0.0/0            0.0.0.0/0           tcp dpt:80 state NEW,ESTABLISHED

Und


Chain INPUT (policy DROP 41 packets, 6041 bytes)
    0     0 DROP       tcp  --  eth1   *       0.0.0.0/0            0.0.0.0/0           tcp dpt:80 state NEW,ESTABLISHED

Möchtest du irgendwelche Einsichten teilen?

JoyIan Yee-Hernandez
quelle

Antworten:

2

Sie sollten Ihre INPUT-Kettenrichtlinie auf DROP und Ihre OUTPUT-Kettenrichtlinie auf ACCEPT einstellen und dann nur die Ports öffnen, die Sie zulassen möchten. Etwas wie das:

/sbin/iptables -P INPUT DROP
/sbin/iptables -P OUTPUT ACCEPT
/sbin/iptables -P FORWARD DROP   # Probably a good idea too.

/sbin/iptables -A INPUT -m state --state ESTABLISHED -j ACCEPT

# Now allow TCP SYN packets in to certain ports.  Once they are ACK'ed,
# the above rule for ESTABLISHED connections takes over and lets traffic flow.

/sbin/iptables -A INPUT -p tcp --syn --dport 22 -j ACCEPT
Fran
quelle
Vielen Dank für die Eingabe Fran, aber was ich nicht verstehe, warum meine Regeln mich weiterhin in Port 80 lassen: -dport 80 -j DROP
JoyIan Yee-Hernandez
1
Kommen die Pakete auf eth0 oder einer anderen Schnittstelle an? Überprüfen Sie auch, ob eine Regel vor der von Ihnen angegebenen vorhanden ist, die möglicherweise den Datenverkehr zulässt. Wenn diese Regel zuerst getroffen wird, hat Ihre Regel keine Auswirkung.
Fran
Übrigens zeigt Ihre Ausgabe in der Frage, eth1aber jetzt fragen Sie nach eth0. Wissen Sie, an welcher Schnittstelle die Pakete ankommen?
Fran
2

Verwenden Sie den Status nicht für die DROP-Regel.

Wenn Sie nicht wissen, ob Ihr http-Server tcp und / oder udp ist, sollten Sie auch udp löschen.

# Q:I dont understand though why my rules keeps letting me in
# A:clean the chains 1st
iptables -F
iptables -X
iptables -Z

# Set default policy to DROP if not matched by any rule
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP

# Accept incoming connections only if previously established.
iptables -A INPUT -p tcp --dport 80 -m state --state ESTABLISHED -j ACCEPT
iptables -A INPUT -p udp --dport 80 -m state --state ESTABLISHED -j ACCEPT

# Allow to create/ESTABLISH outgoing connections.
iptables -A OUTPUT -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p udp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT

# Default policy is set to DROP so we don't need these
#iptables -A INPUT -p udp --dport 80 -j DROP
#iptables -A INPUT -p tcp --dport 80 -j DROP
Okobaka
quelle