Konfiguration von SSH-Server härten

Hier möchte ich kurz beschreiben wie man einen SSH-Server unter Linux, über welchen normalerweise die Konsolen-Zugriffe statt finden, sicherer konfiguriert bzw. härtet. Dabei wechseln wir aber nicht auf ein anderes Anmeldeverfahren, also zum Beispiel zur Anmeldung mittels Zertifikaten.

Ausgangslage
Auf einem frisch installierten vServer, hier Ubuntu, läuft ein SSH-Server und ihr bekommt das entsprechende Kennwort für den Benutzer „root“ per E-Mail oder im Kunden-Menü.

1. Schritt: Kennwort von root ändern
Das Erste was ihr machen solltet ist das Kennwort des root-Benutzers ändern, da dieses eventuell unverschlüsselt per Mail an euch verschickt wurde, oder durch mehrere Hände  bzw. Systeme ging.

Also per Putty am Server anmelden und folgendes eingeben:

Danach musst du zwei Mal dein neues Kennwort eingeben.

2. Schritt: Neuen Benutzer anlegen
Grundsätzlich sollte man sich nicht direkt mit dem root-Benutzer anmelden, sondern mit einem normalen User arbeiten und per „sudo“ die Befehle ausführen, welche erweiterte Rechte benötigen.

Einen neuen Benutzer kannst du im System wie folgt anlegen, wobei du „deinbenutzername“ durch einen Namen deiner Wahl ersetzt:

Danach kannst du einige zusätzliche Daten zu diesem Benutzer eingeben, oder diese mit der Enter-Taste bestätigen. Nur das Kennwort musst du auf jeden Fall zwei Mal eingeben und bestätigen.

3. Schritt: Benutzer zur sudo-Gruppe hinzufügen
Damit der neu angelegte Benutzer die Befehle mit erhöhten Rechten ausführen kann, musst du ihn der Gruppe „sudo“ hinzufügen. Das machst du wie folgt:

4. Schritt: SSH-Konfiguration anpassen
Nun müssen wir noch die Konfigurationsdatei des SSH-Servers entsprechend anpassen, damit sich nur noch der neue Benutzern anmelden kann und nicht der root-Benutzer direkt.

Dazu öffnen wir die Datei „/etc/ssh/sshd_config“ mit einem Texteditor (vim, nano, …).
Sucht nach „PermitRootLogin yes“ und ersetzt dieses durch „PermitRootLogin no“

Optional könnt ihr noch am Ende der Datei folgendes hinzufügen, wobei ihr wieder „deinbenutzername“ durch euren Benutzernamen ersetzen müsst:
„AllowUsers deinbenutzername“

Zusätzlich könnt ihr noch den Standardport für SSH von 22 auf einen beliebigen (zwischen 1024 und 65535) ändern, indem ihr folgende Zeile bearbeitet:
„Port 22“

Dann die Datei speichern.

Hinweis:
Wichtig ist, dass du eventuell die Firewall anschließend noch anpassen musst!

5. Schritt: Neue SSH-Konfiguration laden
Dann müsst ihr dem SSH-Server noch mitteilen, dass er die neue Konfiguration einlesen und verwenden soll.

Wichtig:
Lasse auf jeden Fall das erste Putty-Fenster noch offen, falls bei der Anmeldung mit dem neuen Benutzer etwas nicht funktioniert.

Das war es schon, jetzt solltest du dich mit deinem neuen Benutzer anmelden können.

Tastenkürzel von Ubuntu mit Gnome

Nachdem ich nun auch im Geschäft mehr und mehr mit Linux (Ubuntu Server 64-Bit und Ubuntu mit Gnome) zu tun habe, werde ich hier auch häufiger meine Eindrücke, Erlebnisse und (Anfänger-) Erfahrungen dokumentieren.
Diese Woche habe ich z.B. nach Tastenkombinationen gesucht, also wie sperre ich meinen Desktop, wie wechsle ich von einem virtuellen Desktop auf den anderen.

Links zu Shortcuts:
Using the Keyboard to Navigate the Desktop” bei Sun.
System Keyboard Shortcuts in Gnome” bei Novell.
GNOME Tastenkürzel” bei Ubuntuusers.
Gnome and Nautilus Keyboard Shortcut Keys” bei Ubuntu-Tutorials.com.
Extensive List of Keyboard Shortcuts for Ubuntu/GNOME Desktop” bei Junauza.com.

Veröffentlicht unter Linux | Verschlagwortet mit

Neues Openbook: Linux – Das umfassende Handbuch

Galileo Computing hat ein neues Openbook zum Lesen (HTML-Version) oder kostenlosen Download (9,3 MByte) zur Verfügung gestellt.
Das Buch mit dem Titel „Linux – Das umfassende Handbuch“ von Johannes Ploetner und Steffen Wendzel ist erst dieses Jahr erschienen (ISBN-13: 978-3-8362-1483-4), umfasst ca. 1.200 Seiten und ist bei Galileo Computing für 39,90 Euro erhältlich.

Nachricht von Linux an Windows-PC senden

Einige Windows-Benutzer kennen den Windowsnachrichtendienst. Mit diesem kann man Nachrichten an einen anderen Windows-Computer, oder Benutzer senden, und dieser bekommt einen Dialog mit der Nachricht angezeigt.
Das Versenden an einen Windows-PC funktioniert auch von Linux aus mit Hilfe des smb-Clients:

Meine ersten Debian-Erfahrungen, Einführung

Nachdem ich nun etwas mehr als zwei Monate mit Linux, Debian im Serverbereich und Kubuntu als Client, verbrachte habe, möchte ich euch hier meine persönlichen Erfahrungen und Erkenntnisse in mehreren Beiträgen näher bringen.

Ich werde mich jedoch erstmal auf Debian beziehen, da ich zum größten Teil damit gearbeitet habe und diese Distribution und der Backend-Bereich mich am meisten interssiert.

Ich bin Windows
Zuerst muss ich gleich mal sagen, dass ich wirklich durch und durch ein Windows-Benutzer bin, was sicherlich einige Freunde und Kollegen sofort bestätigen würden. Ich kenne mehr oder weniger alle Versionen / Editionen, ob Client oder Serverseitig. Ich habe mit DOS 6 und Windows 3.11 meine ersten Erfahrungen gemacht und privat wie auch beruflich habe ich nie ernsthaft diese Schiene verlassen.
Weiter muss ich zugeben, dass ich die „Denke“ von Microsoft irgendwie verinnerlicht habe und es mir sehr leicht fällt die Produkte zu verstehen, egal ob es ein Update oder ein ganz neues Produkt ist.

Wer jetzt aber glaubt, dass ich so ein typischer Windows-User bin, der irrt. Ich habe nie bezweifelt irgendwann einmal auf ein anderes Betriebssystem umzusteigen, aber bis jetzt einfach noch nie einen Bedarf gehabt bzw. Grund gesehen.
Ich bin Prakmatiker und nutze das System, welches mir am besten hilft meine Arbeit zu erfüllen und einfach läuft – Und mit Windows ist das im Clientbereich bis jetzt am besten möglich gewesen wenn man nicht ständig frickeln will.
Im Serverbereich, gerade bei Webservern, Firewalls, Proxys und Routern mag Linux schon ein wenig besser sein. Dafür sind die Active Directory-Dienste mit Fileservern und dem Exchange Server in Kombination auch bis heute noch eine unüberwindbare Hüre für die Linux-Gemeinde.
Kurz: Ich bin nicht auf Windows eingefahren! 8)

Wieso auf einmal Linux!?
Alles hat damit begonnen, dass wir im Geschäft mehrere Squid-Proxyserver für eine Testumgebung benötigten, aber keiner das KnowHow oder die Zeit hatte, diese aufzusetzen. Also habe ich mich dem Thema angenommen, schließlich hatte ich bereits an zwei Linux-Kursen zu je drei Tagen „erfolgreich teilgenommen“. 🙂

Ich habe mir direkt die aktuelle Distribution 4.0R1 von Debian heruntergeladen, da ich wußte, dass diese besonders gut für Server geeignet und kostenlos ist. Einfach mal los legen, die Fragen kommen dann schon… und so sollte es auch sein!

Meine Buchempfehlung
Hier gleich mal noch eine Buchempfehlung von meiner Seite… „Linux-Server mit Debian GNU/Linux„, kostet allerdings um die 45€, die sich aber auf jeden Fall lohnen; Und das sage ich als Anti-Leseratte!

Im nächsten Beitrag wird es um die Installation gehen…

SSH mit „AllowUsers“ und „AllowGroups“ einschränken

Manchmal kann es sehr sinnvoll sein den Login so einzuschränken, dass sich nur noch bestimmte Benutzer oder Gruppen per SSH an dem Linuxsystem anmelden können. Die Lösung liegt ganz nahe und ist noch einfacher umzusetzen.

Alle Einstellungen werden in der Konfigurationsdatei “/etc/ssh/sshd_config” vorgenommen.

Nur bestimmte Benutzer erlauben:
AllowUsers user1 user2

Nur bestimmte Benutzer von bestimmten Computern:
AllowUsers user1@computer1 user2@computer2

Alle Benutzer einer Gruppe:
AllowGroups gruppe1 gruppe2

Sollen mehr Benutzer / Gruppen Zugriff erhalten als ausgeschlossen werden, so kann die Verwendung von „DenyUsers“ und „DenyGroups“ hilfreich sein.

Info:
Die Benutzer müssen auf dem System existieren, sonst klappt keine Anmeldung.

Grub mit einem verschlüsselten Passwort sichern

Grub ermöglicht es, vor dem Bootvorgang von Linux eine Single-User-Shell mittels „init=/bin/sh“ zu starten, was eine Risiko für die Systemsicherheit darstellt. Dies kann verhindert werden, indem ein Passwort in den Konfigurationen gesetzt wird.

Unsichere Möglichkeit:
In der Datei „/boot/grub/menu.lst“ gibt es einen auskommentierten Parameter namens „password“ (Zeile 30). Bei diesem einfach das „# “ entfernen und das gewünschte Kennwort dahinter schreiben.

Sichere Option:
Um die Integrität des Passwortes zusätzlich abzusichern, sollte dieses verschlüsselt abgelegt werden. Das Dienstprogramm „grub-md5-crypt“ erzeugt ein gehashtes, welches kompatibel mit Grub’s Verschlüsselungsalgorithmus (MD5) ist.
Um Grub mitzuteilen, dass ein Passwort im MD5-Format verwendet wird, einfach die folgende Anweisung in die Datei schreiben: „password –md5 Hashwert

IP-Forwarding unter Linux aktivieren

In dem Beitrag „Prüfen ob IP-Forwarding aktiviert ist“ habe ich gezeigt wie man den Status der Funktion prüfen kann. Nun möchte ich den Wert verändern…

Aktivieren:

Und nun wieder deaktivieren: