6 Tipps

Linux-Server im Netzwerk absichern

Der eigene Linux-Server kann im 19-Zoll-Rack eines Hosters stehen oder aus einer Platine im Format eines Raspberry Pi bestehen: Sobald der Server an einem Netzwerk teilnimmt, sind Vorkehrungen zur Serversicherheit Pflicht.

Ein Linux-System ist nicht per se sicher, nur weil es den Linux-Kernel und bewährte Open-Source-Programme kombiniert. Ein System kann nur so nur sicher sein wie seine Konfiguration. Die größten Lücken werden nicht von genialen Hackern gerissen, sondern durch die Nachlässigkeit des Administrators.

Ein-Platinen-Computer wie der Raspberry Pi haben den Aufwand erheblich gesenkt, von zu Hause aus einen kleinen Linux-Server zu betreiben. Virtuelle Serverinstanzen bei Massenhostern erlauben den Betrieb eines Serversystems mit richtig schneller Internetanbindung für wenige Euro im Monat und bieten dabei volle Kontrolle für root – wie ein physikalisches System.

Sozialverträgliche Kosten bedeuten aber nicht, dass es damit auch einfach geworden ist, einen Server sicher zu betreiben. Auch wenn zum Serverbetrieb geeignete Linux-Distributionen wie Debian, Ubuntu Server, Open Suse oder Cent-OS mit einer sinnvollen Basiskonfiguration ausgeliefert werden, so müssen angehende Linux-Administratoren doch selbst einige Sicherheitsvorkehrungen treffen. Auch wenn der Server im Internet nur wenig Dienste für den eigenen Bedarf anbietet oder der heimische Miniserver nur an einer DSL-Leitung hängt und über eine dynamischen Hostadresse erreichbar ist, werden hin und wieder ungebetene Besucher anklopfen und Einlass begehren. Dahinter stecken sehr selten gezielte Angriffe, sondern in fast allen Fällen automatisierte Scans, die stur einen Adressbereich abklappern, um nach typischen Sicherheitslücken und Einfallstoren zu suchen. Die ersten Schritte auf einem frisch eingerichteten Server sollten deshalb immer der Absicherung gewidmet sein.

1. Administration: Nur mit sudo

Ein fester Bestandteil jeder Linux-Distribution ist das von Unix geerbte sudo, kurz für „substitute user do“. Das Programm erlaubt einem Benutzer, Befehle im Kontext eines anderen Benutzerkontos auszuführen, beispielsweise als root. Der Vorteil: Eine Anmeldung als allmächtiger root-User ist dazu nicht nötig und sollte im Anschluss auch gleich deaktiviert werden. Für die Verwendung von sudo muss das root-Passwort nicht bekannt sein. Es genügt zur Systempflege ein gewöhnliches Benutzerkonto, das in der Konfiguration von sudo spezifiziert sein muss, um Programme und Befehle in der Shell gezielt mit root-Privilegien ausführen zu dürfen.

Ubuntu brachte sudo einem großen Anwenderkreis näher, denn bei dieser Distribution ist es vorkonfiguriert und die Anmeldung als root ist schlicht deaktiviert, damit Anwender gar nicht erst auf die Idee kommen, den root-Account zu nutzen. Raspbian folgt diesem Beispiel und stattet den Standardbenutzer „pi“ mit sudo aus. Bei Cent-OS gibt es während der Installation die Option „Diesen Benutzer zum Administrator machen“ und bei Open Suse „Dieses Passwort für den Systemadministrator verwenden“, um das ersterstellte Benutzerkonto gleich für sudo freizuschalten. Die manuelle Aufnahme von Benutzern zu sudo erfolgt über das Konfigurationstool visudo, das als root oder mit vorangestelltem sudo ausgeführt wird. Dort gibt die angehängte Zeile

sepp ALL=ALL

dem Benutzer „sepp“ das Recht, beliebige Befehle per sudo mit root-Rechten auszuführen.

Cent-OS 7: Der erste angelegte Benutzer wird mit der Option „Diesen Benutzer zum Administrator machen“ für sudo freigeschaltet.
Cent-OS 7: Der erste angelegte Benutzer wird mit der Option „Diesen Benutzer zum Administrator machen“ für sudo freigeschaltet.