Come indica il nome, lo strumento Port Scan Attack Detection (PSAD) viene utilizzato per bloccare la scansione delle porte sul server. Nmap, un noto strumento viene utilizzato principalmente per avviare la scansione delle porte per rilevare porte aperte/chiuse. Lo strumento PSAD monitora continuamente i log del firewall (iptables in caso di piattaforma Linux) per determinare la scansione delle porte o qualsiasi altro attacco verificatosi. In caso di attacco riuscito al server, PSAD interviene anche per scoraggiare la minaccia.
In questo articolo, installeremo e configureremo PSAD su Ubuntu 15.04 VM. Attualmente, stiamo eseguendo i seguenti servizi su VM.
- Server web (porta 80)
- Server FTP (porta 21)
- server ssh (porta 22)
I comandi Netstat e telnet vengono utilizzati per controllare lo stato delle porte rispetto ai servizi sopra menzionati.
Servizio Web (Apache)
Servizio FTP (vsftpd)
Servizio Ssh (Secure Shell)
Installazione
I dettagli dell'impostazione della VM sono riportati nella figura 1 e l'indirizzo IP è 192.168.1.111.
Il pacchetto IPtables (noto come linux firewall) è preinstallato su tutte le piattaforme Linux. Pertanto, installa il pacchetto PSAD sulla macchina virtuale. Può essere installato dal codice sorgente o dal pacchetto binario. In questo articolo, installeremo il pacchetto PSAD dal repository di Ubuntu. Prima di tutto, esegui il comando di aggiornamento del pacchetto, quindi installa il pacchetto PSAD utilizzando il comando seguente.
$sudo apt-get update
$sudo apt-get install psad
Il pacchetto PSAD richiedeva molte dipendenze che vengono risolte automaticamente in caso di installazione dal repository di Ubuntu. Tuttavia, l'installazione di PSAD dal codice sorgente richiedeva diversi pacchetti perl.
Durante l'installazione del pacchetto, PSAD richiede la configurazione del server di posta come mostrato di seguito. In questo articolo, non abbiamo impostato alcun server SMTP per gli avvisi di posta elettronica.
Configurazione
PSAD utilizza i registri del firewall (iptables) per rilevare qualsiasi attività dannosa sulla macchina. I seguenti comandi abiliteranno la registrazione dei pacchetti sulle catene di input e forward di iptables.
$sudo iptables -A INPUT -j LOG
$sudo iptables -A FORWARD -j LOG
Dopo aver abilitato i log per entrambe le catene, esegui il comando seguente per elencare la configurazione corrente di iptables.
$sudo iptables -L
L'output del comando precedente sarà simile mostrato di seguito.
Chain INPUT (policy ACCEPT)
target prot opt source destination
LOG all -- anywhere anywhere LOG level warning
Chain FORWARD (policy ACCEPT)
target prot opt source destination
LOG all -- anywhere anywhere LOG level warning
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Il file di configurazione PSAD, le regole di snort e le firme si trovano in /etc/psad directory su piattaforma Ubuntu. Il file di configurazione PSAD è /etc/psad/psad.conf e ha molti parametri da modificare durante la distribuzione sul server di produzione. Tuttavia, in questo articolo, modificheremo alcune impostazioni di PSAD in modo che rilevi i log di iptables e intraprenda le azioni necessarie per scoraggiare gli attacchi.
EMAIL_ADDRESSES root@localhost; ##change it to get psad alerts
HOSTNAME test-machine; #set host name
HOME_NET 192.168.1.0/24; # Set LAN network
EXTERNAL_NET any; # Set Wan network
ENABLE_SYSLOG_FILE Y; #by default set yes
Una delle configurazioni importanti di PSAD è l'impostazione IPT_SYSLOG_FILE
parametro. Per impostazione predefinita, cerca i log in /var/log/messages. Tuttavia, syslog su Ubuntu è /var/log/syslog quindi cambia percorso in modo che PSAD rilevi attività dannose.
IPT_SYSLOG_FILE /var/log/syslog;
Stiamo usando PSAD come IDS/IPS quindi dobbiamo abilitare ENABLE_AUTO_IDS parametro in psad.conf file. Cambierà automaticamente le regole di iptables per bloccare la scansione dall'attaccante.
ENABLE_AUTO_IDS Y; # disable by default
AUTO_IDS_DANGER_LEVEL 1; #By default level is 5
L'impostazione di base del PSAD è completa, ora aggiorna le firme in modo che possa riconoscere correttamente i tipi di attacco noti.
sudo psad --sig-update
Prima di avviare PSAD sulla macchina, scansionare il server usando lo strumento Nmap. L'output dello scanner mostra che le seguenti porte sono aperte sulla macchina.
Ora avvia lo strumento PSAD usando il seguente comando e controlla anche lo stato mostrato nella figura seguente.
# /etc/init.d/psad start
#psad -S
Dopo aver abilitato PSAD, nessuna porta aperta rilevata dallo scanner Nmap che è mostrato anche nella figura seguente.
L'attaccante (l'indirizzo IP è 192.168.1.102) viene bloccato dal PSAD aggiungendo la regola di rilascio in iptables.
La regola di Iptables contro l'indirizzo 192.168.1.102 è mostrata nella figura seguente.
L'output dettagliato di PSAD è mostrato nelle figure seguenti.
La scansione delle porte da parte dell'attaccante viene mostrata nell'output PSAD.
L'IP dell'attaccante viene mostrato nel seguente output di PSAD.
Conclusione
In questo articolo, abbiamo esplorato un noto strumento open source PSAD per il blocco della scansione delle porte sui server. PSAD è un IDS/IPS completo che aggiunge automaticamente l'indirizzo IP dell'attaccante nelle regole del firewall. L'autore dell'attacco utilizza lo scanner delle porte per ottenere informazioni preliminari sul server per lanciare ulteriori attacchi, pertanto è molto importante bloccare automaticamente la scansione delle porte.