Esecuzione di SSH su una porta diversa rispetto all'aggiunta del numero di porta a una password

0

Quindi, un consiglio piuttosto tipico è di eseguire SSH su un numero di porta elevato, diminuendo così le possibilità che venga attaccato. La cosa che mi sono sempre chiesto è che sembra più sicuro eseguire SSH sulla porta standard e aggiungere un numero arbitrario tra 1.000 e 10.000 alla fine della password piuttosto che usare una porta SSH non standard. Il mio ragionamento per questo è che aggiunge la stessa quantità di segretezza / oscurità (dove uso la parola "oscurità" nel senso che password e chiavi sono sicurezza attraverso l'oscurità), tuttavia con una porta non appena si preme il numero corretto ricevere conferma dal server. Con una password, tuttavia, è necessaria la password corretta prima di ricevere la conferma.

Per essere molto chiari qui, sto confrontando le seguenti due situazioni:

  • Nome utente: user , Password: password2938 , Porta: 22
  • Nome utente: user , Password: password , Porta: 2938

e sì, so che usare l'autenticazione pubkey è migliore, ma ha alcuni svantaggi quando si tratta di usabilità (qualcosa che non è una preoccupazione valida sui server di produzione, ma è spesso una preoccupazione valida per i sistemi privati).

Questo ragionamento è corretto ed è il consiglio di eseguire SSH su numeri di porta non standard quindi non corretti / deboli?

    
posta David Mulder 07.02.2016 - 16:16
fonte

4 risposte

5

Una password con una maggiore complessità è ottima, ma se c'è un exploit contro il software server (OpenSSH o altro) che stai utilizzando, non sarà di aiuto. L'idea alla base di un oscuro numero di porte alte è che non verrà attaccato in primo luogo, ma ci sono alcune avvertenze da prendere in considerazione:

Le porte alte presentano un ulteriore rischio per la sicurezza. Se il server SSH non funziona, un utente locale può posizionare un nuovo server SSH sulla stessa porta. Solo le porte 1-1024 sono limitate all'utente root, quindi la porta alternativa deve trovarsi in tale intervallo. (Questo taglia in entrambi i modi: i port scanner esaminano solo queste porte, quindi sei meno nascosto.)

Questa è sicurezza attraverso l'oscurità e dovrebbe essere considerata "extra", ma dovrebbe < em> not essere considerati parte della sicurezza quando si calcolano entropia e rischio. Non è male essere oscuri, ma è male presumere che l'oscurità offra sicurezza sufficiente. Adattamento di un preventivo da @barbecue :

Obscurity is to security as camouflage is to armor.
One makes it harder to find you, the other protects you once you have been found.

Potresti ottenere meno attacchi sulla porta 2938, ma una password debole è una password debole.

Mi piace molto la tua idea di confrontare l'entropia della password di whatever con whatever2938 (* modificato da password e password2938 per i motivi indicati di seguito), che I calcola per essere 17 bit contro 30 bit, mostrando che la password più lunga è sicuramente più sicura, ma per modellarla correttamente dovresti ottenere delle statistiche su quanti aggressori port-22-bound potrebbero eventualmente infrangere quella password più lunga rispetto a quanti attacker troverebbero entrambi la porta non standard e rompere la password più breve, e anche quell'analisi dovrebbe assumere lo stesso tasso di persistenza anche se gli attacchi stanno aumentando sia in termini di frequenza che di sofisticazione.

Invece, consiglierei qualcosa come Fail2ban , che può riconoscere gli accessi falliti e vietare l'IP che li ha tentati (per impostazione predefinita, Fail2ban blocca un IP per dieci minuti dopo dieci accessi falliti entro dieci minuti, ma questo è tutto configurabile). Questo limita gli attacchi a provare una password al minuto, quindi whatever richiederebbe circa una settimana per interromperla e anche una password più tipica (ma ancora debole) come Da5id richiederebbe 12+ anni (2 < sup> 22.6 & div; 365 & div; 24 & div; 60 = 12) di controllo password non-stop, che è presumibilmente il tempo necessario per farti notare i tentativi nei log.

non pensa che ciò renda deboli le password come Da5idRox una buona idea. Fail2ban funziona solo sul server SSH; qualcuno con l'accesso alla shell potrebbe rompere questo in due settimane.

Naturalmente, non c'è nulla che ti impedisca di fare tutto. Aggiungi complessità alla tua password, usa una porta alternativa e blocca gli IP con troppi errori. Un'ulteriore tecnica di offuscamento che potresti provare è bussare alla porta , che può anche essere eseguita sicuro se il knock stesso è crittografato end-to-end o utilizza un password one -time .

* Una nota minore: ho modificato le password di esempio della domanda per utilizzare whatever anziché password perché password è un caso speciale. Le password comuni come password (e semplici variazioni) sono meglio assunte per un'entropia attorno a 0-5, quindi ad es. p455w0rDz ha un'entropia di circa 12, che è più debole di L% . Nella matematica di cui sopra, ho invece assunto che intendessi una parola di dizionario casuale, che ha un'entropia di 17 bit). Altro sulla complessità della password calcoli .

    
risposta data 24.03.2016 - 02:21
fonte
1

Penso che ci sia un problema con il tuo confronto: mentre è possibile che ogni utente sul sistema aggiunga un numero scelto alla password non è possibile che ogni utente abbia la propria porta SSH scelta. Pertanto una porta diversa non può mai sostituire una password migliore (e ovviamente dovresti scegliere comunque le chiavi).

Invece una porta diversa è un modo per ridurre la superficie di attacco usando l'oscurità. Dato che la solita scansione viene eseguita contro la porta standard, puoi nascondere il tuo vero server da qualche altra parte e magari aggiungere anche un server SSH falso alla porta standard per tenere gli attaccanti fuori dal tuo vero server.

    
risposta data 07.02.2016 - 17:30
fonte
1

Considera Joe the Script Kiddie.

Joe avvia il suo script scanner ssh. Questo richiede un intervallo di indirizzi IP e continua a esplorare tutti i dispositivi su quell'intervallo, controllando se la porta 22 è aperta. Se lo è, si presuppone che sia un server ssh e può iniziare a provare a trovare nomi utente e password.

Se il tuo sshd si trova su una porta diversa, sarai suscettibile agli scanner che eseguono la scansione delle porte sopra (o non su) la scansione IP. Non dicendo che questo impedirà qualsiasi tipo di attacco al tuo server, ma ridurrà la tua vulnerabilità alle scansioni casuali di intervalli di indirizzi IP estesi.

    
risposta data 07.02.2016 - 17:31
fonte
1

L'uso di password sicure è un dato di fatto. Questo deve essere fatto indipendentemente dal numero di porta. Non capisco perché questo dovrebbe escludersi a vicenda. Utilizza un numero di porta elevato e utilizza una password sicura.

Se si esegue un server ssh pubblicamente accessibile sulla porta 22, sarà assolutamente martellato da tentativi di hacking. Anche se quasi tutti questi tentativi sono completamente inefficaci a causa delle tue password sicure, riempiranno ancora i tuoi registri, rendendo più difficile rilevare tentativi di intrusione più gravi.

Sì, è sicurezza per oscurità, ma aiuta ancora. La stragrande maggioranza dei robot semplicemente non vedrà nemmeno il tuo server.

    
risposta data 24.03.2016 - 02:42
fonte

Leggi altre domande sui tag