Sicuro di usare numeri di porta elevati? (ri: oscurando i servizi web)


9

Ho una piccola rete domestica e sto cercando di bilanciare la necessità di sicurezza rispetto alla praticità. Il modo più sicuro per proteggere i server Web interni è connettersi solo tramite VPN, ma questo sembra eccessivo per proteggere un'interfaccia Web remota del DVR (ad esempio).

Come compromesso, sarebbe meglio usare numeri di porte molto grandi? (es. cinque cifre fino a 65531)

Ho letto che gli scanner delle porte in genere scansionano solo le prime 10.000 porte, quindi usare numeri di porta molto alti è un po 'più sicuro.

È vero?

Esistono modi migliori per proteggere i server Web? (ad es. web guis per le applicazioni)


No, non è vero. Le moderne macchine CPU multi-core (anche desktop) con accesso a banda larga possono scansionare tutte le 65535 porte in pochi secondi. E anche se l'attaccante ha deciso di distanziarlo a due al secondo per sventare un cancello DoS, chi se ne frega, stai lasciando il tuo sistema in funzione per più di un giorno, giusto? Una vecchia massima è, come altri hanno affermato di seguito, che "la sicurezza attraverso l'oscurità" è essenzialmente inutile nel mondo digitale.
msanford,

Risposte:


9

Ho letto che gli scanner delle porte in genere scansionano solo le prime 10.000 porte, quindi usare numeri di porta molto alti è un po 'più sicuro.

Molte persone ci credono. Io non.

Forse è un po 'più sicuro, ma non molto. Le porte a basso numero sono più comuni, quindi alcuni scanner guarderanno prima lì.

Se fossi un cracker, analizzerei prima le porte alte, solo per catturare le persone che si affidano a questo metodo per motivi di sicurezza. Le persone che si affidano alla sicurezza attraverso l'oscurità probabilmente hanno una scarsa comprensione della sicurezza e hanno maggiori probabilità di dimenticare di usare altri metodi di sicurezza. Pertanto, tali servizi potrebbero essere più vulnerabili e più facili da decifrare.

Alcuni scanner sfruttano questo credo, e iniziano dall'alto e scendono la lista. Altre scansioni selezioneranno porte casuali su tutto l'intervallo, quindi tutte le porte hanno le stesse possibilità di essere scansionate.

Vai avanti e testalo tu stesso usando NMAP . Esegui una scansione nmap sulle porte 1-10.000 e cerca un server HTTP e confrontalo con una scansione che esegue la scansione su tutte le porte 1-65, xxx. Vedrai che la differenza è in genere di 3-10 minuti. Se eseguo una scansione dettagliata usando qualcosa come Nessus, la differenza è a volte 20-60 minuti.

Un buon cracker è un cracker paziente. Aspetteranno.


1
Supponendo che tutte le altre misure di sicurezza pertinenti siano state implementate, sarebbe meglio o peggio oscurare il numero di porte? Penso che sarebbe leggermente meglio se il server non fosse mirato in modo specifico.
wag2639

2
+1 "Un buon cracker è un paziente cracker. Aspetteranno."
msanford,

@ wag2639 Non stai davvero facendo nulla cambiando il numero di porta di un servizio ma facendo trovare a uno script-kiddie uno script leggermente migliore. La composizione in guerra di un blocco di IP e ANCHE il portcanning di ogni singola porta è banale.
msanford,

Se un hacker sta cercando un determinato obiettivo, potrebbe essere in grado di attendere 20 - 60 minuti scansionando numeri di porta elevati. Tuttavia, se stanno tentando di scansionare centinaia o migliaia di indirizzi IP per trovare sistemi vulnerabili, non eseguiranno la scansione di porte alte. Inoltre, devono sapere che esiste un sistema prima di poter iniziare a prenderlo di mira. Se il firewall sta facendo il suo lavoro, il sistema è praticamente invisibile fino a quando non si imbattono in una porta aperta.
user1751825

3

L'uso di numeri di porta dispari non è affatto sicurezza a meno che non si stia facendo il fatto che ti consenta di eseguire l'applicazione come utente non root.

Questo genere di cose può essere considerato sicurezza dall'oscurità, ma in realtà non è sicurezza.


Ci sono alternative all'utilizzo di una VPN completa? Forse una sorta di proxy web inverso che ha una protezione aggiuntiva di login / password? (calamari non lo fa)
SofaKng

@sofakng: potresti essere interessato a un wrapper SSL come Stunnel: stunnel.org
Maxwell

3

Puoi anche usare un tunnel ssh se stai usando Linux ad entrambe le estremità:

ssh -f -N -L 9090:localhost:9090 user@remote-host

Ad esempio, è quello che uso per inoltrare la porta 9090 sull'host remoto alla mia porta locale 9090 cherokee-admine utilizzo configurazioni simili per altre GUI Web. È possibile proteggere le applicazioni in questo modo specificando nella configurazione dell'app che devono essere eseguite solo su localhost, ovvero su 127.0.0.1. In questo modo non sono raggiungibili dall'esterno, ma è possibile inoltrarli con ssh. Controlla man sshaltre opzioni usando il port forwarding (incluso X, che potrebbe risolvere completamente il tuo problema in un altro modo).

Questo potrebbe essere un modo adatto per raggiungere il tuo obiettivo senza installare / configurare software aggiuntivo, a seconda della configurazione.


1

Se il firewall lo consente, è possibile far sì che l'autenticazione avvenga prima a livello di firewall, se la complessità delle password è sufficientemente buona, ciò dovrebbe rafforzare la sicurezza dei servizi esposti. puoi anche usare il tunneling SSL usando ad esempio lo stunnel e l'autenticazione reciproca.

Considerando il fatto che l'utilizzo di un numero di porte superiore è più sicuro, in un certo senso, forse in riferimento ai bot che scansionano il tuo IP e provano alcuni exploit, ma se qualcuno vuole davvero violare, l'uso di un numero di porte più elevato non fornirà una maggiore sicurezza.


Sto usando pfsense e alcuni dei miei servizi web hanno il supporto integrato SSL (HTTPS). È ancora meglio usare lo stunnel? L'uso di stunnel è il livello di "autenticazione al firewall"?
SofaKng,

1
Come si fa "autenticazione al firewall"?
wag2639,

Non so se pfsense abbia questa funzionalità, ma sui router Junipers puoi usare gli utenti locali (anche RADIUS) per garantire l'accesso al traffico tradotto HTTP. Per quanto riguarda Stunnel è possibile utilizzare l'autenticazione reciproca con certificati, lo stunnel incapsalerà il traffico HTTP con SSL e gestirà l'autenticazione.
Maxwell,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.