Conosci la tua rete alla rovescia controllando regolarmente le porte aperte con questi comandi di Linux.
Le porte di rete aperte sono i punti di accesso più facili alla tua rete. A volte, potrebbero esserci servizi indesiderati in esecuzione su porte visibili esternamente da Internet. Nel caso in cui questi servizi siano vulnerabili, la tua rete sarebbe costantemente minacciata di un attacco poiché ogni giorno l'intera Internet viene scansionata in massa alla ricerca di servizi vulnerabili su porte aperte.
Scopri come scansionare e visualizzare le porte aperte sui tuoi sistemi Linux, in modo da poter difendere la tua rete dalle minacce.
Cosa sono le porte di rete?
Le porte di rete sono punti di accesso logici del sistema che possono essere utilizzati come canale per ospitare più servizi. Una porta è rappresentata da un numero intero a 16 bit, quindi il numero di porta più alto è 65535.
Puoi pensare a porte come finestre e porte di una casa, praticamente tutti i diversi punti di accesso a una casa oa un computer. Le porte sono di tre tipi: porte di sistema (1-1023), porte registrate (1024-49151) e porte temporanee o dinamiche (49152-65535).
Quando si avvia un'applicazione che richiede la connessione a Internet, utilizza porte dinamiche per trasmettere e ricevere dati sulla rete. Tuttavia, quando si avvia un server Web o un server SSH, in genere si collega alle porte di sistema o alle porte registrate.
Per i server Web di servizio HTTP, la porta di sistema predefinita è 80 e per SSH è 22. Questi regolamenti come gli intervalli di porte sono sviluppati dall'Internet Assigned Numbers Authority (IANA). Puoi passare attraverso il RFC per quanto riguarda le porte per ottenere un elenco completo di tutte le porte e delle loro funzioni.
È importante che tu conosca il porte più comunemente vulnerabili in modo che tu possa assicurarti che siano chiusi o protetti.
1. Controlla le porte aperte con netstat
netstat è una popolare utility che puoi utilizzare per visualizzare le statistiche di rete del tuo sistema Linux. Fa parte del pacchetto net-tools.
Il pacchetto net-tools è ora ammortizzato a causa della mancanza di una corretta manutenzione da parte dello sviluppatore. Questo è anche il motivo per cui potresti incontrare un errore "ifconfig: comando non trovato". quando si esegue il popolare comando ifconfig su Linux.
Quindi, sui sistemi moderni, potrebbe essere necessario installare prima il pacchetto net-tools, quindi sarà possibile eseguire il comando netstat. Ecco come controllare le porte aperte con netstat:
netstat -tuln
Spiegazione del comando:
- -T mostra le porte TCP.
- -u mostra le porte UDP.
- -l mostra le porte di ascolto. Sostituisci questo con UN se vuoi vedere tutte le porte, indipendentemente dal loro stato.
- -N mostra il valore numerico delle porte invece di risolvere i nomi dei servizi. Ad esempio, mostra la porta 22 invece di SSH, ovvero il servizio in esecuzione sulla porta.
2. Verificare la presenza di porte aperte con ss
ss è l'equivalente moderno dello strumento netstat. Lo troverai preinstallato in tutte le moderne distribuzioni Linux. La sintassi per controllare le porte aperte con ss è identica a netstat.
Ecco come controllare le porte aperte con ss:
ss - tuln
Spiegazione del comando:
- -T mostra le porte TCP.
- -u mostra le porte UDP.
- -l mostra le porte di ascolto. Sostituisci questo con UN se vuoi vedere tutte le porte, indipendentemente dal loro stato.
- -N mostra il valore numerico delle porte invece di risolvere i nomi dei servizi. Ad esempio, mostra la porta 21 invece di FTP, ovvero il servizio in esecuzione sulla porta.
3. Controlla le porte aperte con Nmap
Nmap è uno degli strumenti più popolari nella sicurezza informatica e nel networking. È un nome fondamentale quando si tratta di test di penetrazione della sicurezza di rete. Il suo caso d'uso principale è la scansione delle porte, quindi non solo otterrai informazioni sulle porte aperte nel tuo sistema, ma anche se sono vulnerabili e sfruttabili.
Inoltre, se desideri controllare le porte aperte in un sistema remoto con IDS/IPS configurato e firewall installati, non preoccuparti perché Nmap può anche bypassare firewall e IDS/IPS con gli switch giusti.
Controlla questo guida completa su Nmap per principianti per esplorare le diverse caratteristiche di Nmap e come usarle. Sebbene sia possibile, non è consigliabile tentare di aggirare i firewall poiché non è del tutto affidabile, quindi è meglio eseguire SSH nel server remoto e quindi eseguire Nmap su di esso localmente.
Ecco il comando per verificare la presenza di porte aperte con Nmap:
nmap -sTU -sV -T 5 --min-rate 9000 --min-parallelism 9000 --initial-rtt-timeout 50ms --max-rtt-timeout 3000ms --max-retries 50 -Pn --disable-arp-ping -n -- script vuln, exploit, auth -v -oX
Spiegazione del comando:
- -sTU imposta il tipo di scansione su TCP Connect e scansione UDP.
- -T5 imposta il modello di temporizzazione su aggressivo per scansioni incredibilmente veloci (non consigliato su un sistema non protetto in quanto potrebbe provocare un attacco DoS).
- -sv attiva la scansione dei servizi.
- --min-rate 9000 dice a Nmap di inviare 9000 pacchetti al secondo.
- --initial-rtt-timeout 50ms dice a Nmap di attendere inizialmente 50 ms per una risposta a ogni pacchetto SYN che invia.
- --max-rtt-timeout 3000ms dice a Nmap di attendere un massimo di 3000 ms per una risposta.
- --min-parallelismo 9000 imposta il numero minimo di esecuzioni simultanee di script su 9000.
- --max-tentativi 50 dice a Nmap di riprovare 50 volte per connettersi a una porta.
- -Pn disabilita il sondaggio del ping.
- --disable-arp-ping disabilita il sondaggio ARP.
- -N disabilita la risoluzione DNS.
- --script vuln, exploit, auth esegue tre script per testare diversi tipi di vulnerabilità nelle porte scoperte.
- - v restituisce un output dettagliato.
- -bue salva i risultati in un file XML.
- -6 Parametro facoltativo per eseguire la scansione degli indirizzi IPv6.
4. Controlla le porte aperte con lsof
Il comando lsof in Linux viene utilizzato per elencare i file aperti. Tuttavia, se aggiungi alcuni switch, sarai in grado di vedere le connessioni e le porte Internet aperte sul tuo computer locale. Ecco come controllare le porte aperte con lsof:
lsof -i -n
Spiegazione del comando:
- -io elenca tutti i file di rete e Internet.
- -N non risolve i nomi host.
5. Controlla le porte aperte con netcat
netcat è un'utilità della riga di comando che consente di leggere e scrivere da e verso connessioni TCP/UDP. Nota che questa è solo una caratteristica di netcat. Puoi controllare la sua pagina di manuale usando il file uomo netcat comando per esplorare tutte le sue funzionalità e come usarle.
Ecco come puoi usare netcat per scansionare le porte aperte:
nc -zv | grep -v "rifiutato"
Spiegazione del comando:
- -z imposta netcat in modalità scanner.
- - v restituisce un output dettagliato.
- grep -v "rifiutato" restituisce le righe di output senza la parola "rifiutato". Questo per evitare che il terminale venga intasato da messaggi di "connessione rifiutata" quando netcat non riceve alcun output da una porta.
- 2>&1: Questo è un interruttore facoltativo che potrebbe essere necessario attivare per far funzionare grep quando si esegue netcat in modalità dettagliata. netcat restituisce l'output a stderr (indicato da 2). Quindi, per grep l'output, dovresti reindirizzare stderr a stdout (indicato da 1) e quindi reindirizzarlo a grep.
Quanto più a fondo conosci la tua rete, tanto meglio puoi difenderla
Sapere quali porte sono aperte e quali servizi sono in esecuzione sul tuo sistema è un ottimo passo per difenderlo da potenziali attacchi esterni. Ciò consente di cercare e chiudere servizi non necessari, trovare servizi obsoleti e anche rileva se sono presenti file dannosi come backdoor bind o reverse shell in esecuzione sul tuo sistema.
Se prendi sul serio la sicurezza della rete, dovresti prendere in considerazione l'installazione e la configurazione di una soluzione IDS per monitorare tutte le attività sulla tua rete e applicare set di regole per impedire connessioni non richieste.