Archiv für ‘SSH’

OpenSSH Snapshot mit ED25519 SSHFP

21. Januar 2014 17:19 | Autor: Marc | 1 Kommentar | Kategorie(n): Allgemeines

Um OpenSSH mit ED25519 zu nutzen, muss nur eine aktuelle Snapshot-Version besorgt, kompiliert und installiert werden.
Das geht wie gewohnt mit configure/make/make install. Für die meisten Linux-User macht es Sinn, configure mit den Parametern –prefix=/usr –sysconfdir=/etc/ssh zu starten, sofern OpenSSH bereits in irgendeiner Vorgängerversion installiert war. Die bestehende Konfiguration wird dabei nicht geändert.

Soll OpenSSH auch mit passenden SSHFP-Resource Records umgehen können, muss spätestens vor dem make dieser Patch angewendet werden. Dafür wird einfach im Verzeichnis openssh, das tar beim Auspacken des Snapshot angelegt hat, folgendes ausgeführt:

$ patch </PFAD/PATCHFILE

Zu den ED25519 SSHFP-RR ist allerdings zu sagen, dass ein RFC hierzu noch aussteht, womit es diesen Typ offiziell noch nicht gibt.

 

Während der Installation wurde ein ED25519-HostKey angelegt. Dieser findet sich, wenn configure entsprechend angewiesen wurde, im Verzeichnis /etc/ssh und sollte der ebenfalls dort residierenden sshd_conf bekannt gemacht werden.

  # HostKeys for protocol version 2
  HostKey /etc/ssh/ssh_host_rsa_key
  HostKey /etc/ssh/ssh_host_ecdsa_key
  HostKey /etc/ssh/ssh_host_ed25519_key

 

Damit identifiziert sich der Rechner mit einem ED25519-HostKey.
Damit ein Verbindungsaufbau mit dem Key Exchange Algorithmus ED25519 und dem Cipher chacha20, der so wie ED25519 ebenfalls von Daniel J. Bernstein stammt, stattfinden kann, müssen noch die Prioritäten dieser entsprechend in den Konfigurationsdateien angegeben werden.
Ein Beispiel kann wie folgt aussehen.

sshd_config (Server)

  Ciphers chacha20-poly1305@openssh.com,aes256-gcm@openssh.com (...)
  KexAlgorithms curve25519-sha256@libssh.org,ecdh-sha2-nistp521,ecdh-sha2-nistp384 (...)

ssh_config (Client)

  HostKeyAlgorithms ssh-ed25519-cert-v01@openssh.com,ssh-ed25519,ecdsa-sha2-nistp256-cert-v01@openssh.com (...)
  Ciphers chacha20-poly1305@openssh.com,aes256-gcm@openssh.com,aes256-ctr,aes192-ctr,aes128-gcm@openssh.com,aes128-ctr (...)
  VerifyHostKeyDNS yes
  StrictHostKeyChecking ask

HostKeyAlgorithms ssh-ed25519-cert-v01@openssh.com in Verbindung mit VerifyHostKeyDNS yes weist den Client an, den ED25519-HostKey mit dem im DNS hinterlegten zu vergleichen.
Sofern der Patch mit einkompiliert wurde, kann ssh-keygen verwendet werden, um diesen DNS-Eintrag zu verwenden.

$ ssh-keygen -r `hostname` -f /etc/ssh/ssh_host_ed25519_key

Ohne den Patch könnte der SSHFP-RR zwar auch anders erzeugt werden, der SSH-Client würde allerdings nicht im DNS danach suchen.

 

openSSH 6.5 mit ED25519

21. Januar 2014 00:23 | Autor: Marc | Keine Kommentare | Kategorie(n): Allgemeines

Zugegeben, ich habe hier lange nichts geschrieben.
Seit meinem letzten Beitrag ist allerdings einiges passiert.
Das Geschehen um Edward Snowden muss ich ja nicht weiter kommentieren.

Zwar habe ich meine Systeme immer recht aktuell und so sicher wie möglich gehalten, dennoch achtet man ja ganz automatisch jetzt verstärkt auf Sicherheit.
Und hier kommt OpenSSH 6.5 ins Spiel.
Noch nicht fertig, aber bereits als Snapshot-Version zu haben.

Interessant ist OpenSSH 6.5 vor allem wegen der Unterstützung von ED25519, gewissermaßen als Ersatz für ECDSA.
ED25519 wurde von Daniel J. Bernstein entwickelt und basiert auf Twisted Edwards-Kurven.
ECDSA wiederum basiert auf elliptischen Kurven, die von der NIST in Zusammenarbeit mit der NSA entwickelt wurden, was die Frage nach einer Alternative unterstreichen dürfte.

Im Tagesverlauf werde ich an dieser Stelle ein kurzes Tutorial einstellen, das erklärt, wie OpenSSH ED25519 standardmäßig benutzt und mit dem entsprechenden Patch auch bereits mit SSHFP-Resource Records funktioniert.
Letztere sind allerdings (noch) nicht in einem RFC erwähnt, womit die Unterstützung als Experimentell angesehen werden muss.