Certificati e API sicura: api-ssl, REST e automazione del WISP
Crea certificati su RouterOS v7, abilita l'API cifrata (api-ssl) e la REST API per pilotare i router dal gestionale in sicurezza. Utente dedicato a permessi minimi per l'automazione.
Per integrare RouterOS con un gestionale (come WISP Manager) servono le API. RouterOS espone l'API binaria (porta 8728/8729) e la REST API (su HTTP/HTTPS). In produzione si usa SEMPRE la variante cifrata: l'API in chiaro trasmette le credenziali e i comandi senza protezione.
1. Creare i certificati
RouterOS genera certificati self-signed direttamente. Si crea una CA, la si usa per firmare il certificato del server, poi lo si assegna ai servizi (api-ssl, www-ssl).
# 1) Creare e firmare la CA /certificate/add \ name=ca-wisp common-name="WISP CA" \ key-usage=key-cert-sign,crl-sign key-size=2048 days-valid=3650 /certificate/sign ca-wisp ca-crl-host=127.0.0.1 name=ca-wisp # 2) Creare il certificato del router e firmarlo con la CA /certificate/add \ name=cert-router common-name=router01.miowisp.it \ key-size=2048 days-valid=825 /certificate/sign cert-router ca=ca-wisp name=cert-router # 3) Verificare (la colonna KEY/Trusted deve risultare valorizzata) /certificate/print
/certificate/enable-ssl-certificate dns-name=router01.miowisp.it: richiede che la porta 80 sia raggiungibile dall'esterno durante l'emissione e un DNS pubblico che punti al router.2. Abilitare l'API cifrata (api-ssl)
# Assegnare il certificato e abilitare api-ssl (8729), restringendo l'IP sorgente /ip/service/set api-ssl \ certificate=cert-router \ address=10.0.0.0/24 \ disabled=no # DISABILITARE l'API in chiaro (8728): non usarla mai in produzione /ip/service/disable api # Verificare /ip/service/print
3. REST API (RouterOS v7)
La REST API di RouterOS v7 espone gli stessi comandi via HTTP(S) con JSON: comodissima per il gestionale. Va abilitata sul servizio www-ssl con un certificato; le chiamate usano Basic Auth con un utente dedicato.
# Assegnare il certificato a www-ssl e abilitarlo (HTTPS, porta 443) /ip/service/set www-ssl certificate=cert-router address=10.0.0.0/24 disabled=no # Esempio di chiamata REST dal gestionale (lato server, mai dal browser): # GET https://router01/rest/ppp/active # POST https://router01/rest/ppp/secret (body JSON con name/password/profile) # PATCH https://router01/rest/ppp/secret/<id> (es. disabled=true per sospendere)
4. Utente API dedicato a permessi minimi
L'automazione NON deve usare l'utente admin. Si crea un utente con il solo permesso api (e gli altri minimi), limitato per IP, così anche se la credenziale trapelasse il danno è contenuto.
# Gruppo: solo API + scrittura, niente policy/reboot/ftp/sniff, password nascoste /user/group add \ name=api-automazione \ policy=api,rest-api,read,write,test,!ssh,!ftp,!reboot,!policy,!sensitive # Utente dedicato al gestionale, raggiungibile solo dall'agente on-prem /user/add \ name=wispmanager \ group=api-automazione \ password=Ch1av3API-Lung4-e-C0mpl3ss4 \ address=10.0.0.50 \ comment="Automazione WISP Manager (connettore on-prem)"
/ppp/secret (disabled=true) e rimuovere la sessione attiva, oppure (2) cambiare il profilo verso uno a banda zero/walled garden. La strategia (1) è la più semplice; la (2) consente di mostrare al cliente una pagina "servizio sospeso".5. Checklist sicurezza API
- Solo api-ssl/www-ssl con certificato: API in chiaro (8728) e HTTP (80) disabilitati
- Utente dedicato all'automazione, mai admin, con permessi minimi e
!sensitive - Restrizione
addresssul servizio E sull'utente verso il solo IP dell'agente/gestionale - Servizi API mai esposti sulla WAN pubblica: passare per VPN o agente on-prem
- Rotazione periodica della password/chiave dell'utente di automazione
- Log degli accessi API monitorati con
/log/print where topics~system
Continua con
Configura senza fatica con l'AI
In WispOS l'agente AI genera la configurazione RouterOS dalle tue parole e un tutor ti guida passo passo.
Prova WispOS