Al enige tijd viel mij op dat het /var/log/messages log zo nu en dan de volgende melding toont:
Oct 8 19:48:53 <server> sshd[24425]: WARNING: /etc/ssh/moduli does not exist, using fixed modulus
Het bleek dat dit telkens op treedt wanneer ik met PuTTY middels SSH aanlogde op mijn Synology. Ik ben op zoek gegaan naar een oplossing van dit "probleem". Hier een korte handleiding en oplossing.
Het blijkt namelijk dat PuTTY terug valt op een eenvoudige, standaard ingebouwde sleutel om berichten tussen client en server te verdoezelen zodra deze het bestand "moduli" niet kan vinden. Deze sleutel is ook telkens dezelfde. Dit is vanuit beveiligingsoogpunt niet wenselijk.
Wat is moduli
# man moduli
moduli(5)
The /etc/ssh/moduli file contains prime numbers and generators for use by sshd( in the Diffie-Hellman Group Exchange key exchange method.Hieronder volgen de stappen welke je moet nemen om een bestand te maken met hierin verschillende, random gekozen 4096 bits sleutels. Deze sleutels worden specifiek voor jou systeem gemaakt. De kans dat een andere dezelfde sleutels zal hebben, is nagenoeg nul.
Je kan deze commando's op je Synology uitvoeren d.m.v. PuTTY maar je kan het ook (wanneer je eigen PC een snellere CPU heeft bijvoorbeeld) uitvoeren op je PC middels het Linux emulatie programma Cygwin (
https://www.cygwin.com).
Login op Synology of start Cygwin
Maak eerst een heleboel (meer dan 10000) sleutels aan. Deze actie zal even duren. Wacht tot ie klaar is.
$ ssh-keygen -G /tmp/4096.key -b 4096
Vervolgens gaan we van al die duizenden sleutels een paar random kiezen voor gebruik met SSH.
$ ssh-keygen -T /tmp/moduli -f /tmp/4096.key
Dit duurt nog langer dan de eerste stap. Een kleine 30-tal sleutels worden nu gekeurd en gekozen.
Nadat het moduli bestand gemaakt is kan deze worden gekopieerd naar de locatie waar de SSH deamon hem wil hebben:
/etc/ssh/Indien je de sleutels op je PC hebt gemaakt, gebruik je WinSCP om in te loggen op de Synology (als root user) en kopieer je het bestand naar de
/etc/ssh/ directory. Indien je binnen DSM zelf hebt gewerkt kopieer je het bestand met het
cp commando.
Je hebt dus nu het volgende bestand
/etc/ssh/moduli> ll /etc/ssh/
drwxr-xr-x 2 root root 4096 Oct 11 11:38 .
drwxr-xr-x 40 root root 4096 Oct 11 01:19 ..
-rw-r--r-- 1 root root 29540 Oct 8 20:08 moduli
-rw------- 1 root root 668 May 26 10:54 ssh_host_dsa_key
-rw-r--r-- 1 root root 599 May 26 10:54 ssh_host_dsa_key.pub
-rw------- 1 root root 227 May 26 10:54 ssh_host_ecdsa_key
-rw-r--r-- 1 root root 171 May 26 10:54 ssh_host_ecdsa_key.pub
-rw------- 1 root root 399 Oct 10 10:31 ssh_host_ed25519_key
-rw-r--r-- 1 root root 91 Oct 10 10:31 ssh_host_ed25519_key.pub
-rw------- 1 root root 974 May 26 10:54 ssh_host_key
-rw-r--r-- 1 root root 639 May 26 10:54 ssh_host_key.pub
-rw------- 1 root root 1675 May 26 10:54 ssh_host_rsa_key
-rw-r--r-- 1 root root 391 May 26 10:54 ssh_host_rsa_key.pub
-rw------- 1 root root 4417 Oct 5 12:00 sshd_config
-rw-r--r-- 1 root root 0 Nov 12 2015 syno_sshd_config
Wanneer je nu als gebruiker inlogt met PuTTY of een andere SSH client op je Synology, zul je niet langer de foutmelding te zien krijgen. Het systeem (of eigenlijk de verbinding tussen jou en het systeem) is daarnaast ook nog eens een stuk veiliger geworden.
Mogelijk moet na een update deze procedure nog eens uitgevoerd worden.
Je kan alle details in de hieronder genoemde bron nog eens lezen.
Succes!
-----------
Bron:
http://entropux.net/article/openssh-moduli/