L'oscurità può solo farti del male se pensi che ti fornisca una vera sicurezza e adotti pratiche deboli. Tuttavia, l'oscurità può aiutare leggermente perché ti fa guadagnare tempo da vulnerabilità future sconosciute, se cerchi di mantenere le migliori pratiche (passphrase forti, applicare gli aggiornamenti di sicurezza, usare algoritmi e protocolli controllati da sicurezza, ecc.). L'oscurità non impedisce un attacco da parte di qualcuno che ti ha bersagliato se il tuo sistema è vulnerabile, ma non promuove il fatto che tu sia vulnerabile al mondo intero.
Se avevi un'app Ruby On Rails e lo avevi annunciato pubblicamente e si trovava in vacanza lo scorso gennaio, le persone avrebbero potuto eseguire comandi arbitrari sul tuo server web. In effetti, la pubblicità avrebbe permesso agli aggressori di trovarti molto più velocemente di quanto avrebbero dovuto indovinare casualmente quale tipo di stack tecnologico stavi eseguendo e provare ogni sito web casuale.
Oppure diciamo che c'è una debolezza del giorno zero trovata in SSH; un po 'come il problema di generazione della chiave SSH di Debian di qualche anno fa. Le persone inizieranno la scansione a caso per trovare ssh in esecuzione sulla porta 22 su indirizzi IP casuali e quindi eseguire l'exploit. Certo, potrebbero prima eseguire una scansione delle porte per cercare ssh, ma gli attaccanti prima cercheranno il frutto basso. Una ricerca completa renderebbe la scansione più di 10000 volte più lenta. Spero che a questo punto abbia corretto il problema. La maggior parte degli indirizzi IP casuali non avrà ssh o altro in esecuzione su di essi, quindi è logico che gli hacker interrompano la scansione dopo la porta 22 (e forse anche un paio di altri 222 e 2222 e 22222). Se il tuo server di casa non risponde ai ping e rilascia tutti i pacchetti su porte ma non su 39325, probabilmente passeranno prima di trovare il tuo server ssh. Questa è l'oscurità che ti aiuta. Sì, un intercettatore della rete potrebbe banalmente trovare la tua porta in ascolto su una connessione SSH. Ma per la stragrande maggioranza degli aggressori che ti hanno bersagliato in modo casuale, non avranno osservato una connessione SSH ascoltando il traffico di rete. Inoltre, anche per quegli aggressori, il 99,9% delle volte ti aspetti che la tua configurazione ssh sia sicura e non abbia vulnerabilità.
E per la seccatura in più di digitare ssh -p 39325 -Y [email protected]
, chiunque usi ssh spesso imposta un file ~/.ssh/config
(insieme a authorized_keys
e id_rsa.pub
/ id_rsa
) in modo che possano semplicemente digitare ssh foo
connettersi dopo aver digitato la passphrase delle chiavi private. Ora il tuo file di configurazione ricorda il nome di dominio completo, il tuo nome utente, la porta (se non 22) e qualsiasi altro flag. Per ssh, cambierò le porte se la sua connessione internet e solo io la uso (la mia macchina a casa, il mio VPS) come una seccatura per convincere tutti a utilizzare la stessa porta come te. Per gli utenti interni multipli al lavoro, lo tengo protetto da firewall verso l'esterno di Internet e richiede l'accesso dall'esterno per passare attraverso una VPN.
Per la cronaca, il mio VPS era solito avere ssh in esecuzione sulla porta 22 e ottenere circa ~ 10000 / giorno tentativi di autenticazione errati (tutti con nomi utente inesistenti) registrati nei file di registro. Negli ultimi tre mesi di file di registro, ho ottenuto esattamente zero in esecuzione su una porta diversa.