PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Wie sichert man einen Webserver



Seikilos
12.03.10, 17:17
Ich hab ein wenig geguckt und bei den How Tos noch nichts konkretes gefunden.

Wenn ich einen Server selber verwalten will, worauf sollte man achten?
Auf nen SSH kann man ja nicht verzichten, ergo extra langes Passwort, was ne Dictionary-Attacke überlebt, korrekt?

Was noch? Telnet müsste ja nirgends mehr laufen, denk ich.
Alle Ports, bis auf für Mail und 80 fürs Web schließen?

Was übersieht man da? Immer die Linux Patches nutzen.
Gibt es prädistinierte Linux Distris dafür? Ich kenne Ubuntu Server, aber bietet sich da irgend ne Hardend-fürs-Web Version oder so an :)

Danke

cane
12.03.10, 17:26
Ich hab ein wenig geguckt und bei den How Tos noch nichts konkretes gefunden.

Für sowas gibt es keine Howtos weil jeder Webserver anders aufgebaut und konfiguriert ist. Hier ein Einstieg: http://www.debian.org/doc/manuals/securing-debian-howto/


Wenn ich einen Server selber verwalten will, worauf sollte man achten?
Auf nen SSH kann man ja nicht verzichten, ergo extra langes Passwort, was ne Dictionary-Attacke überlebt, korrekt?

Besser ist es mit SSH Keys zu arbeiten. Die meisten Angriffe erfolgen aber mittlerweile über die laufenden Applikationen wie CMS Systeme etc.



Was noch? Telnet müsste ja nirgends mehr laufen, denk ich.
Alle Ports, bis auf für Mail und 80 fürs Web schließen?

Was hat Mail mit einem Webserver zu tun? Die korrekte Konfiguration eines Mailservers ist ein Projekt für sich...


Was übersieht man da? Immer die Linux Patches nutzen.
Gibt es prädistinierte Linux Distris dafür? Ich kenne Ubuntu Server, aber bietet sich da irgend ne Hardend-fürs-Web Version oder so an :)

Es gibt diverse Security Frameworks die allerdings eine Menge Wissen vorraussetzen.

Beschreibe doch einfach mal was der Server genau tun soll, welche Applikationen laufen etc. - dann kann man mehr Tipps geben.

mfg
cane

Seikilos
12.03.10, 17:56
Im Endeffekt interessiert mich ein Webserver, der die üblichen Funktionen erfüllt. Also http (https) und über den man Mails versenden kann.
Ich bin in der Lage, apache, svn, python, php, mysql usw zu kompilieren und zum laufen zu kriegen, aber was mir nicht klar ist, worauf ich exakt bei nem Webserver achten muss.
Mir ist klar, dass es eigentlich ein Fulltime Job ist, aber ich würd zumindest gerne die gröbsten Schnitzer vermeiden

bla!zilla
12.03.10, 18:08
Eine gute Idee ist immer SSH mit Keys und Passphrase. Zudem solltest du sehr genau wissen, was du auf dem Webserver betreiben willst. Wenn es sich dabei um eine PHP/ MySQL Kombination handelt, solltest du PHP und MySQL entsprechend sicher konfigurieren. Auskunft gibt da am besten die dazu passende Dokumentation. Du solltest darauf achten, dass kein Daemon mit Root-Rechten läuft. SSH zudem auf einen anderen Port zu legen, hilft schon mal gegen die dümmsten Script-Kiddies. Dein Mailserver sollte, je nach Wunsch, nur Mails vom localhost annehmen. Ich gehe mal davon aus, dass du nur Mails versenden willst. Wenn du keine Mails annehmen willst, dann solltest du Port 25/tcp von Außen auch nicht erreichbar machen - also nur auf localhost horchen. Die Installation von Patches ist immer eine gute Idee... :rolleyes:

meinereinerseiner
19.03.10, 06:43
so, hier mal ein paar sachen, ohne anspruch auf vollständigkeit:

empfehlenswert sind zum schutz der webapplikationen:
mod_security und die Suhosin erweiterung für php.
beides ist ziemlich gut und fängt auch mal eine paar schnitzer bei schlampig programierten seiten ab. kostet allerdings etwas performance.

dann beim apache erstmal alle module auskommentieren, die du nicht brauchst. in der standard config der meisten distries wird alles möglicher müll mit geladen, den keiner wirklich braucht - also immer nur die module laden, die man grad so benötigt!

weiterhin kannste noch so sachen wie /tmp und /var bzw. /var/tmp beim mount das executable recht entziehen, dann kann unterhalb dieser keine executables mehr ausgeführt werden.

weiter würde ich die rechte für so sachen wie cc, gcc, make, wget, ftp etc. wenn sie denn überhaupt etwas auf dem server zu suchen haben, nur von root ausführen lassen -> chmod 700 .....

weiter lohnt sich der einsatz von ossec u/o fail2ban, beide können auch einen blick auf das indianer log werfen und bei anomalien die SRC ip bannen und haben ganz nebenbei auch mail, ftp und auch ssh im blick. :)

und wenn du es auf die spitze treiben willst, kannst du noch mit chattr spielen und wichtigen files das immutable flag setzen, das schützt nochmal zusätzlich vor manipulation, und dann das chattr umbennen/verschieben dann habens automatisierte angriffe und kiddies etwas schwerer, klar nützt das nicht viel, wenn sich da jemand auf deine kiste konzentriert, aber das ist in der regel selten der fall. jedoch musst du bedenken, das bei system updates, du das i flag vorher selber wieder entfernen musst, sonst schlägt auch das fehl.

so, waren einfach mal nen paar sachen, die einem das leben etwas erleichtern, das ist alles nicht die eierlegende wollmilchsau die jeden hacker aussperrt, aber ein guter anfang.

dennoch sollte man generell sein system aktuell halten, überwachen und überhaupt wissen was man so tut. :D

cheers,
tom