Quali sono le migliori pratiche per evitare che il mio server venga sottoposto a scansione della porta

2

Il titolo dice probabilmente tutto. Voglio solo sapere quali sono le migliori tecniche per evitare di avere un port scanner che rileva le porte aperte sul mio server. Sto usando una distro Linux come mio sistema operativo (Ubuntu Server).

    
posta My kutje 23.09.2017 - 00:19
fonte

5 risposte

4

port knocking

Portknocking è un metodo per aprire porte che il firewall normalmente mantiene chiuso eseguendo una serie di tentativi di connessione (colpi) ad altre porte. Sulla sequenza valida di porte bussate, si aprirà la porta richiesta.

Pensa al portknocking come a un colpo speciale sulla porta da aprire.

Ecco un esempio di wiki ArchLinux :

$ ssh username@host
(Ctrl+c to exit) ^C 
$ nmap -Pn --host_timeout 201 --max-retries 0 -p 1111 host
$ nmap -Pn --host_timeout 201 --max-retries 0 -p 2222 host
$ ssh user@host
user@host's password:

L'utente batte la porta 1111 seguita da 2222 per aprire la porta 22 per SSH.

Portspoof

Portspoof è un programma che rende molto difficile interpretare i risultati della scansione delle porte, rallentando quindi la capacità di identificare le porte aperte.

The Portspoof program primary goal is to enhance OS security through a set of new techniques:

  • All TCP ports are always open

Instead of informing an attacker that a particular port is CLOSED or FILTERED state Portspoof will return SYN+ACK for every port connection attempt.

  • As a result it is impractical to use stealth (SYN, ACK, etc.) port scanning against your system, since all ports are always reported as OPEN.

  • Every open TCP port emulates a services

Portspoof has a huge database of dynamic service signatures, that will be used to fool scanners to believe there's a legitimate service running. Scanning software usually tries to determine a service version that is running on an open port. Portspoof will respond to every service probe with a valid service signature, that is dynamically generated based on a service signature regular expression database. As a result an attacker will not be able to determine which port numbers your system is truly using.

Citato da link

Portspoof rende molto più difficile l'identificazione dei servizi di ascolto e, come afferma il README, occorrerebbero più di 8 ore per identificare quali porte sono effettivamente in ascolto. Identificare le porte reali è così dispendioso in termini di tempo che gli hacker probabilmente abbandoneranno.

Questa guida mostra come installare Portspoof:

  1. Compile the software, go in the directory where you have unzipped/put the sources and give these commands:

$./configure $ make $ sudo make install

OR

$ g++ -lpthread -Wall -g Configuration.cpp connection.cpp Portspoof.cpp revregex.cpp Utils.cpp Fuzzer.cpp Server.cpp -o portspoof

  1. Configure your firewall rules:

iptables -A PREROUTING -i eth0 -p tcp -m tcp --dport 1:65535 -j REDIRECT --to-ports 4444

iptables-restore < iptables-config (system_files directory)

Run Portspoof with service emulation:

$ portspoof -c portspoof.conf -s portspoof_signatures -D

Run Portspoof in “open port” mode:

$ portspoof -D

  1. Add portspoof to your system’s startup scripts. To do this modify or use the default init.d script that you can found in the ‘system_files’ directory.

Combina Portknocking con Portspoof e hai una buona difesa dai port scanner.

    
risposta data 23.09.2017 - 23:40
fonte
1

Se vuoi essere in grado di connettersi al tuo server senza ulteriori dolori dal lato client, non c'è modo di proteggere quelle porte dalla scansione. È un ossimoro. Port scanning è semplicemente un tentativo di connettersi e guardare a quale risposta ritorna.

Se sei disposto ad implementare misure aggiuntive dal lato del cliente, puoi usare qualcosa come "bussare alla porta". Nota che questo lascerà ancora alcune porte aperte per un tentativo di scansione, semplicemente non saranno quelle su cui sono in esecuzione server.

    
risposta data 23.09.2017 - 04:43
fonte
0

Mentre ci sono alcuni trucchi che puoi giocare, ad es. bloccando le fonti dopo tentativi di connessione sospetti, tutte le nmap del mondo hanno già delle contromisure (scansione lenta, scansione casuale, ecc.).

IMHO dovresti fare un passo indietro e chiediti di cosa hai paura, alias qual è il tuo modello di minaccia? Se un utente malintenzionato sa quali porte sono aperte, ciò indebolisce la tua sicurezza? Perché non dovrebbe Non provi a nascondere la porta di casa, installi un lucchetto adeguato, vero?

    
risposta data 24.09.2017 - 07:12
fonte
0

Un'altra soluzione è usare i servizi nascosti Tor se la velocità e la latenza non sono un grosso problema. In questo modo è impossibile scoprire il servizio utilizzando la scansione delle porte ed è abbastanza facile da fare. Offre anche un po 'più di privacy, come la crittografia e l'anonimato. Tutto ciò di cui hai bisogno per accedere al servizio è Tor e la possibilità di connettersi tramite Tor (predefinito alla porta 9050) usando SOCKS5. È possibile utilizzare proxychains o torsocks per proxify dei programmi che non supportano SOCKS5. È inoltre possibile impostare una password per il servizio nascosto.

Puoi avere tutte le tue porte come servizi nascosti e poi chiuderli da Internet.

    
risposta data 28.09.2017 - 23:27
fonte
-1

Per definizione, port scanning è il processo di connessione a porte e controllo della risposta e qualsiasi metodo ovvio di arresto della scansione porta risulterà in problemi connessi al server stesso.

Ci sono un certo numero di soluzioni che sono là fuori che richiedono un po 'più di configurazione e quella più semplice è probabilmente il knock-out della porta.

Alcuni articoli su knockout:

- Digital Ocean

- HowtoForge

    
risposta data 23.09.2017 - 22:42
fonte

Leggi altre domande sui tag