Marvin Pascale

[B.Log]

02 Luglio 2025

Dropbear

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

  1. Chiavi ed25519 di default (-r /etc/dropbear/dropbear_ed25519_host_key).
  2. Disabilita password con -s e tieni solo l’autenticazione a chiave.
  3. Limita gli utenti con -w (no port-forwarding) o -g (no root login).
  4. 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: