vserver und Portsschließen?

baeckerman83

Registered User
Hiho!
Ich habe mich jetzt durch google gemüht aber noch nichts gefunden was so richtig empfohlen ist.
Und zwar möchte ich meinen vServer von aussen zu machen. Also die Ports sperren, ausser SSH, HTTP und FTP.
Eine Firewall ist da ja nicht so gut, denn sie wäre ja auf dem gleichen System. Ist IPTables denn das sicher? Oder muss ich nach etwas anderem schauen?

Edit: Upps vServer Daten vergessen, es ist Debian Etch bei Strato.
 
Ausgehende Verbindungen koennen in aller Regel _irgendwie_ immer nach aussen kommunizieren, in diese Richtung hilft eine Firewall nun nicht.

Und bei einkommenden ist es - fuer deine Zwecke - relativ egal ob die Firewall auf dem System selbst liegt oder vorgeschaltet ist; bevor es an der Applikation ankommen kann ist es schon "blockiert".

Beachte aber, dass Linux (wie die meisten OS') Ports erst oeffnet wenn auch ein Dienst dahinter lauscht. Also alles zu sperren bis auf whitelistet Ports bringt dir nur insofern was wie auch wirklich Dienste dahinter lauschen ;)

Die Regeln sollten in etwa so aussehen:
Code:
iptables -A INPUT -p tcp --dport 22 -j ACCEPT

iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT

iptables -A INPUT -p tcp --dport 20 -j ACCEPT
iptables -A INPUT -p tcp --dport 21 -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

iptables -A INPUT -p tcp -j DROP
Da iptables "von oben nach unten" die Regeln durchlauft wird DROP nur auf denen Regeln gelten die nicht explizit freigegeben (whitelistet) wurden.
Solltest du durch einen (Tipp)fehler nicht mehr reinkommen reicht ein Serverreboot um die Regeln zu loeschen.

Wenn du schon dabei bist, solltest du auch gegen Slowloris und HTTPS-DoS schuetzen:
(EDIT: funktioniert bei einem vServer wahrscheinlich nicht da zumindest mod_recent da meistens nicht geladen ist und wenn ja einen so hohen Hitcount nicht zulaesst)
Code:
/sbin/iptables -A INPUT -p tcp -m tcp --dport 80,443 -m state --state NEW -m recent --set
/sbin/iptables -A INPUT -p tcp -m tcp --dport 80,443-m state --state NEW -m recent --update --seconds 3 --hitcount 60 -j DROP
/sbin/iptables -A INPUT -p tcp --syn --dport 80,443 -m connlimit --connlimit-above 30 -j DROP
 
Last edited by a moderator:
Etch ist schon seit geraumer Zeit ohne Update-Support.

Und vermutlich ist das dem Administrator sowieso noch nicht aufgefallen, da eh noch nie Updates eingespielt wurden. :eek:

Eine WIRKLICH sinnvolle Firewall wäre übrigens VOR den Server geschaltet und von diesem unabhängig. Das ist bei Vservern nicht machbar. Aus diesem Grund wird Dir kaum etwas anderes übrig bleiben, als eine Firewall auf dem System selbst zu verwenden.

Nebenbei: IPTables ist ein Konfigurationsprogramm für die Linux Firewall. Insofern widersprichst Du Dich selbst in Deiner Aussage etwas.
 
Bei welchem ISP hast du deinen Vserver?
Über eine Firewall solltest du dir weniger Gedanken machen.Debian Etch produktiv einzusetzen ist "GROB-FAHRLÄSSIG"!
Kenne keinen seriösen Provider welcher noch Etch anbietet.
 
Last edited by a moderator:
Strato hat sowohl Lenny als auch Squeeze zur Auswahl. Nix mit Etch!

Aber von alleine kommen halt doch keine Updates ;)
 
Ihr habt recht es ist nicht Etch, es ist Lenny. Ich komme immer mit den Zahlen und Namen durcheinander.
Updates mache ich regelmässig. Immer wenn etwas da ist. Nur mit dem Thema Firewall habe ich mich noch nicht richtig beschäftigt. Dienste habe ich auch nur die nötigen Installiert und auch kein Plesk drauf.
 
Ich weiß das es eine neue Version gibt. Laut Debian Wiki hat Lenny aber noch nicht eol und daher dachte ich wird es ja noch upgedatet.
 
Ich weiß das es eine neue Version gibt. Laut Debian Wiki hat Lenny aber noch nicht eol und daher dachte ich wird es ja noch upgedatet.

Trotzdem ist lenny mittlerweile oldstable und sollte im Produktiveinsatz nicht mehr verwendet werden, egal ob es noch supportet wird oder nicht.
 
oldstable und sollte im Produktiveinsatz nicht mehr verwendet werden

Sagt wer? Wieso sollte ich ein Produkt, dass noch nicht EOL ist, nicht mehr verwenden sollen? Klar, bevor es soweit ist, sollte man nen Update hingelegt haben, aber es kann gute Gründe geben, das noch zu lassen.

Ich z.B. habe einen Server, der geht Ende November offline. Und da läuft natürlich noch Lenny. Und das ist seit dem Release von Squeeze eine ganz bewusste Entscheidung.
 
Code:
/sbin/iptables -A INPUT -p tcp -m tcp --dport 80,443 -m state --state NEW -m recent --set
/sbin/iptables -A INPUT -p tcp -m tcp --dport 80,443-m state --state NEW -m recent --update --seconds 3 --hitcount 60 -j DROP
/sbin/iptables -A INPUT -p tcp --syn --dport 80,443 -m connlimit --connlimit-above 30 -j DROP

Deine Regeln funktionieren in der Form nicht:
iptables v1.4.12: invalid port/service `80,443' specified

Wenn mans pro Port aufdröselt:
iptables: Invalid argument. Run `dmesg' for more information.
und dmesg sagt:
[1792499.107387] xt_recent: hitcount (60) is larger than packets to be remembered (20)


gruß
bjo

PS: wheezy auf einem normalen Root.
 
Last edited by a moderator:
Back
Top