Ciao Lucio Grazie dei tuoi consigli Di seguito trovi le mie risposte Ti aggiungo qualche altro dettaglio Noi per il momento usiamo questo sistema IOT basato su Docker per semplicità di configurazione ma ho dei dubbi sulla sicurezza del sistema: https://sensorsiot.github.io/IOTstack/ Il sistema gira o su un RapsberryPi 3 o 4 (meglio con SSD) o su un X86 (io uso Debian) La VPN (Wireguard) deve essere installata su questo server oppure sul Router con firmware open source? Si potrebbe approfondire questo argomento sulla cybersecurity in un "virtual-incontro" Slip Gio Il 04/05/21 16:59, carlo b via SLiP ha scritto:
Noi del gruppo arduino utilizziamo telegram per i nostri progetti verso internet.
Qui ho bisogno di qualche dettaglio in più per capire. Come si realizza la comunicazione remota fra l'hardware e l'utente? Io mi immagino, ma magari mi sbaglio, che l'hardware di turno abbia un software in esecuzione che parla periodicamente (per esempio ogni tot secondi) ad un bot di Telegram, giusto? GB=> Nell'Arduino (un ESP nel dettaglio, cioè un microcontrollore con il Wifi integrato) è eseguito il codice che fa funzione il Bot Telegram Quel codice usa le API dei Bot Telegram Immagino poi che questo bot di Telegram sia l'interfaccia con cui l'utente visualizza lo stato dei sensori ed invia comandi attraverso pulsanti o caselle di testo, giusto? GB=> Si esatto Ed immagino infine che tale bot di Telegram richieda un'autenticazione tipo utente/password o sia in qualche altro modo strettamente legato all'utente, in modo che solo il proprietario dell'hardware possa vedere ed interagire da remoto, giusto? GB=> E' possibile implementare queste sicurezze all'interno del codice Non si usa utente e password ma si identifica il ID dell'utente Se fin qui è tutto giusto e se la strada di Telegram (versione ufficiale) è quella che continuerete a seguire, temo che ci sia poco che si possa fare per migliorare la sicurezza, in quanto il server ufficiale di Telegram non è software libero e non è possibile installarsi un proprio server ufficiale di Telegram (in gergo, Telegram non è un sistema federato). Detto questo, a seconda dei casi, potrebbe non essere neppure così necessario aumentare la sicurezza della soluzione. GB=> Esatto, Telegram va bene, sia in termini di semplicità che sicurezza E' però limitato nell'interfaccia utente, essendo fatto per una chat e non per una Dashboard
Lettura sensori e controlli vari. Tutto questo funziona bene ma siamo limitati all'uso di pulsanti per i comandi e per immissione dati necessita utilizzare la riga immissione testo, poco pratica.
Che tipo di interfaccia ti piacerebbe avere in alternativa all'immissione del testo per inviare dati? GB=> Si pensava ad un interfaccia grafica tipo quelle delle App dei vari dispositivi IOT commerciali. Pensi siano sviluppate come Web APP che si appoggiano sul server del produttore
Pensavamo di acquistare uno spazio in rete ma non abbiamo abbastanza conoscenze per quanto riguarda la sicurezza.
Qualsiasi VPS è sufficientemente sicuro per questo tipo di utlizzo, nella misura in cui non ci si metta a controllare da remoto l'attivazione dell'antifurto di casa o cose del genere. La parte eventualmente poco sicura non è tanto il server che si va ad acquistare, quanto le applicazioni che poi ci si installano. GB=> Il nostro timore è che la configurazione errata delle varie applicazioni IOT (MQTT Broker, Node Red, Influxdb, Grafana, etc...) porti all'akeraggio della VPS con tutti i problemi che ne conseguono Il 02/05/21 19:14, giorgio boiero via SLiP ha scritto:
Per il momento abbiamo attivato alcuni server nelle nostre reti locali Ci piacerebbe approfondire con chi è più esperto di noi di cybersecurity (Davide, Lucio, Alessandro, Luca) se e come fosse possibile poter accedere in sicurezza a questi server e servizi dall'esterno della propria rete domestica Come configurare il port forwarding dei nostri router, installare un VPN ed utilizzarla (tipo lo script di Lucio per Wireguard)
Sì, in questo caso (cioè senza usare Telegram ufficiale) una VPN con Wireguard è sicuramente una soluzione che offre tutta la sicurezza di cui avete bisogno, almeno dal punto di vista della connettività. Certo che se poi si installa Wireguard sul cellulare, ma si lascia il cellulare sbloccato ed incustodito sul tavolino del bar, non c'è VPN che tenga. Come sempre il fattore umano è l'anello più debole della catena. GB=> Se capisco bene la soluzione migliore è installare la VPN (Wireguard) in modo che da remoto ci si collega direttamente al server domestico evitando di esporre le applicazioni IOT direttamente a Internet
etc.. o se sarebbe meglio far girare il server e i containers in un VPS remota,
Dal punto di vista della sicurezza assolutamente no: un VPS, una volta che ci installi istanze docker con tutta quella roba che hai citato, è sicuro quanto una prostituta a spasso nel Bronx. La soluzione più sicura è avere un server in rete locale (cioè a casa) ed accedervi via VPN, senza aprire alcuna porta sul router, tranne quella per far funzionare la VPN (di default la 12345/udp nello script che ho fatto). A questo va aggiunto un servizio di DNS dinamico, in modo che il riavvio del router e relativo cambio di indirizzo IP pubblico non creino problemi. GB=> OK come sopra Essendo la sicurezza l'argomento di questo thread, direi che anche il router sarebbe da tenere aggiornato e suggerisco di avere un router su cui si possa installare un firmware libero, in modo da essere più tranquillo della disponibilità di tempestivi aggiornamenti di sicurezza (io per esempio uso un Asus RT-AC51U). GB=> Usi openwrt sul Asus? Marche di router che consigli a parte Asus? Molti usano Fritzbox, ma non so se si può cambiare il firmware con uno libero