LPIC102/110.3 Daten durch Kryptografie schützen: Unterschied zwischen den Versionen

Aus Foxwiki
Meikschwalm (Diskussion | Beiträge)
Meikschwalm (Diskussion | Beiträge)
Zeile 85: Zeile 85:
* RSA-Authentifizierung aktiv
* RSA-Authentifizierung aktiv
* Standardport für ausgehende Verbindungen festlegen
* Standardport für ausgehende Verbindungen festlegen
<br>
 
* Die Optionsnamen innerhalb dieser Datei sind ansonsten selbsterklärend oder in der Manpage nachzuschlagen.
* Die Optionsnamen innerhalb dieser Datei sind ansonsten selbsterklärend oder in der Manpage nachzuschlagen.
* Die beiden gerade besprochenen Dateien kann man aufgrund ihrer Namensähnlichkeit schnell verwechseln.
* Die beiden gerade besprochenen Dateien kann man aufgrund ihrer Namensähnlichkeit schnell verwechseln.
Zeile 96: Zeile 96:
* ''hosts.allow'' hat Vorrang vor der Datei ''hosts.deny.
* ''hosts.allow'' hat Vorrang vor der Datei ''hosts.deny.
* Wird einem Host der Zugriff auf SSH durch ''hosts.allow'' gewährt, kann das durch keinen Eintrag in hosts.deny zurückgenommen werden.
* Wird einem Host der Zugriff auf SSH durch ''hosts.allow'' gewährt, kann das durch keinen Eintrag in hosts.deny zurückgenommen werden.
<br>


''/etc/nologin''
''/etc/nologin''

Version vom 29. Juli 2019, 21:09 Uhr

SSH Daemon

  • Das Paket openssh-server installiert die serverseitige Komponente von SSH.
  • Folgende Befehle starten unter systemd den SSH Dienst.
# systemctl start sshd.service
# systemctl enable sshd.service

SSH-Client

  • Die Verbidung startet ssh.
  • Host-Namen bzw. die IP-Adresse wird angegeben.
  • Anschliessend folgt die Eingabe des Kennwortes.
$ ssh server
root@server's password:
  • Zwei Wege um sich mit einem alternativen Benutzerkonto anzumelden:
$ ssh -l willi server
$ ssh willi@server

Grafische Anwendungen unter X tunneln

  • SSH-Verbindung wird von einem X-Terminal aus mit der zusätzlichen Option -X (großes X) initiiert.
$ ssh -X server
  • Auf der Konsole des Remote-Systems führt man die Anwendung aus:
user@server:~ $ libreoffice
  • Grafische Ausgabe und Bedienung erfolgt lokal am SSH-Client-Rechner.
  • Das hier beschriebene Verfahren wird als X11-Tunnel bezeichnet.

Weiterleitung anderer Ports durch einen SSH-Tunnel.

  • Als Beispiel, der Zugriff auf einen Terminalserver im entfernten Netzwerk hinter einem SSH-Server.
  • IP-Adresse des Terminalservers 192.168.50.10
  • Terminalserver lauscht an Port 3389
  • IP des SSH-Server 119.117.63.126
  • Zunächst wird die SSH-Verbindung initiiert.
ssh 119.117.63.126 -L 4711:192.168.50.10:3389
  • Option -L leitet Port 4711 an 192.168.50.10 mit Portnummer 3389 weiter.
  • Verbindungen werden an 192.168.50.10:3389 weitergeleitet.
  • Terminal-Dienste-Clients (z. B. remmina) nutzen nun als Ziel localhost:4711

Hinweis
Auch vom Windows-Computer aus kann mittels PuTTy auf einen Linux-Host zugegriffen werden.
Läuft ein X-Server auf dem Windows-Computer (z. B. Xming oder Cygwin), ist auch das Tunneln von Ports inklusive X11 durchführbar.

  1. WEITERLEITUNG PuTTY - ein freier SSH-Client

SSH-Konfigurationsdateien

/etc/ssh/sshd_config

  • Die Konfigurationsdatei sshd_config dient der Konfiguration von sshd, also den SSH-Server.
Port 22
Protocol 2
ListenAddress 192.168.0.58
PermitRootLogin no
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_ecdsa_key
HostKey /etc/ssh/ssh_host_ed25519_key

Erläuterung:

  • sshd verwendet den Standardport 22.
  • Ausschließlich SSH-2-Verbindungen.
  • Zugriff auf Schnittstelle des Rechners: 192.168.0.58
  • Kein login für root.
  • Als Hostkey kommen RSA, ECDSA und Ed25519 in Frage.

Hinweis
Auf die Authentifizierung mit Schlüsseln und ssh_known_hosts Datei wird später näher eingegangen.


/etc/ssh/ssh_config

  • Die Konfigurationsdatei ssh_config.
  • Sie dient der clientseitigen Konfiguration von SSH.

z.B.

  • Clientseitige X11-Weiterleitung oder Passwortauthentifizierung
  • RSA-Authentifizierung aktiv
  • Standardport für ausgehende Verbindungen festlegen
  • Die Optionsnamen innerhalb dieser Datei sind ansonsten selbsterklärend oder in der Manpage nachzuschlagen.
  • Die beiden gerade besprochenen Dateien kann man aufgrund ihrer Namensähnlichkeit schnell verwechseln.



/etc/hosts.allow und /etc/hosts.deny

  • Die beiden Dateien steuern wie die oben beschriebenen Dateien, den Zugriff auf SSH.
  • hosts.allow hat Vorrang vor der Datei hosts.deny.
  • Wird einem Host der Zugriff auf SSH durch hosts.allow gewährt, kann das durch keinen Eintrag in hosts.deny zurückgenommen werden.



/etc/nologin

  • Mit dem erstellen einer leeren Datei namens /etc/nologin lässt sich der Zugriff auf SSH verhindern.
  • Nur root kann sich dann noch am System anmelden.
  • In dieser Datei kann auch eine Nachricht an Benutzer hinterlassen werden die sich lokal anmelden wollen.

Wichtigste Wissensgebiete

  • einen OpenSSH-2-Client grundlegend konfigurieren und verwenden
  • die Rolle von OpenSSH-2-Rechnerschlüsseln verstehen
  • GnuPG grundlegend konfigurieren und verwenden
  • GPG verwenden um Dateien zu verschlüsseln, entschlüsseln, signieren und zu überprüfen
  • SSH-Port-Tunnel (auch X11-Tunnel) verstehen

Liste wichtiger Dateien, Verzeichnisse und Anwendungen

  • ssh
  • ssh-keygen
  • ssh-agent
  • ssh-add
  • ~/.ssh/id_rsa und id_rsa.pub
  • ~/.ssh/id_dsa und id_dsa.pub
  • ~/.ssh/id_ecdsa und id_ecdsa.pub
  • ~/.ssh/id_ed25519 und id_ed25519.pub
  • /etc/ssh/ssh_host_rsa_key und ssh_host_rsa_key.pub
  • /etc/ssh/ssh_host_dsa_key und ssh_host_dsa_key.pub
  • /etc/ssh/ssh_host_ecdsa_key und ssh_host_ecdsa_key.pub
  • /etc/ssh/ssh_host_ed25519_key und ssh_host_ed25519_key.pub
  • ~/.ssh/authorized_keys
  • ssh_known_hosts
  • gpg
  • gpg-agent
  • ~/.gnupg/


#WEITERLEITUNG 110.3 SSH Authentifizierung mit Schlüsseln

Quellenangaben

Meikschwalm (Diskussion) 21:38, 29. Jul. 2019 (CEST)