In questo tutorial, ti mostrerò l'installazione e la configurazione dello strumento PSAD (Port Scan Attack Detection) su Debian 8 (Jessie). Secondo il sito web del progetto:PSAD fornisce rilevamento delle intrusioni e analisi dei log con IPtables (firewall Linux). Lo strumento PSAD viene utilizzato per trasformare un sistema IDS (Intrusion Detection) in un IPS (Intrusion Prevention System). Utilizza le regole del noto IDS open source "SNORT" per il rilevamento di eventi di intrusione. La VM o il server è continuamente monitorato dallo strumento per eventuali attacchi attivi come le scansioni delle porte e può bloccare automaticamente gli indirizzi IP dannosi nel firewall Linux. Un altro progetto simile è Guardian che ha caratteristiche molto limitate. PSAD verrà installato su una VM Debian-8 (Jessie) e lo strumento di scansione "Nmap" verrà utilizzato per controllare le porte aperte sulla VM. Alla fine, verrà lanciato un attacco DOS sul server web (Apache) per vedere il comportamento dello strumento PSAD.
Installazione PSAD
Debian Jessie verrà installato sulla VM VMware utilizzando il programma di installazione di rete (debian-8.3.0-i386-netinst.iso).
Il processo di installazione di Debian è descritto nell'articolo precedente. L'indirizzo IP della macchina PSAD è 192.168.1.102/24.
Lo strumento PSAD può essere installato dal codice sorgente o dal repository di pacchetti Debian. Lo installerò dal repository Debian. Prima di tutto, aggiungi quanto segue nel file sources.list (o controlla se le righe sono già presenti) ed esegui il comando apt per aggiornare l'elenco dei repository.
deb http://httpredir.debian.org/debian jessie main deb-src http://httpredir.debian.org/debian jessie main deb http://httpredir.debian.org/debian jessie-updates main deb-src http://httpredir.debian.org/debian jessie-updates main deb http://security.debian.org/ jessie/updates main deb-src http://security.debian.org/ jessie/updates main
Elenco delle fonti per Debian Jessie
apt-get update
Esegui il comando seguente per installare PSAD nella VM.
apt-get install psad
Durante l'installazione dello strumento PSAD sono necessari diversi pacchetti Perl. Le dipendenze dei pacchetti verranno risolte automaticamente dal gestore di pacchetti Debian.
La funzionalità Firewall sulla piattaforma Linux è fornita dal pacchetto IPtables. È un noto firewall Linux e già installato in tutte le distribuzioni Linux.
Configurazione PSAD e firewall
Per impostazione predefinita, non ci saranno regole nelle catene IPtables sulla piattaforma Debian. Esegui il comando seguente per elencare le regole delle catene.
iptables -L
Abilita la registrazione sulle catene di input e forward di IPtables in modo che il demone PSAD possa rilevare qualsiasi attività anomala.
iptables -A INPUT -j LOGiptables -A FORWARD -j LOG
L'output del comando "iptables -L" sarà simile a quello 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
Sulla distribuzione Debian, lo strumento PSAD memorizza i file di configurazione e le regole nella directory /etc/psad.
Il file di configurazione PSAD principale è /etc/psad/psad.conf . In questo tutorial, la funzione IPS verrà utilizzata per rilevare gli attacchi DOS al server web.
Di seguito sono riportate le impostazioni di base per PSAD.
EMAIL_ADDRESSES [email protected];
HOSTNAME PSAD-box;
HOME_NET any;
EXTERNAL_NET any;
L'impostazione predefinita del livello di pericolo, l'intervallo di controllo PSAD e l'utilizzo del SID sono mostrati nella figura seguente.
Per impostazione predefinita, il demone PSAD cerca i log in /var/log/messages file. Pertanto, modifica IPT_SYSLOG_FILE parametro nella configurazione PSAD.
Le distribuzioni basate su Debian memorizzano i messaggi syslog in /var/log/syslog file.
ENABLE_SYSLOG_FILE Y;
IPT_WRITE_FWDATA Y;
IPT_SYSLOG_FILE /var/log/syslog;
Per impostazione predefinita, PSAD funziona in modalità IDS, il parametro IPS è disabilitato nel file di configurazione. Abilita i seguenti parametri per abilitare la funzione IPS e il livello di pericolo. Dopo aver abilitato il parametro nel file di configurazione, il demone PSAD bloccherà automaticamente l'attaccante aggiungendo il suo indirizzo IP nelle catene di IPtables.
ENABLE_AUTO_IDS Y;
AUTO_IDS_DANGER_LEVEL 1;
Ora esegui il comando seguente per aggiornare il database delle firme per il rilevamento degli attacchi.
psad --sig-update
Attualmente, il server Apache è in ascolto sulla porta 80 come mostrato di seguito.
Avvia PSAD utilizzando il comando seguente e verifica lo stato.
psad start
psad -S
Viene lanciato un attacco DOS utilizzando lo strumento LOIC (Low Orbit Ion Cannon) sulla macchina virtuale per testare il PSAD come mostrato di seguito.
Syslog mostra il traffico DOS generato utilizzando lo strumento LOIC.
L'indirizzo IP dell'attaccante simulato 192.168.1.100 è bloccato dal demone PSAD come mostrato di seguito. Esegui il comando seguente per visualizzare le regole dinamiche aggiunte da PSAD.
psad --fw-list
Lo screenshot seguente mostra che l'attaccante non può più eseguire il ping dell'indirizzo IP della vittima, quindi è stato bloccato con successo dal PSAD.
Esegui il comando seguente per vedere l'output dettagliato di PSAD.
psad -S
1. Firma abbinata e indirizzo IP dell'attaccante
2. Traffico per porti specifici
3. L'indirizzo IP dell'attaccante nelle catene IPtables.
4. Dettagli sulla comunicazione tra aggressore e vittima.
Conclusione
PSAD è un noto strumento open source per bloccare gli attacchi di scansione delle porte sui server Linux. Dispone di funzionalità IDS e IPS ed è in grado di bloccare dinamicamente indirizzi IP dannosi utilizzando IPtables.