# [OT] Serversicherheit

## slick

Ich las gerade mit Interesse https://forums.gentoo.org/viewtopic.php?t=112622 und hätte hierzu mal ein paar simple "just-for-info" Fragen.

Wenn ich mir mal den typischen meine-Möglichkeiten-beim-ISP-XYZ-sind-zu-wenig-und-hol-mir-jetzt-einen-Rootserver - User anschaue. OK, er bekommt es hin Gentoo ordentlich aufzusetzen, ist als einziger auf der Maschine und ist sogar in der Lage einen funktionieren Paketfilter einzurichten, welcher nur SSH und HTTP von außen zulässt. SSH hat er auf nen Port > 1024 gelegt damit er nicht so schnell von simplen Scans gefunden wird. 

Sehe ich das richtig dass die einzige Sicherheitslücken dann 

1. Version von SSH

2. Konfiguration des Apache

3. (unsichere) Scripte (PHP, Perl, etc.) im Apache

währen. 

Wenn man sicherstellen könnte, dass die Angriffsflächen 1-3 nicht vorhanden wären, wäre es doch eigentlich vollkommen egal wie der Server "intern" konfiguriert ist. 

Also wo ich drauf hinaus will, welche Möglichkeiten hätte denn ein Eingreifer von extern an das System zu kommen, wenn o.g. Vorraussetzuneg erfüllt wären? (1 User, Paketfilter, Software up-to-date, und Webserver wäre voll safe, sämtliche Kommunikation über SSH, ausgenommen HTTP)

Interessiert mich aus 2 Gründen:

1. Habe auch schon mal mit dem Gedanken Root-Server gespielt, bin aber lokal am üben  :Wink: 

2. Denke mal mein DSL-Router (gentoo) ist save, aber versuche mir mögliche Szenarien vorzustellen...

----------

## thedave

Du kalkulierst zu optimistisch.   :Laughing: 

Und was ist, wenn der Paketfilter kompromittierbar ist? Zack, im worst case hat man dann Zugriff auf den wunderbar miserabel konfigurierten Server und im Idealfall ist man mit einem remote ausführbaren Exploit irgendeines Dienstes "drin".

Durch eine Mauer kann man mit einem Fahrzeug welches groß und schwer genug ist durchfahren, bei mehreren Mauern wird es da schon schwieriger... irgendwann bleibt dann selbst das schwerste Fahrzeug in einer der Mauern stecken. (hoffentlich  :Smile: )

 *Quote:*   

> 2. Denke mal mein DSL-Router (gentoo) ist save, aber versuche mir mögliche Szenarien vorzustellen...

 

Sicherheit ist eine subjektive Einschätzung, nie ein Fakt - da es 100%ige Sicherheit nicht gibt. Gut, ausser du ziehst dauerhaft den Netzstecker   :Razz: 

Die Wahrscheinlichkeit das sich jemand für deinen lokalen Rechner interessiert ist allerdings recht gering.  :Wink: 

----------

## dertobi123

Spätestens dann wenn es eine Sicherheitslücke im Apache oder einem Apache Modul gibt, und ein Exploit in Umlauf gerät, bevor du das System aktualisieren kannst geht die Rechnung nicht mehr auf.

Es gibt keine 100% sicheren Systeme. Man kann es potentiellen Angreifern nur so schwer wie möglich machen.

 *thedave wrote:*   

> Die Wahrscheinlichkeit das sich jemand für deinen lokalen Rechner interessiert ist allerdings recht gering. 

 

Würde ich bezweifeln, wie oft hört man von Leuten, denen der Heimserver gehackt wurde? Gut, in den meisten Fällen ist dann Unwissenheit und grobe Nachlässigkeit schuld, aber auch ein Heimserver ist ein potentielles Ziel.

----------

## ian!

 *dertobi123 wrote:*   

>  *thedave wrote:*   Die Wahrscheinlichkeit das sich jemand für deinen lokalen Rechner interessiert ist allerdings recht gering.  
> 
> Würde ich bezweifeln, wie oft hört man von Leuten, denen der Heimserver gehackt wurde? Gut, in den meisten Fällen ist dann Unwissenheit und grobe Nachlässigkeit schuld, aber auch ein Heimserver ist ein potentielles Ziel.

 

ACK.

Siehe Signatur. Was da täglich an Standard-Exploits ankommt ist in diesen Adressbereichen schon verwunderlich.

ian!

----------

## amne

 *slick wrote:*   

> SSH hat er auf nen Port > 1024 gelegt damit er nicht so schnell von simplen Scans gefunden wird. 
> 
> 

 

Natürlich wird primär Port 22 nach ssh-Servern abgesucht, neuere Versionen von nmap haben aber auch schon Service-Detektion eingebaut:

```
PORT     STATE  SERVICE      VERSION

1025/tcp open   ssh          OpenSSH 3.7.1p2 (protocol 2.0)

```

Ich würde auf jeden Fall tcp-wrappers (hosts.allow/hosts.deny) und/oder (besser und) einen Paketfilter einsetzen, um ssh nur aus jenem Addressbereich zuzulassen, aus dem ich selbst komme. Sofern es Useraccounts auf diesem Rechner gibt, ist diese Maßnahme wohl nicht mehr durchführbar.

Ansonsten gilt wie schon erwähnt: Doppelt hält besser, je schwieriger du es einem potentiellen Eindringling machst, desto besser.

----------

## slick

@all

ok, ich sage ja nicht Sicherheit ist Bullsh*t, aber ich denke mal je nach Szenario muss man Kompromisse eingehen. Schönstes beispiel sind einstellungen in hosts.deny/.allow. 

Die Frage ist allerdings ob es wirklich Leute gibt welche für ihr kleines Heimnetzwerk mit max. 3 Clients am DSL-Router (oder sonstwo) ein IDS aufsetzen und eine komplexe DMZ einrichten. 

Was mir übrigens bei solchen Überlegungen zum Thema Aktualität der Software eingefallen ist, würde ich ein "emerge security" vorschlagen, welche nur potenzielle "Security-Updates" einspielt, da ein emerge world meist viele "unnütze" (Nicht falsch verstehen!) Updates enthält. Ein emerge security könnte man dann theoretisch per cron laufen lassen, was bei einem emerge world nur der noob machen würde.  :Wink: 

----------

## dertobi123

 *slick wrote:*   

> Was mir übrigens bei solchen Überlegungen zum Thema Aktualität der Software eingefallen ist, würde ich ein "emerge security" vorschlagen, welche nur potenzielle "Security-Updates" einspielt, da ein emerge world meist viele "unnütze" (Nicht falsch verstehen!) Updates enthält. Ein emerge security könnte man dann theoretisch per cron laufen lassen, was bei einem emerge world nur der noob machen würde. 

 

Was spricht dagegen die gentoo-announce Liste zu lesen und bei GLSAs betroffene Pakete manuell upzudaten? Zu dem Thema gibt's btw auch ein GLEP.

----------

## mflatischler

Hi an alle,

Wenn ich da mitreden darf, will ich nur etwas schreiben betreffend dem o. g. Threadtitel...

Falls doch jemanden durch einen Firewall kommt, könnte da honeyd etwas Hilfe schaffen.

Die Infos sind hier: http://www.citi.umich.edu/u/provos/honeyd/

----------

## sirro

 *slick wrote:*   

> Was mir übrigens bei solchen Überlegungen zum Thema Aktualität der Software eingefallen ist, würde ich ein "emerge security" vorschlagen, welche nur potenzielle "Security-Updates" einspiel

 

 *http://www.gentoo.org/security/en/glsa wrote:*   

> 
> 
> 3. Portage Integration (pending)
> 
> The GLSA process will also be integrated with Portage to allow users to run emerge --security or a similar command and get only security-related updates and dependencies for their system. The feature requirements and process definitions are still being finalized, but the final product is expected to work in a fashion similar to the one outlined below: 
> ...

 

Ob das im ernstfall besser ist als GLSA lesen und selber reagieren sei dahin gestellt. Immerhin muss man beachten, dass ein emerge --security solange es portage basierend ist auf ein emerge sync angewisen ist. mit emerge sync sollte man sich aber zurückhalten (max 1-2mal/tag).

Die Idee Die XML-Dateien im Web auszulesen ist natürlich ein guter Schritt. wobei das lesen von GLSA imho weiterhin dazugehören sollte!

----------

## jay

 *amne wrote:*   

> um ssh nur aus jenem Addressbereich zuzulassen, aus dem ich selbst komme. 

 

Eine weitere Möglichkeit der Absicherung oben drauf des bisher Erwähnten, ist der Einsatz von paßwortgeschützten SSH-Keys und der Abschaltung der Paßwort-Only-Logins.

Des weiteren möche ich jedem das Gentoo Security Manual ans Herz legen.

----------

## warlord

Eine weitere möglichkeit, einen Server zu sichern, stellt "LIDS" (Linux Intrusion detection System) dar! (Gibt auch ähnliche u. vergleichbare Systeme!).

Hier unterbinde ich einfach z.B. für bestimmte Dienste den Zugriff auf "relevante" Daten. Nehmen wir nen simples Szenario - nen Angreiffer hat nen Apache übernommen - und is somit in meinem System drin. Nun will er meine Passwort-Datei auslesen - idR. kein grösseres Problem.

Nun kann ich aber mittels LIDS eine Regel erstellen, die besagt, das der Apache-Prozess eben KEINE Leserechte im /etc-Verzeichnis hat (dann sollte ich natürlich benötigte Konfig-Dateien tunlichst auch aus dem /etc rausnehmen...). Dann hilfts dem Angreiffer wenig, wenn er zwar den Apache hat - aber z.B. NUR im Apache-Verzeichnis selbst u. im Webroot-Verz. rumtoben darf...

Aber natürlich ist auch das nur *ein* schritt zum Sicheren Server - der Weg selbst is noch weit  :Wink: 

----------

## toskala

na da haben wir wieder einen thread beisammen...

faktisch sieht es so aus, dass 100% nicht gehen, darauf will ich auch gar nix weiteres sagen.

aber es ist naiv zu denken das man sicherheit auf 3 produkte reduzieren kann.

wenn ich mir ankucke wieviel rechner in den letzten jahren aufgemacht wurden (von denen ich mitbekommen habe) dann sind das zu 90% multiuser kisten und von diesen 90% hatten 80% einfach die updaterei verschlafen.

ohne pflege ist ein system immer unsicher.

ein paketfilter ist völlig sinnbefreit wenn es keine dienste gibt die man beschützen möchte. das wesen eines root-server ist ja aber, dass die dienste die darauf laufen für die allermeisten betreiber, von aussen zugänglich sein sollen. das schließt das firewallen leider schonmal zu grossen strecken aus, weil volksprovider t-online wegzumachen is irgendwie doof.

prinzipiell sind die grundregeln des härtens anzuwenden, dann wird man schonmal einen grossen batzen sorgen los, dann kann man über grsec nachdenken, ssh mit keys wie jay sagte, dienste evlt. in chroot-jails einbauen (wobei das zuweil problematisch ist), aide, snort und dann braucht man natürlich vor allem eins: zeit und erfahrung.

gedankenverbrecher die nichtmal linux auf einer workstation installiert bekommen sollten auch die finger von servern lassen   :Wink: 

----------

