Sicher ist Sicher

Eigentlich sollte es Standard sein. Aber eigentlich gibt es das Wort eigentlich nicht.

Worum es mir bei diesem Beitrag geht, ist folgendes. Man soll einen root Server übernehmen aus welchen Gründen auch immer. Kurze Mail-Korrespondenz:

IS: schickst mir noch schnell die Zugangsdaten und Status?
AW: Version glaube Debian Lenny. Der läuft seit X Jahren stabil.
IS: SSH Zugang?
AW: Benutzer root ip xx.xx.xx.xx Passwort server32007

Was mich jetzt schon stört ist:

  • Das Wort glaube (Passt in die Kirche aber nicht auf einen Server)
  • Das Passwort …  (selbst Standard pwgen -s gibt sicherere Passwörter aus)
  • Port?? … Standard

Also legen wir los und verbinden uns mit dem Server.

ssh root@xx.xx.xx.xx

Als nächstes ein Update und wenn es sein muss ein Upgrade. Ich habe Glück und es reicht ein update. (Ich habe natürlich vorher alle Abhängigkeiten, laufende Dienste, Anwendungen und die Logs begutachtet! Dies lasse ich bei diesem Beitrag einmal außer acht!) Es geht schlicht und einfach um eine Server Grundsicherung!

apt-get update ; apt-get upgrade -y

Nach einem Kaffee (2 Etagen höher) und einer Zigarette (4 Etagen tiefer) ist auch dieses Update durch. Wahnsinn. Ich starte einen Linux Server neu. Vorher noch kurz einen Blick auf die Uptime

uptime

Und einen Jahreswert in den „Highlightkalender“ einpflegen. Danach Grundlagen schaffen ;)
Netzzeit kannte der Server auch noch nicht.

apt-get install sudo ntpdate pwgen

Einen Benutzer anlegen der Standard keine root Rechte hat

adduser benutzername

Danach das ganze Prozedere wie Name, Telefonnummer und Passwort. Zum Thema Passwort, dass Tool pwgen ist super falls einem die Ideen ausgehen. Sichere Zufallspasswörter lassen sich schon mit

root@Server1:~$ pwgen -s 10
Ah0lAphBFU w5RhGK1zu0 pwVlPlo95P i7aFT2TEsu CiyrKo1o4v 82yMLAhKBk zcmSqB071l
qRy7V8E8f5 q0255PqczM 2oht8HFXSj b3ia5PGg15 rfrzt2xSd9 Kb89rAdIKd gVkqI9PvJJ
GY2CF30ykI DVbP8O8EX3 e4ZRwmbDMQ sVY9NEsmNN JP6olaOPTE lMa0Srgi8V vbQkoRLg84

erstellen. Wer Paranoia hat kann auch den Schalter -y verwenden

root@Server1:~$ pwgen -s -y 8
sb!0iPR- 9tMjft&z w]Bw!h0w [Vwi1@2n /BAo_i9u $Tfc1#f| Q!RT2,N$ f;k["#M0
So6?g'Op 7Be_`$y{ \#N"!"3b Ot3/hp)C }tX"1qDr r^*mC0Yu cY!7k#ww vP{dl'&8
DO6jE7+, (I"AQE0u 0qcH-l)n !&9waBsB m#sJ1:{8 s5v9]'Es $o9/BV%_ Cmt~4aM8

Die Zahl am Ende gibt die Anzahl der Zeichen an. Genaueres bringt pwgen –help oder man pwgen zu Tage.
Jetzt verpassen wir dem neuen Benutzer einen „sudo“ Zugang.

vim /etc/sudoers

Und fügen folgende markierte Zeile ein

[...]
# User privilege specification
root    ALL=(ALL) ALL
benutzername      ALL=(ALL) ALL
[...]

Somit hat der Benutzer benutzername nach einem sudo alle Rechte die root auch hat. Wer mehr über sudoers erfahren möchte, man sudo schafft Abhilfe :)

WICHTIG
Als nächstes teste ich auf einer anderen Konsole von meinem Client aus die Verbindung mit dem neuen Benutzer und das sudo! Erst DANACH stelle ich die sshd_config um! Nicht das man sich komplett vom Server aussperrt !!!
WICHTIG

Als nächstes nehme ich mir die sshd_config vor.

vim /etc/ssh/sshd_config

Darin passe ich folgende stellen an

[...]
# What ports, IPs and protocols we listen for
Port 22
# Use these options to restrict which interfaces/protocols sshd will bind to
[...]
# Authentication:
LoginGraceTime 120
PermitRootLogin yes
StrictModes yes
[...]

Und ändere diese in

[...]
# What ports, IPs and protocols we listen for
Port 52116
# Use these options to restrict which interfaces/protocols sshd will bind to
[...]
# Authentication:
LoginGraceTime 120
PermitRootLogin no
StrictModes yes
[...]

Damit habe ich den SSH Port vom Standard 22 entfernt und root das komplette anmelden (direkt) am Server via SSH untersagt. Daran denken, DYNAMIC PORTS verwenden!

Jetzt noch ein Neustart des Dienstes

/etc/init.d/ssh restart

Und der Server ist ein wenig sichererer. Ab diesem Zeitpunkt erreicht man den Server mittels

ssh benutzername@xx.xx.xx.xx -p 52116

Versucht man sich mit dem Benutzer root direkt anzumelden erscheint
Permission denied, please try again.
oder
ssh: connect to host xx.xx.xx.xx port 22: Connection refused
Je nach dem ob man ein Port angegeben hatte oder nicht.

WICHTIG
Als nächstes teste ich auf einer anderen Konsole von meinem Client aus die Verbindung mit dem neuen Port und neuen Benutzer und das sudo! Erst DANACH logge ich mich mit dem root Benutzer aus! Nicht das man sich erneut komplett vom Server aussperrt !!!
WICHTIG

 

Ein Gedanke zu „Sicher ist Sicher

  1. Pingback: Alzheimer Passwort | Linux Welten

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.