Bezgl. Basis-System hat gierig eigentlich alles gesagt. Was den Webserver (so Du denn einen betreibst) anbelangt, würde ich folgendes vorschlagen:
- Skriptsprachen (Perl, PHP, Python) per CGI, FastCGI oder WSGI anbinden - auf Systemen mit mehreren "Kunden" Finger weg von mod_php, mod_perl, mod_python & Co.
- Wrapper (suexec, suPHP) verwenden, um (Fast)CGI-Prozesse für jeden virtuellen Host unter einem eigenen User zu starten
- (Fast)CGI-Prozesse in jeweils eigene chroot-Jails für jeden virtuellen Host einsperren
- Kernel mit grsecurity oder RSBAC härten, um besagtes Jail auch ausbruchsicher zu machen
- mod_security in den Apachen einbauen und sinnvoll(!) konfigurieren
- Ein ausgedehntes Monitoring* aufsetzen, das "komisches" Verhalten erkennt und meldet (z. B. Skripte, die Verbindung nach "draußen" aufnehmen, exzessives einkippen von Mails in die Mailserver-Queue, maßlosen Ressourcen-Verzehr, etc).
- Auf keinen Fall automatische Reaktionen (aktive Intrusion Prevention) auf erkannte Einbruchsversuche vorsehen - egal ob auf eingebildete oder tatsächliche. Automatiken haben nämlich die unangenehme Eigenschaft, nur so dumm oder schlau zu sein, wie sie programmiert wurden. Egal wie raffiniert sie sind, wurden sie erst mal entdeckt, sind ihre Reaktionen für einen Angreifer vorhersehbar, und er kann sie für seine eigenen Zwecke einspannen.
* Manche nennen das auch "intrusion detection", aber ich finde, das klingt zu hochtrabend und fasst auch nicht alles, was dazugehört. Es geht schlicht darum, Anomalien rechtzeitig zu bemerken, die den Betrieb des Systems beeinträchtigen können. Dazu gehören neben Angriffen durch Cracker auch verreckende Festplatten, ausgefallene Lüfter, eine überhitzte CPU, ein NIC im falschen Modus, ...
luksus wrote:ich hab nun mein Debian System eingerichtet. Nun möchte ich von euch wissen, ob das System ausreichend gegen Angriffe gesichert ist.
Die klare Antwort lautet: das kommt darauf an. Was ist für Dich ausreichend? Du musst immer davon ausgehen, dass Dein System geknackt werden kann, egal was Du Dir an Sicherheitsmaßnahmen einfallen lässt. Die Frage ist nur, wie selten darf das vorkommen oder wie teuer die Gegenmaßnahmen sein (teuer nicht unbedingt im Sinne von Geld, sondern auch in Form von Ressourcen, Arbeitszeit, Betreuungsaufwand, umständliche Handhabung z. B. durch komplizierte Prozeduren, etc.). Letztendlich musst Du für Dein Projekt selbst diese Balance zwischen Kosten und Nutzen von Sicherheitsmaßnahmen abwägen. Dazu gehört aber auch ein intensiverer Blick auf die möglichen Schäden, die bei einem (unbemerkten) Hack entstehen können, von Verdienstausfällen, Regressforderungen aus SLAs bis hin zu Schadenersatzforderungen und Strafzahlungen, weil von Deinem System aus andere Systeme oder die Infrastruktur des Providers in Mitleidenschaft gezogen wurde.