This page is not fully translated, yet. Please help completing the translation.
(remove this paragraph once the translation is finished)
Accedere in modo sicuro all'Interfaccia Web LuCI
Se stai amministrando cose attraverso l'interfaccia web LuCI, c'è il rischio che un utente sulla tua rete OpenWRT possa intercettare il tuo traffico.Ci sono alcune cose che puoi fare per mitigare questo rischio.
AbilitareLuCI su HTTPS al posto di HTTP
Questo è il metodo standardizzato per proteggersi utilizzando il protocollo HTTPS.
Vantaggi | Svantaggi |
---|---|
1. Acesso semplice | 1. Pesante per i dispositivi con poca memoria |
2. Protocollo standardizzato | 2. Un certificato non propriamente firmato innesca un avviso del browser |
Il principale vantaggio di HTTPS è di disporre di un protocollo standardizzato per rendere sicura una connessione hhtp. Per accedere ad una pagina HTTPS devi semplicemente digitare https://openwrt.lan
invece di http://openwrt.lan. E' semplice. Assicurati solamente che luci-ssl e le sue dipendenze siano installate.
Ci sono alcuni svantaggi però. Di seguito alcuni di questi.
1. Librerie esterne gonfiano l'installazione.
Su sistemi con solo 4 MB di flash non è possibile abilitare HTTPS per l'interfaccia web LuCI. Perché? Perché con le librerie integrate TLS l'immagine risultante non si adatta a 4 MB di flash. Inutile cercare workaround comeespandere la grandezza dell'overlayfs, non è pratico.
2. L'avviso del browser che il certificato non è propriamente firmato.
Bene, questa è una buona funzione del browser. A meno che la root CA autofirmata sia stata importata nel browser, questo avviso continua ad infastidirti! Perché preoccuparsi di una CA commerciale quando è solo necessario proteggere la propria interfaccia di gestione del router per uso personale?
Di certo tu puoi comprare un certificato propriamente firmato per il tuo dominio openwrt.lan e indirizzo IP per eliminare quel fastidioso avviso. Tu puoi anche semplicemente importare la root CA autofirmata per la creazione del certificato nel certificate store del tuo browser. Guarda anche How to get rid of LuCI HTTPS certificate warnings
Tunneling del protocollo HTTP attraverso SSH
Questo piccolo mod è conveniente per i dispositivi con memoria molto limitata.
Vantaggi | Svantaggi |
---|---|
1. Crittografia sicura su tunnel SSH | 1. Più complicato da configurare |
2. Nessuna libreria TLS addizionale richiesta. |
Sull'installazione standard di OpenWRT,un demone del server SSH è sempre disponibile. Questo è una buona notizia per i dispositivi con memoria limitata dal momento che non è necessario installare libreire TLS aggiuntive. Semplicemente usa il tuo client SSH preferito per configurare il port forwarding e tutte le connessioni HTTP di LuCI saranno incapsulate in pacchetti SSH.
Questo significa che avrai lo stesso livello di prote<ione di SSH, mentre taglierai via gli svantaggi di TLS per i dispositivi OpenWRT con poca memoria. Di certo ci sono anche svantaggi per questo metodo. Infatti è richiesta più lavoro da fare sul client SSH per la configurazione del tunnek SSH. Penso che la complessità della configurazione sia solo per la prima volta. Successivamente sarà più semplice avviare il tunnel.
Impostare il tunnel SSH
Se vuoi spendere un po' di sforzo per configurare il tunnel SSH, qui c'è una semplice guida per alcuni popolari client SSH. Questa guida spiega solo come impostate un port forwarding all'interfaccia Web LuCi
Local machine | OpenWrt device |
---|---|
127.0.0.1:8000 | 127.0.0.1:80 |
sending packets → | receiving packets |
receiving response | ← sending response |
All traffic bypassing through port 8000 on local machine will be forwarded to port 80 on the remote machine. That's why this SSH-tunnel setup is called local port forwarding.
OpenSSH Client
This is the standard SSH client for GNU/Linux and BSD distributions. To establish an SSH tunnel for LuCI web interface access, just add a local port forwarding options to the command line. Make necessary adjustments if needed (hostname, port, identity file, etc).
ssh -L127.0.0.1:8000:127.0.0.1:80 root@openwrt.lan
The SSH-tunnel is active as long as the SSH session is active.
For convenient setup, you may create host profile for this setup. Edit ~/.ssh/config file and add the following line. For more explanation about all available configuration, refer to ssh_config(5). Be sure to make necessary adjustments if needed.
Host LuCI-Tunnel Hostname openwrt.lan Port 22 User root LocalForward 127.0.0.1:8000 127.0.0.1:80
After creating the above configuration, the SSH-tunnel can be started by issuing the following command.
ssh LuCI-Tunnel
The command will read “LuCI-Tunnel” host profile and set up the SSH-tunnel accordingly.
PuTTY
PuTTY is popular Windows SSH client. To establish SSH-tunnel, you need to perform more steps.
1. Navigate to Connection ⇒ SSH ⇒ Tunnels.
2. Fill 8000 on the Source port field.
3. Fill 127.0.0.1:80 on the Destination field.
4. Click Add until the port forwarding setup appears on Forwarded ports section. Typically, the shown forwarding setup is L8000 127.0.0.1:80.
5. Navigate to Session. Fill root@openwrt.lan on Host Name field and 22 on Port field. If you have modified your OpenWrt hostname and SSH listen port, you need to adjust the value accordingly.
6. On the Saved Sessions field, type a unique name, such as OpenWrt LuCI Tunnel. Click Save, so that you don't need to repeat this setup for future use.
7. To start the SSH-tunnel session, click Open. The tunnel will be active as long as the SSH session is active.
8. To start the SSH-tunnel in the future, just select OpenWrt LuCI Tunnel on the PuTTY new session dialog, click Load and then click Open.
Accessing LuCI via SSH-tunnel
To access LuCI web interface securely, type http://127.0.0.1:8000
instead of http://openwrt.lan or
http://192.168.1.1. The traffic between your browser to LuCI
webserver is encapsulated within SSH-tunnel, so that the http traffic
gains the same level of SSH traffic encryption.
If you have finished accessing LuCI web interface, don't forget to end the SSH session.
More Secure Configuration
For additional security, you may disable LuCI webserver altogether and start the service via SSH when needed.
/etc/init.d/uhttpd disable /etc/init.d/uhttpd stop
If you need access to LuCI webserver, just start uhttpd service without enabling it from SSH and access it via SSH-tunnel.
/etc/init.d/uhttpd start
When you are done with LuCI webserver, don't forget to stop uhttpd service.
/etc/init.d/uhttpd stop
With this setup, you minimize the risk of LuCI webserver being brute-forced and prevent unauthorized access to LuCI web interface, as long as your SSH setup is secure (disabling password and using only public key authentication)
As a bonus, your OpenWrt device performance will (slightly) increase because of some system resources (memory, swap, and cpu usage) freed from uhttpd process.
Note
Hai bisogno di scegliere quale tra questi metodi si adatta alle tue esigenze di sicurezza. Non essere attaccato ad un metodo tanto da disprezzare gli altri in favore dei tuoi metodi preferiti.