EliteGroup
Anmeldungsdatum: 5. September 2013
Beiträge: Zähle...
Wohnort: Wien
|
Hallo Leute,
Ich habe mir einen Dedicated Server zugelegt,
jetzt mache ich mir um die Sicherheit sorgen. Ich denke am sichersten were es mal standardmäßig alle Ports Blockieren Wie würde das iptabled files aussehen alles zu sperren abgesehn von SSH
Danach kann ich ja die Ports hinzufügen die Ich benötige wie 80 etc Bzw was würdet ihr empfehlen um einen reinen Server mal abzusichern? lg
|
ChickenLipsRfun2eat
Anmeldungsdatum: 6. Dezember 2009
Beiträge: 12067
|
EliteGroup schrieb: Hallo Leute,
Ich habe mir einen Dedicated Server zugelegt,
jetzt mache ich mir um die Sicherheit sorgen.
Hallo! Die Vorgehensweise ist normal anders herum. Erst planen, dann machen 😉 iptables ist hier eigentlich ausreichend erklärt für den Anfang. Du musst nur aufpassen, dass du dich nicht aussperrst!
|
EliteGroup
(Themenstarter)
Anmeldungsdatum: 5. September 2013
Beiträge: 85
Wohnort: Wien
|
ChickenLipsRfun2eat schrieb: Hallo! Die Vorgehensweise ist normal anders herum. Erst planen, dann machen 😉 iptables ist hier eigentlich ausreichend erklärt für den Anfang. Du musst nur aufpassen, dass du dich nicht aussperrst!
Naja das ist ja der Grund warum ich hier schreibe 😀
Das Wiki habe ich bereits gelesen, möchte aber nicht irgend ein blödsinn rein tun bzw mich sogar aussperren 😉 Was ich mal zamgesucht hätte were das hier:
*filter
:INPUT REJECT [0:0]
:FORWARD REJECT [0:0]
:OUTPUT REJECT [0:0]
-A INPUT ! -i eth0 -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type echo-request -j ACCEPT
-A OUTPUT -p udp --sport 1024:65535 --dport 53 -j ACCEPT
-A OUTPUT -p tcp --sport 1024:65535 -m multiport --dports 20,21 -j ACCEPT
-A OUTPUT -p tcp --sport 1024:65535 -m multiport --dports 80,443 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m tcp --dport auth -j ACCEPT Das sollte nun meines wissens alles sperren außer: 20,21,22,80,443
|
Into_the_Pit
Ehemalige
Anmeldungsdatum: 25. Juni 2008
Beiträge: 9490
Wohnort: Bochum
|
EliteGroup schrieb: Das sollte nun meines wissens alles sperren außer: 20,21,22,80,443
Warum blockst Du alles, ausser die o.g. Ports auf dem Ausgang? Wäre es nicht sinnvoller, dies beim Eingang zu blocken? Ich nehme doch mal an, dass Du mit Deinem Server Dienste bereitstellen willst, oder? Vorgehensweise wäre hier z.B. per direkter Verbindung (wenn die Kiste zuhause steht, per Tastatur und Monitor am System, ansonsten per Remote Console vom Hoster) INPUT erstmal komplett zu droppen, so hast Du eingehend alles dicht und machst nur das auf, was Du benötigst. OUTPUT, also Ausgang, kann auf ACCEPT stehen, da sehe ich keine Probleme mit. FORWARD kannst Du auch droppen, wenn Du kein NAT machen möchtest.
|
ChickenLipsRfun2eat
Anmeldungsdatum: 6. Dezember 2009
Beiträge: 12067
|
Hallo! Ich arbeite da für gewöhnlich mit einem bash-script, da das etwas übersichtlicher ist. 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 | FW="/sbin/iptables"
#Vorhandene Regeln und Ketten komplett löschen
$FW -F
$FW -X
$FW -t nat -F
#Standardregeln
$FW -P INPUT ACCEPT
$FW -P FORWARD ACCEPT
$FW -P OUTPUT ACCEPT
#Loopback erlauben
$FW -I INPUT -i lo -j ACCEPT
$FW -I OUTPUT -o lo -j ACCEPT
...
|
Das kann man gut kommentieren und vergisst zum Beispiel auch nicht den Loopback zu erlauben, wenn man sich da ein Skelett aufbaut. Dieser ist zwingend nötig für die interne Kommunikation! Zusätzlich zu den ipv4-Regeln kommen auch noch ipv6-Regeln dazu. Zum automatischen Laden der Regeln kann man bspw. das Paket iptables-persistent installieren. Für von außen erreichbare Server gibt es aber sicher bessere Ansprechpartner. Ich habe lediglich ssh erlaubt, damit ich meine Daten rumschleppen kann. Der Rest steht unter dem Schutz meines Routers ☺
|
misterunknown
Ehemalige
Anmeldungsdatum: 28. Oktober 2009
Beiträge: 4403
Wohnort: Sachsen
|
EliteGroup schrieb: Ich habe mir einen Dedicated Server zugelegt,jetzt mache ich mir um die Sicherheit sorgen.
Wie ChickenLipsRfun2eat bereits schrieb, sollte man sich über die Sicherheit günstiger Weise Gedanken machen bevor man sich einen Rootserver zulegt...
Wie würde das iptabled files aussehen alles zu sperren abgesehn von SSH
-F
-X
-P INPUT DROP
-P OUTPUT DROP
-P FORWARD DROP
-A INPUT -p tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT
-A OUTPUT -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT
Das willst du aber mit hoher Wahrscheinlichkeit nicht, denn dann funktioniert ausschließlich SSH. Und das auch nur von draußen nach innen. Alles andere wird gesperrt, du kannst also beispielsweise auch keinen Ping mehr vom Server absetzen und auch nicht mehr auf die Distributions-Repositories zugreifen.
Bzw was würdet ihr empfehlen um einen reinen Server mal abzusichern?
Wichtiger, als eine Firewall einzurichten, ist, dass du genau weißt, welche Dienste auf deinem System laufen, und welche Ports gebunden sind. Wenn ein Port nicht gebunden ist, stellt er auch keine Gefahr dar. Die Einrichtung einer Firewall ist nicht trivial, sondern erfordert ein Konzept und einiges an Verständnis.
|
chilidude
Anmeldungsdatum: 18. Februar 2010
Beiträge: 867
|
EliteGroup schrieb:
Bzw was würdet ihr empfehlen um einen reinen Server mal abzusichern?
Am wichtigsten ist es sich erstmal ausführlich mit iptables auseinanderzusetzen. Vor allem sollte man die Ablaufreihenfolge verstehen und wie die Ketten (sequentiell) abgearbeitet werden. Hier findet man ein (nicht ganz vollständiges) Diagramm: http://64-bit.de/dokumentationen/netzwerk/e/002/DE-IPTABLES-HOWTO-3.html Mit Iptables kann alles machen, auch Bit-Manipulation in Paketen. Das einzige was nicht geht ist Iptables auf eine PID auszurichten. Dafür kann man aber Gruppen (oder User) konstrainen und diese als neue Hauptgruppe (newgrp, sg) einem Prozess (und seinen Kindern) zuweisen . Wem Sicherheit wichtig ist, der sollte sich zumindest einmal einen ganzen Tag ausführlich damit befassen.
|
EliteGroup
(Themenstarter)
Anmeldungsdatum: 5. September 2013
Beiträge: 85
Wohnort: Wien
|
Danke für die info
Also müsste ich einfach für einen normalen webserver keine sorgen haben bzg firewall / Ports
|
Into_the_Pit
Ehemalige
Anmeldungsdatum: 25. Juni 2008
Beiträge: 9490
Wohnort: Bochum
|
EliteGroup schrieb: Also müsste ich einfach für einen normalen webserver keine sorgen haben bzg firewall / Ports
Jain. Es ist gut, dass Du Dir dazu Gedanken machst und Du Dich um die Sicherheit kümmern möchtest. Wenn nur ein Apache/nginx laufen soll, sehen Deine Regeln ja nicht so dramatisch aus. Wie chilidude schrieb, beschäftige Dich detailiert mit iptables, so dass Du auch verstehst, welche Chain wofür ist und was man alles mit iptables erreichen kann, besonders mit den States und evtl noch conntrack. Ein guter Ansatz ist das Beispiel von misterunknown.
|
encbladexp
Ehemaliger
Anmeldungsdatum: 16. Februar 2007
Beiträge: 17449
|
ChickenLipsRfun2eat schrieb: Ich arbeite da für gewöhnlich mit einem bash-script, da das etwas übersichtlicher ist.
Das ist keine gute Idee, der Ansatz mit iptables save/restore ist schon richtig. Beachte: Bricht dein Shellscript an einer Stelle ab, dann sind die Firewall Regeln falsch oder unpassend gesetzt. Zu Dokumentation gibt es auch schönere Lösungen. mfg Stefan Betz
|
ChickenLipsRfun2eat
Anmeldungsdatum: 6. Dezember 2009
Beiträge: 12067
|
encbladexp schrieb: ChickenLipsRfun2eat schrieb: Ich arbeite da für gewöhnlich mit einem bash-script, da das etwas übersichtlicher ist.
Das ist keine gute Idee, der Ansatz mit iptables save/restore ist schon richtig. Beachte: Bricht dein Shellscript an einer Stelle ab, dann sind die Firewall Regeln falsch oder unpassend gesetzt. Zu Dokumentation gibt es auch schönere Lösungen.
Das mag etwas missverständlich formuliert sein. Ich erstelle meine Regeln in besagtem Bash-Script. Das führe ich dann aus und prüfe, ob alles so funktioniert, wie ich mir das dachte. Wenn alles stimmt, kommt iptables-save zum Einsatz und speichert die dann neue, noch flüchtige Version da ab, wo beim Systemstart der iptables-restore zugreift. Das eigentliche Script liegt nur unter /root als "Vorlage" für Änderungen.
|