it-swarm.dev

Come posso proteggere i miei dispositivi connessi a Internet dalla scoperta di Shodan?

C'è stato un sacco di buzz in giro questo recente articolo della CNN su Shodan, un motore di ricerca che può trovare e consentire l'accesso a dispositivi non connessi a Internet.

Shodan funziona 24/7 e raccoglie informazioni su circa 500 milioni di dispositivi e servizi connessi ogni mese.

È sorprendente ciò che si può trovare con una semplice ricerca su Shodan. Innumerevoli semafori, telecamere di sicurezza, dispositivi di automazione domestica e sistemi di riscaldamento sono collegati a Internet e facili da individuare.

I ricercatori di Shodan hanno trovato sistemi di controllo per un parco acquatico, una stazione di rifornimento, un dispositivo di raffreddamento del vino dell'hotel e un crematorio. I ricercatori di cybersecurity hanno persino localizzato sistemi di comando e controllo per centrali nucleari e un ciclotrone ad accelerazione di particelle usando Shodan.

Ciò che è davvero degno di nota della capacità di Shodan di trovare tutto questo - e ciò che rende Shodan così spaventoso - è che pochissimi di questi dispositivi hanno in sé alcun tipo di sicurezza. [...]

Una rapida ricerca di "password predefinita" rivela innumerevoli stampanti, server e dispositivi di controllo del sistema che utilizzano "admin" come nome utente e "1234" come password. Molti altri sistemi connessi non richiedono affatto credenziali: tutto ciò di cui hai bisogno è un browser Web per collegarti.

Mi sembra che alcuni di questi dispositivi siano stati protetti apparentemente ma non sono effettivamente sicuri perché le password, ecc., Sono ovvie e/o invariate dalle impostazioni predefinite.

Come posso (sia come persona "normale" che come professionista) prendere provvedimenti per impedire ai miei dispositivi di essere accessibili da crawler come Shodan? Ci sono altri modi per mitigare il mio rischio di scoperta con qualcosa come Shodan?

95
Aarthi

Shodan fa riferimento a macchine disponibili pubblicamente che funzionano in questo modo:

Speak Friend and Enter

Basta non farlo.

Modifica: l'analogia è rilevante! Shodan si collega alle macchine e chiede il loro "banner", un testo pubblicamente disponibile che può semplicemente dire: "per entrare, usa questa password predefinita: 1234". Potresti evitare di bussare alla porta con il semplice espediente di installare un calamaro gigante come guardia davanti alla porta (metaforicamente, un firewall), ma, in realtà, sarebbe molto più sicuro configurare una password non predefinita.

89
Tom Leek

Il progetto Shodan è piuttosto interessante, ma al suo interno non è molto più di un grande database nkin honkin. Il progetto prevede scanner che eseguono regolarmente la scansione di Internet e pubblicano i risultati nel database. Quel database è quello che stai cercando. Dal momento che utilizzano routine di rilevamento standard, le protezioni che inseriresti per una scansione normale dovrebbero proteggerti qui.

  1. Configura i tuoi firewall in modo appropriato. - Questo significa che per tutti i servizi forniti, limitali il più possibile. Se hai solo 5 persone del marketing che usano la tua applicazione web, non c'è bisogno che il mondo intero la usi. Scopri quale indirizzo utilizza il marketing dello spazio e aprilo solo a loro. (Potresti anche voler consentire soluzioni di accesso remoto, ma dipende da te).
  2. Pulisci i tuoi banner. - Molti banner, per impostazione predefinita, forniscono informazioni. Ad esempio, per impostazione predefinita Apache httpd ti dirà quale versione è, su quale sistema operativo è in esecuzione, su quali moduli ha abilitato, ecc. Questo è davvero abbastanza inutile. Apache httpd ha impostazioni di configurazione per fornire meno informazioni, ma i dettagli dipenderanno dal servizio che stai ospitando.
  3. Fai bloccare silenziosamente i tuoi firewall. Per impostazione predefinita, molti firewall inviano una destinazione ICMP vietata dal punto di vista amministrativo quando rilascia pacchetti. Questo farà sapere allo scanner che esiste qualcosa su quella porta, semplicemente non è consentito colpirla. Attivando la modalità invisibile, silenziosa o in qualsiasi altro modo, le connessioni andranno in timeout sul lato dello scanner. A loro sembrerà che l'host non esista nemmeno.
62
Scott Pack

Per la maggior parte degli utenti domestici, l'unico dispositivo con connessione a Internet è il loro router.

Quindi, come si fa a proteggere il router da cose come Shodan?

  • Innanzitutto, modifica la password predefinita . Chiunque sia armato di uno strumento di scansione IP (Angry IP Scanner è quello che ho provato) può trovarti se inserisce l'intervallo IP pertinente e si rompe con lo standard palude admin/admin accesso. Cosa possono fare se hanno questo accesso?
    • Possono ottenere la password della tua connessione a banda larga (e in alcuni casi iniziare a rubare la tua larghezza di banda)
    • Possono impostare il port forwarding e accedere ai tuoi computer/dispositivi.
    • Possono cambiare il tuo server DNS e reindirizzare la tua navigazione ai loro cloni di siti Web dannosi. A meno che il sito non utilizzi SSL, non sarai in grado di sapere che ciò sta accadendo. Si noti che SSL sul sito potrebbe non essere sufficiente: la maggior parte delle persone non si accorgerebbe se venissero fornite versioni http dei loro siti https preferiti.
    • Possono semplicemente rovinare il tuo router
  • Un'altra cosa da fare è disabilitare la gestione remota ( esempio per i router Linksys ). Questo nasconde le pagine di configurazione del router al mondo esterno, quindi le persone non possono entrare anche se provano la forza bruta. (Inoltre, non comparirai in una scansione IP a meno che tu non abbia il port forwarding). Si noti che ci sono alcuni casi in cui si desidera attivare questa opzione: l'ho tenuta attiva per brevi periodi di tempo durante il test delle cose. Ma di solito, non c'è nulla di male a tenerlo fuori.
  • Controlla le tue regole di port forwarding. Anche se risolvi i due precedenti, una porta inoltrata si traduce in una connessione diretta al tuo computer. Nella maggior parte dei casi, non è necessario disporre di porte inoltrate. Se sei un giocatore, potresti avere alcune porte specifiche del gioco. (Solitamente le porte vengono scelte in modo da non interferire con alcuni altri servizi). Accertarsi che non vengano inoltrate porte 21,22,3389. In tal caso, assicurarsi che le password di ssh/ftp/desktop remoto siano sicure (o che ssh/ftp/rdp sia disabilitato). Probabilmente ci sono altre porte che forniscono un modo semplice per assumere il controllo della macchina, ma non riesco a pensare a nessun OTOH.

Sul computer, controlla il firewall. Renderlo il più restrittivo possibile senza rompere le cose.

Si noti che per interrompere Shodan specificamente per un sistema domestico, è necessario solo il punto 1 o 2. Tuttavia, ho elencato il resto poiché Shodan potrebbe facilmente migliorare se stesso per analizzare ulteriormente le connessioni del router.

40
Manishearth

Quindi la risposta breve è che se stai fornendo un servizio pubblicamente disponibile (ad es. A Internet in generale) il tuo servizio deve essere accessibile e quindi i motori di ricerca come shodan possono trovarlo e tutto shodan lo fa per indicizzare le informazioni pubblicamente disponibili.

Quello che puoi fare è ridurre al minimo le informazioni che shodan trova, rimuovendo i banner dai servizi accessibili e assicurando che vengano rimosse cose come le credenziali predefinite (buona prassi di sicurezza standard).

Inoltre, se il servizio in esecuzione non deve essere accessibile da tutta Internet (ovvero solo alcune persone devono essere in grado di accedervi), l'utilizzo di firewall per limitare gli indirizzi IP di origine che possono raggiungere il servizio è anche una protezione efficace contro scoperta di cose come Shodan.

Un'altra protezione teorica (che direi non è un approccio corretto, ma per completezza di cui parlerò) è che se riuscissi a trovare gli intervalli di indirizzi IP utilizzati da shodan, potresti provare a bloccarlo in modo specifico.

I rischi che fanno sembrare "spaventoso" shodan sono che ci sono un numero enorme di sistemi che sono stati messi su Internet con impostazioni predefinite e molto poco pensato per la sicurezza. Purtroppo è improbabile che le persone che collocano sistemi su Internet in questo stato siano sufficientemente consapevoli della sicurezza da intraprendere azioni come il blocco specifico di shodan ...

Un'altra cosa da menzionare è che persino bloccare cose come shodan non ti aiuterebbe contro cose come il progetto Internet Census che è accaduto l'anno scorso. Questo ha usato un gran numero di sistemi compromessi per scansionare l'intera Internet. L'output del progetto è disponibile come torrent e sarei disposto a scommettere che molti ricercatori e aggressori stanno attualmente cercando tra i dati le cose da attaccare (che probabilmente troveranno)

15
Rory McCune

un motore di ricerca in grado di trovare e consentire l'accesso a dispositivi non protetti connessi a Internet.

La vera domanda con Shodan è perché, in primo luogo, questi dispositivi sono rivolti a Internet. Questo non scusa la necessità di modificare le informazioni di configurazione predefinite, ma lasciare la tua stampante accessibile al mondo è semplicemente stupido.

Esiste una misura di sicurezza che puoi usare contro questo tipo di cose: VPN per i lavoratori remoti e un firewall. È una risorsa aziendale, quindi richiedi agli utenti di connettersi effettivamente alla rete aziendale con tutte le restrizioni che ciò implica. Non farlo significa che non hai idea di chi acceda a un dispositivo sulla tua rete. Metti il ​​dispositivo dietro un firewall e fai accedere gli utenti.

Quindi, in caso di errore numero due - questo è ragionevolmente ovvio - modificare quelle impostazioni predefinite. La maggior parte delle organizzazioni ha una sorta di politica di gestione per le risorse e che dovrebbe includere la gestione delle credenziali di accesso, specialmente se si troveranno sulla rete. Il dispositivo deve essere configurato in modo sicuro.

Se non è possibile configurare il dispositivo in modo sicuro a causa di alcuni bug introdotti dal produttore, il motore ci sta facendo un favore esponendolo - questo metterà pressione su queste aziende per risolvere i loro problemi.

Infine, puoi (e secondo me dovrebbe) nascondere informazioni dai server, ad es. Stringhe di versione di Apache. Ciò non scuserà o sostituirà una corretta configurazione di sicurezza e un software diligentemente aggiornato, ma non c'è motivo di dire all'autore dell'attacco tutto ciò che riguarda il sistema.

12
user2213

Se hai alcuni servizi che vuoi esporre a te stesso su un IP pubblico ma vuoi nasconderli dal resto del mondo, potresti usare port knocking per nascondere i dispositivi dalle scansioni generali delle porte mentre sei ancora rendendoli accessibili senza una connessione VPN a qualcuno che sa bussare. Ho diverse webcam domestiche a cui occasionalmente voglio poter accedere dal lavoro, ma il firewall sul lavoro non mi consente di avviare una VPN per il mio firewall domestico.

Quindi, "batto" 3 porte sul mio firewall di casa e consente connessioni dall'IP bussare alle telecamere.

Il port knocking è una sicurezza piuttosto debole da parte di qualcuno determinato a entrare nella tua rete poiché i knock sono facilmente sniffati (i knock sono effettivamente una password inviata in chiaro) , ma forzare brutalmente le porte è quasi impossibile anche se un attaccante sapeva che era in uso il port knocking - 3 porte casuali forniscono circa 48 bit di entropia della password, quindi è abbastanza sicura da un hacker casuale. Una VPN sarebbe più sicura poiché crittografa tutto.

Inoltre, poiché funziona a livello IP, una volta sbloccate le porte dal mio indirizzo IP di lavoro, tutti coloro che lavorano possono accedervi poiché condividono tutti lo stesso indirizzo IP. (sono telecamere esterne in un DMZ che di solito uso per controllare il cane, quindi non sono troppo preoccupato per qualcuno al lavoro che li vede, ma non voglio davvero tutto mondo per vederli)

Ci sono molte più informazioni sui pro/contro del portknocking qui:


Un commentatore ha osservato che 48 bit di entropia non sono molti, il che è vero con qualcosa come una password in cui se l'attaccante può ottenere l'hash, può eseguire un attacco offline e testare milioni o trilioni di combinazioni al secondo. Tuttavia, poiché qualsiasi attacco di forza bruta che bussa alla porta è limitato dalla latenza della rete e dai vincoli di larghezza di banda, 48 bit è ancora abbastanza entropia. Per forzare con successo la forzatura di una password, in media dovresti fare N/2 ipotesi dove in questo caso N = 2 ^ 48 quindi N/2 = 2 ^ 47

Ogni ipotesi significa inviare 3 pacchetti syn per bussare alle 3 porte, quindi supponendo 60 byte per un pacchetto SYN, dovresti inviare 2 ^ 47 * 3 * 60 = 2,5 x 10 ^ 16 byte o 22 petabyte.

Usando la mia connessione Internet domestica da 15 mbit, ci sarebbero voluti 510 anni per inviare così tanti dati.

E questo ignora la latenza della rete, se tu potessi inviare il knock e testare immediatamente il tuo knock con 1 msec di latenza (la latenza del ping del mondo reale tipica dalla mia rete domestica al primo salto fuori dalla rete del mio ISP è 13msec), ci vorrebbero 2 ^ 47 msec, o 4000 anni per forzarlo.

E, naturalmente, tutto questo presuppone che tu possa fare ipotesi illimitate prima che il demone port knock ti ignori o prima che io notassi che qualcosa stava consumando tutta la mia larghezza di banda in entrata (il mio ISP avrebbe notato e mi avrebbe strozzato)

E ignora anche che sapere se hai avuto un colpo riuscito aggiunge entropia da sola se non sai quale porta controllare - le mie telecamere ascoltano su alcune porte non ovvie, in modo che annunci altri 16 bit circa di entropia.

Quindi, come ho detto, il bussare alla porta è una sicurezza debole poiché è così facilmente annusato, ma non è facilmente forzato.

4
Johnny

Assicurati semplicemente che i tuoi dispositivi siano sicuri e non pubblicizzare la loro presenza se non è necessario. È possibile utilizzare servizi come ShieldsUp di Gibson research per verificare facilmente se sulla propria rete sono presenti porte che rispondono a servizi di Internet pubblico.

Se hai qualcosa che mostra che non deve essere, disabilita il servizio e blocca la porta sul tuo router. Se hai bisogno del servizio, assicurati che sia adeguatamente protetto in modo che non possa essere facilmente abusato. Non c'è molto che si possa fare sul fatto che i servizi rivolti al pubblico che devono rispondere alle richieste saranno rilevabili dalle scansioni delle porte. Cercare di evitarlo è un po 'come cercare di evitare che qualcuno sappia dove si trova il tuo negozio quando possono semplicemente guidare lungo la strada e guardare il cartello.

Puoi provare a togliere il segno (rimuovi banner, cambia le porte predefinite, ecc.) Per provare a rendere più difficile per qualcuno riconoscere cosa fa il negozio (che cos'è il servizio), ma non puoi davvero nascondere il fatto che ci sia un edificio sul lotto (un servizio sul porto).

2
AJ Henderson

La migliore difesa che possa mai essere offerta per proteggere dalle scansioni shodan è la stessa di qualsiasi altra scansione.

  • Configurare correttamente il software, HIPS e il firewall
  • Costruisci i tuoi server per funzionare all'interno dei container in mente (ad esempio jail bsd/container linux/sandboxie windows).
  • Assicurarsi che non vi siano versioni vulnerabili del software in esecuzione sul server
  • Connessioni abusive al limite di velocità (ovvero connessioni avviate non umane che spuntano in una piccola finestra)
  • Elimina qualsiasi banner del server offerto dal tuo software
  • Infine, Null Instrada tutti gli indirizzi IP offensivi. Vale a dire quelli di Shodan e altri elencati su RBL.

La risposta ovvia è la prima, suite di sicurezza aggiornata e software ben configurato in esecuzione con le ultime patch di sicurezza. Mentre questa è la norma comune in questi giorni non è diverso dal lanciare il tuo sistema ai lupi con una torcia. Tutta la sicurezza (nel corso della storia nel mondo reale e nel mondo virtuale) è costruita su livelli.

Se costruisci il tuo sistema per l'esecuzione in un ambiente sandbox come se qualcosa dovesse andare storto, puoi ripristinare una versione funzionante prima del problema e analizzare cosa è andato storto da lì. Questo ha anche l'ulteriore vantaggio di essere un server agile in cui se un bug viene introdotto per qualsiasi motivo, dannoso o meno, puoi semplicemente tornare a una versione funzionante in pochi istanti e non avere tempi di inattività.

Semplicemente valutare limitando ed eliminando i banner e qualsiasi altra caratteristica identificativa rende più difficile enumerare i server o raccogliere informazioni che è il primo passo nella penitrazione.

Infine, il routing e l'uso null di RBL aiuta a bloccare indirizzi IP abusivi noti come nodi malware/botnet noti, utenti offensivi/maliziosi e siti di hacking come servizio come shodan.

Se segui queste regole, Internet non è più un luogo spaventoso poiché hai già sconfitto i "barbari" prima ancora che stabilissero siti sul tuo server.

1
Dwight Spencer