Netaddict



FIXME Dieser Artikel im Alpha-Stadium.

Sichere und leistungsfähige Webserver unter Linux

Einen eigenen Webserver unter Linux zu betreiben wird immer beliebter. Bei vielen Hostern gibt es für wenig Geld virtuelle oder echte Rootserver. Der Betrieb eines eigenen Webservers sollte gut überlegt sein, nicht selten sind die fertigen Pakete der Anbieter schlecht konfiguriert oder der unerfahrene Systemverwalter öffnet Angreifern, durch unsichere oder fehlerhafte Konfiguration, ungewollt Tür und Tor. Diese Anleitung versteht sich als praktische Hilfe für alle, die sich ihren Webserver gerne für sich haben und ihn nicht mit den bösen Buben teilen möchten. ;)

Einführung

Planungsphase

Wo anfangen? Wozu soll der Server dienen? (Falle → Zweckentfremdung) Gefahrenanalyse (Wer sind meine Feinde? ) Welche Dienste? (Webserver) Welche Applikationen? (Forum) Welche Features? (SELinux, Virtualisierung) Welche Hardware? (Last, Sicherheit, Plattform, RAID) Distributionsauswahl Wie verwalten? ssh-tunnels Wer ist für was zuständig?

Dokumentation & Organisation

Anfang und Ende von allem. Was muss dokumentiert werden? → Installation, Konfiguration, Änderungen, Planungen, Notfallpläne Womit dokumentieren? → Wiki, Versionsverwaltung Wie organisieren? → Kommunikationsverzeichnisse, Kodexe, Philosophien (Adminzen), Zuständigkeiten, Aufgabenverteilung Womit kommunizieren? → Mail, IM, Listen, Ticketsysteme, Alamierungssysteme Kommunikation ist wichtig → Hilfe schreien, Manöverkritik

Absicherung des Grundsystems

  • SELinux - Einschränkung aller Prozesse mittels Policy - sehr starker Schutz je nach Policy (strict oder targeted) - nicht ganz trivial zu administrieren
  • execshield - Schutz gegen Pufferüberläufe durch zufällige Adressverschiebungen u. ä. - guter Schutz - erfordert Neubau des Kernels
  • AppAmor - Einschränkung bestimmter Prozesse mittels Policy - guter Schutz, aber schlechter als SELinux

Kernel

Partitionen

Anpassungen von APT

PAM

  • wheel-gruppe - Wechsel nach root nur für User der Gruppe „wheel“

Benutzerverwaltung

Absicherung von Diensten

Grundsätzliche Konzepte

SSH

Webserver

Schützen interner Dienste

Apache

Lighttpd

Chroot

PHP

suhosin, xcache

Firewall

Sinn und Unsinn

  • lutelwall - relativ einfach zu konfigurierender IP-Tables-Filter
  • psad - Port Scan Detector - erkennt Portscans und kann diese blockieren lassen
  • snort - erkennt Angriffsmuster und kann diese auch blockieren lassen
  • hipac - Hochleistungsfilter gegen DDoS-Angriffe
  • fail2ban - blockt IPs die gegen Regeln verstoßen - z. B. SSH Brute-Force-Angriffe
  • eigene Skripte - blockieren von Subnetzen mit hoher Angriffsrate, blockieren von Hosts mit Spamversuchen u. ä.

Überwachung

Munin

Nagios

Logcheck

Logwatch

Bastille

  • bastille - Tool das sicherheitsrelevante Einstellungen prüft und vornimmt
  • Lynis - Systemsicherheits-Abklopftool ;)

Sicherungen

Duplicity

rsnapshot

Hilfe ein Angriff!

Gegenmaßnahmen für DDoS, HTTP-Floods, Bruteforce, Portscans Sicherung von Spuren

Testen

Automatisierte Tests Virtualisierung

 

 
XHTML 1.1 CSS 2 Creative Commons License
Netaddict Version 6.0 - © 1996-2017 by netaddict.de - Kontakt