976 Beiträge rss | 41 Nutzer online

Fernwartung für Linux-Server

Nur in seltenen Fällen sitzt der Systemverwalter direkt vor seinem Linux-Server. Im Normalfall greift er von irgend einem anderen Computer aus auf den Server zugreifen. Dabei muss er auf Sicherheit achten. Der folgende Beitrag zeigt, wie Sie eine sichere Linux-Remote-Shell bekommen und wie Sie den Fileserver Samba über eine sichere Web-Schnittstelle verwalten.

Der große Teil der Serverwartung findet auf der Shell statt. Und die ist auch ein gefährlicher Angriffspunkt für Datendiebe. Deshalb ist die Regel Nummer 1: Erlauben Sie nicht, Verbindungen zum Linux-Server per Telnet herzustellen. Denn der gesamte Telnet-Datenverkehr läuft unverschlüsselt über das Netzwerk. Deshalb ist es in zum Beispiel in Suse-Distributionen nicht erlaubt, sich per Telnet als root anzumelden. Gleichwohl kann man sich als normaler Nutzer anmelden und sich per su zum root aufschwingen.

Den Linux-Server absichern

Am besten ist es, den Telnet-Port und den zugehörigen Server gleich abzuschalten. Bei neueren Distributionen ist das ohnehin von vornherein der Fall. Falls Sie eine ältere Suse-Distribution verwenden, sehen Sie nach, ob der Telnet-Daemon in der inetd eingetragen und dort aktiviert ist. Falls ja, kommentieren Sie Telnet mit einem # aus, speichern Sie die inetd und geben Sie

rcinetd restart

ein, um den Daemon erneut zu starten.

Die sichere Alternative zu Telnet ist SSH, die "Secure Shell". Die stellt eine verschlüsselte und damit abhörsichere Verbindung zwischen zwei Computern her. Auf Suse-Linux ist der entsprechende Daemon bereits installiert, auch den Client können Sie nutzen.

Um zwischen zwei Linux-Rechnern eine abgesicherte Verbindung herzustellen, geben Sie auf Ihrem Rechner ein:

ssh servername

Falls dies die erste SSH-Verbindung zu dem Linux-Computer ist, erscheint eine Meldung wie

The authenticity of host '192.168.0.102 (192.168.0.102)' can't be established.

RSA key fingerprint is c0:b6:8a:db:7f:9c:d4:b1:57:2c:7d:1a:6d:27:90:40.

Are you sure you want to continue connecting (yes/no)?

Den hier verwendeten RSA key fingerprint erzeugt der Suse-Linux-Server bei der Installation. Akzeptieren Sie den "Fingerabdruck" indem Sie yes eingeben und RETURN drücken. Danach wird eine Verbindung zum Rechner hergestellt.

Möglicherweise erscheint auch eine Warnmeldung wie

WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!

In diesem Fall gibt es zwei Möglichkeiten: Ein anderer Server hat sich zwischen Sie und Ihren Zielrechner geschaltet und möchte die Daten abfangen. Die zweite Möglichkeit: Sie haben den Zielserver neu installiert und der hat bei dieser Gelegenheit einen neuen Schlüssel erzeugt. In diesem Fall öffnen Sie in Ihrem Heimverzeichnis den Ordner .ssh und darin die Datei known_hosts. Löschen Sie daraus die Zeile mit der IP oder dem Servernamen des betreffenden Rechners. Achtung: Legen Sie vorher eine Sicherungskopie der Datei an.

Im Normalfall erscheint jedoch nach der Eingabe des SSH-Kommandos die Eingabeaufforderung für ein Kennwort. SSH versucht, Sie mit dem Account-Namen anzumelden, mit dem Sie auch auf dem lokalen Rechner eingeloggt sind. Sind Sie also lokal als root angemeldet, fragt Sie SSH auch nach dem root-Kennwort auf dem Server. Achtung: Selbst wenn der Account nicht auf dem Server existiert, fragt SSH nach einem Kennwort dafür, es gibt also nicht preis, ob ein bestimmter Account auf einem Server besteht oder nicht.

Möchten Sie sich unter einem anderen Namen anmelden, geben Sie den Befehl so ein:

ssh username@192.168.0.102

An Stelle von username tippen Sie den Namen ein, unter dem Sie sich anmelden wollen. Danach geben Sie das zugehörige Kennwort ein und sehen kurze Zeit später den Eingabeprompt. Hier können Sie sich bewegen, als säßen Sie direkt vor dem Rechner an der Konsole.

Windows-Benutzer sollten für die ssh-Verbindung das Programm Putty verwenden, das es unter http://www.chiark.greenend.org.uk/~sgtatham/putty/ zum Download gibt.

Samba per Netzwerk verwalten

Samba lässt man am besten in Ruhe sobald es richtig läuft. Was aber, wenn es regelmäßig etwas zu warten gibt – etwa neue Verzeichnisse, die für Projekte hinzugefügt werden müssen? Dann sollten Sie auf ein bequemes Werkzeug umsteigen, statt direkt in der smb.conf zu wursteln. Dieses Werkzeug heißt SWAT und ist ein Web-Interface zur Bedienung von Samba. Es erlaubt, Grundeinstellungen von Samba vorzunehmen, Ordner freizuschalten und zeigt einen Status-Monitor, über den Sie notfalls Samba abschalten oder neu starten können. Um das Interface zu verwenden, sollten Sie sich mit den Samba-Parametern auskennen. Weitere Kenntnisse sind nicht notwendig.

Samba-Konfigurationsinterface SWAT

Eingerichtet ist SWAT mit Suse 8.2 schnell. Wechseln Sie in das Verzeichnis /etc/xinetd.d und öffnen Sie dort die Datei samba mit einem Editor. Ändern Sie den Parameter disable, so dass hier no steht.

Falls Sie über das Netzwerk auf SWAT zugreifen wollen, geben Sie in der Zeile only_from hinter 127.0.0.1 ein Leerzeichen und den Rechner ein, von dem aus Sie auf SWAT zugreifen wollen, zum Beispiel

only_from 127.0.0.1 192.168.0.20

Natürlich lassen sich hier auch ganze Subnetze angeben, indem Sie als letzte Stelle eine 0 eingeben, etwa:

only_from 127.0.0.1 192.168.0.0

Doch Vorsicht: Dieses Verfahren reicht allenfalls aus, wenn Sie Samba zu Hause oder in einem kleinen, nach außen abgeschotteten Netzwerk betreiben. Denn SWAT verlangt bei der Anmeldung die Eingabe des Benutzernamens, mit dem Sie die smb.conf editieren dürfen. Und das ist im Allgemeinen root. Das Problem: Benutzername und Kennwort werden im Klartext übertragen. Und das stellt eine große Sicherheitslücke dar, wenn ein böswilliger User an der falschen Stelle lauscht. Belassen Sie es also am besten bei der Voreinstellung

only_from 127.0.0.1

und buddeln Sie einen sicheren SSL-Tunnel, wie er im nächsten Abschnitt beschrieben ist.

SWAT sichern

Sicherer ist es, wenn Sie die SWAT-Webkonfiguration durch einen SSL-Tunnel leiten. Das hierfür zuständige Programm heißt stunnel und findet sich auf der Suse-Installations-DVD (oder auf einer der CDs).

Damit Stunnel arbeitet, benötigen Sie einen Schlüssel den Sie im Stunnel-Verzeichnis unterbringen. Anhand dieses Keys identifiziert sich der Server gegenüber dem Browser und baut eine verschlüsselte Verbindung auf. Installieren Sie stunnel und tippen Sie danach folgenden Befehl ein:

/usr/bin/openssl req -new -x509 -days 365 -nodes -config /usr/share/doc/packages/stunnel/stunnel.cnf -out /etc/stunnel/stunnel.pem -keyout /etc/stunnel/stunnel.pem

Hinweis: Hierbei handelt es sich um einen einzigen Befehl, der sich über mehrere Bildschirmzeilen erstrecken kann.

Drücken Sie die RETURN-Taste und beantworten Sie anschließend die Fragen. Der Country Name ist DE, als State or Province Name können Sie Ihr Bundesland eintragen. Danach geben Sie noch Stadt, Firmennamen, Abteilungsnamen und einen Namen für den Server ein. Anschließend wird das Zertifikat hergestellt.

Weiter geht es in der Datei /etc/stunnel/stunnel.conf. Hier entfernen Sie die Kommentarzeichen vor den beiden Einträgen unter [swat]. Das Ergebnis sieht so aus:

[swat]

accept = 902

connect = 901

Das bedeutet: Auf dem Port 902 nimmt Stunnel die Anfrage nach der sicheren Verbindung entgegen und leitet sie intern an Port 901 weiter. Und dort wartet wie gehabt unser SWAT.

Starten Sie den Tunnel mit

rcstunnel start

und wenn Sie wollen tragen Sie ihn zusätzlich mit

insserv stunnel

in die Diensteliste von Suse-Linux ein, so dass stunnel beim nächsten Systemstart auch wieder geladen wird.

Dann probieren Sie Ihren Tunnel aus: Setzen Sie sich an einen anderen PC und geben Sie dortim Browserfenster ein:

https://servername:902

Nach einem Tastendruck auf RETURN bestätigen Sie, dass Sie dem Zertifikat trauen und können anschließend mit der Konfiguration und Steuerung Ihres Samba-Servers loslegen.

Ganz wichtig: SWAT wirft alle Kommentare aus Ihrer smb.conf heraus. Legen Sie also unbedingt zuerst eine Sicherungskopie an, bevor Sie SWAT ausprobieren.

Sicher kopieren mit SCP

Ein wertvoller Helfer im Netzwerk und bei Wartungsarbeiten ist scp – Secure Copy. Dieses Programm kopiert über eine verschlüsselte Verbindung Dateien von einen auf den anderen Computer. Das ist ideal, wenn Sie eben mal ein paar Dateien verschieben wollen, ohne dabei gleich Netzlaufwerke freizugeben oder zu mounten.

Die Syntax von scp ist simpel. Ein Beispiel:

scp /home/go/scripts/*.sh host:/home/ab/scripts

Dieser Befehl kopiert alle Dateien mit der Endung *.sh aus dem Ordner /home/go/scripts auf dem lokalen Rechner in den Ordner /home/ab/scripts auf dem Computer host. Auch bei dieser Kopieraktion werden Sie nach einem Kennwort gefragt. Bei den Benutzernamen geht scp genauso vor wie ssh. Entsprechend dazu kann man scp veranlassen, einen anderen Benutzernamen zu wählen:

scp /home/go/scripts/*.sh user@host:/home/ab/scripts

Entsprechend können Sie auch Dateien von einem anderen Computer auf Ihren Rechner kopieren, zum Beispiel:

scp user@host:/home/cd/* /home/ef

Weitaus weniger komplex in der Bedienung ist übrigens eine Windows-Variante von scp. Die heißt Winscp und ist im Netz unter http://winscp.vse.cz/eng/ erhältlich. Das Programm stellt eine bequem zu bedienende Kopierschnittstelle zur Verfügung, die in der Bedienung an den guten alten Norton Commander erinnert.

Mehr dazu:

Aktualisiert am: 26.11.2005




Ihr Kommentar:


Name:


Copyright © goldmann.de 1999-2012   | Tippscout 5.0
Zurück Startseite