Dropbear
Dropbear è una mini-implementazione open-source di SSH (server e client) pensata per girare su sistemi Unix molto “snelli”, tipicamente router, NAS, SBC o container ridotti all’osso. Il suo binario, se compilato staticamente, può pesare poco più di 100 kB e garantisce comunque autenticazione, forwarding di porta, SFTP opzionale e chiavi host in tutti i formati moderni.
Perché sceglierlo oggi
- RAM e storage ridotti: perfetto quando OpenSSH sarebbe un lusso.
- Build modulare: puoi escludere funzioni non necessarie con flag di configurazione.
- Unico binario: client e server insieme, stile BusyBox.
- Licenza MIT-like: integrabile in progetti commerciali senza beghe legali.
Le novità della release 2025.88
Novità | Impatto | |
---|---|---|
Patch di sicurezza (CVE-2025-47203) – i parametri dbclient con multihop non passano più dalla shell locale, impedendo injection di comandi. | Maggiore hardening per script e orchestrazioni che costruiscono on-the-fly la stringa di destinazione. | |
Compatibilità htole32/64 – fix per GCC vecchi e libc datate. | Torna a compilare su toolchain legacy ancora diffuse nel mondo IoT industriale. | |
Fallback senza static_assert – risolve i fail su compilatori pre-C11. | Facilita il porting su distro LTS. | |
Shortcut ~R per forzare il re-key dal client. | Consente di rinnovare la sessione lunga senza disconnettersi. | |
Strict KEX migliorato – pacchetti fuori sequenza ora bloccati. | Allinea il comportamento a quanto richiesto da RFC 4253. |
Mani in pasta
# 1. Scarica l’ultima versione
wget https://matt.ucc.asn.au/dropbear/releases/dropbear-2025.88.tar.bz2
tar xjf dropbear-2025.88.tar.bz2 && cd dropbear-2025.88
# 2. Compila minimal server+client
./configure --disable-zlib --enable-static && make PROGRAMS="dropbear dbclient scp"
strip dropbear dbclient scp # opzionale, per limare i KB
# 3. Avvia il server sulla porta 2222
./dropbear -p 2222 -E # -E: log su stderr
# 4. Connettiti dal client integrato
./dbclient -p 2222 [email protected]
(Su BusyBox/Alpine bastano pochi MiB di RAM; su OpenWrt c’è già il pacchetto dropbear pre-compilato.)
Spunti di configurazione sicura
- Chiavi ed25519 di default (-r /etc/dropbear/dropbear_ed25519_host_key).
- Disabilita password con -s e tieni solo l’autenticazione a chiave.
- Limita gli utenti con -w (no port-forwarding) o -g (no root login).
- Per dispositivi headless, imposta un timer di key re-exchange automatico (-K 600) per mitigare session fixation.
Hardening avanzato per ambienti mission-critical
-
Mantieni i build-flags di sicurezza predefiniti. Dropbear, se compilato “vanilla”, abilita già RELRO, PIE, stack-protector e FORTIFY che riducono gli exploit di memory-corruption; vanno lasciati attivi – si disattivano solo con ./configure –disable-harden, operazione sconsigliata salvo bug particolari.
-
Blocca qualunque credenziale debole. Avvia il demone con
dropbear -s -w -g -p 2222 # -s: no password, -w: no root login, -g: no root *password* login
Così permetti solo chiavi pubbliche ed elimini l’attacco brute-force su root.
-
Isola la superficie d’ascolto. Su OpenWrt (o UCI) puoi far girare un’istanza sola su LAN:
config dropbear option Interface 'lan' option Port '22' option PasswordAuth 'off'
oppure due istanze, con quella WAN in “key-only” e porta non standard.
-
Non esporre Dropbear direttamente a Internet. Il progetto OpenWrt ricorda che basta una sola CVE per compromettere un router: meglio far passare l’SSH dentro un tunnel VPN o limitarlo con firewall/port-knocking.
-
Sandbox opzionale con systemd. Se usi una distro “systemd based” puoi aggiungere a un drop-in:
[Service] PrivateTmp=yes ProtectSystem=strict NoNewPrivileges=yes
in modo che il processo resti “blindato” anche in caso di exploit (nessuna patch a Dropbear necessaria).
Con queste accortezze il tuo server SSH “tascabile” diventa più robusto quasi quanto un’installazione OpenSSH hardenizzata, pur restando entro i ~100 kB di binario.
Conclusioni
Se lavori con dispositivi embedded, container sidecar minimal o VM “micro”, Dropbear 2025.88 tira dritto come scelta leggera e adesso è anche più sicuro grazie alla patch CVE-2025-47203. Vale la pena testarlo come sostituto di OpenSSH in contesti dove ogni byte conta.
Le opinioni in quanto tali sono opinabili e nulla ti vieta di approfondire l’argomento.
Risorse: