Intrusion Detection System (IDS) - homes.di.unimi.it · Cos’è un sistema di Network Intrusion...
Transcript of Intrusion Detection System (IDS) - homes.di.unimi.it · Cos’è un sistema di Network Intrusion...
Sicurezza nelle Reti
Prof. Claudio A. Ardagna, Dr. Marco Anisetti, Dr. Valerio Bellandi, Dott. Fulvio Frati
http://homes.di.unimi.it/anisetti/index.html
Università degli Studi di Milano
Tipici abusi a cui siamo esposti
• accesso non autorizzato ad un host
• compromissione del sistema
• Denial of Service
• mail spam
• utilizzo abusivo di anonymous ftp server
• virus, troiani, ...
3 Sicurezza nelle Reti
Come prevenirli ?
filtri sul router
tcp-wrappers
chiusura servizi inutili
filtri anti-spam
antivirus
eliminazione trasmissione password in chiaro
4 Sicurezza nelle Reti
Un’intrusione nella LAN resta comunque
un evento possibile e probabile
si usano sistemi operativi intrinsecamente insicuri e/o
non sempre configurati
gli utenti richiedono di utilizzare servizi insicuri
i sistemi di autenticazione utilizzati (password) sono
deboli
tutti i sistemi operativi risultano prima o poi
vulnerabili a chi riesce ad accedervi come utente
locale
5 Sicurezza nelle Reti
Cos’è un sistema di
Network Intrusion Detection ?
• E` un sistema di monitoraggio del traffico di rete con lo
scopo di evidenziare eventi critici per la security
• Si puo` considerare come una valida estensione dei log di
sistema
6 Sicurezza nelle Reti
Intrusion Detection System
definizione:
sistema per identificare individui che usano un computer
o una rete senza autorizzazione
esteso anche all’identificazione di utenti autorizzati, ma
che violano i loro privilegi
ipotesi:
il “pattern” di comportamento degli utenti non autorizzati
si differenzia da quello degli utenti autorizzati
7 Sicurezza nelle Reti
Perchè usare gli IDS
per rilevare attacchi o altre violazioni alla sicurezzache non sono prevenuti da altri sistemi;
per fornire utili informazioni su intrusioni avvenute, fare diagnosi e correzioni di eventuali debolezze;
eventualmente, per avere risposte automatiche come la chiusura di una connessione, l’aumento dellasensibilità di un IDS o lo spegnimento di un host sotto attacco.
8 Sicurezza nelle Reti
IDS: caratteristiche funzionali
IDS passivi:
uso di checksum crittografiche (es. tripwire)
riconoscimento di pattern (“attack signature”)
IDS attivi:
“learning” = analisi statistica del funzionamento del sistema
“monitoring” = analisi attiva di traffico dati, sequenze, azioni
“reaction” = confronto con parametri statistici (reazione
scatta al superamento di una soglia)
9 Sicurezza nelle Reti
A cosa serve
Permette di rivelare:
• network scan
• traffico sospetto (IRC bot, abusi di ftp anonymous, troiani, etc.)
• traffico che coinvolge host sospetti
Può rivelare anche attacchi che originano da un host
compromesso della nostra LAN
Permette di effettuare analisi specifiche anche a distanza di
tempo, per esempio ricontrollando il traffico riguardante
particolari host o servizi
10 Sicurezza nelle Reti
A cosa non serve
a prevenire un’intrusione
a prevenire un Denial of Service
a rivelare intrusioni o attacchi provenienti dall’interno
della LAN
Non e` un sistema di protezione ma di rivelazione
delle intrusioni provenienti dall’esterno o di attacchi
diretti verso l’esterno
11 Sicurezza nelle Reti
Un esempio: compromissione
dell’account di root
• remota: mediante un servizio vulnerabile visibile
all’esterno
• È possibile difendersi (sicurezza perimetrale)
• locale: accesso come utente non privilegiato (es. uso di
password rubate) e successiva compromissione di root
tramite un bug
• Come mi difendo?
12 Sicurezza nelle Reti
IDS: caratteristiche topologiche
HIDS (host-based IDS)
analisi dei log (del S.O. o delle applicazioni)
attivazione di strumenti di monitoraggio interni al S.O.
NIDS (network-based IDS)
attivazione di strumenti di monitoraggio del traffico di rete
13 Sicurezza nelle Reti
Come valutare un IDS
Per valutare l’efficienza di un IDS è necessario
conoscere due parametri:
accuratezza: allarmi corretti / allarmi totali;
completezza: allarmi corretti / numero delle intrusioni.
14Sicurezza nelle Reti
Intrusion No Intrusion
IDS
AlarmAllarme corretto
Falso allarme
(o falso positivo)
IDS
RejectionRifiuto falso Rifiuto corretto
Falsi allarmi
In generale in tutti gli IDS occorre bilanciare
falsi negativi attacchi non rilevati
falsi positivi attacchi rilevati corrispondenti a situazioni normali
Quanto più la rilevazione e specifica tanto più aumenta il
carico computazionale
la rilevazione diventa sensibile
Quanto più la rilevazione si fa lasca tanto più il carico
computazionale cala
la rilevazione risulta poco influenzata da varianti
vengono rilevati eventi simili ma non pericolosi.
Sicurezza nelle Reti 15
Relazione fra FP e FN
FP e FN risultano correlati inversamente: agendo per
diminuire l'una, tipicamente l'altra aumenta.
Il problema si ripropone in moltissime discipline
ogni volta che si ha una decisione binaria (test)
Sicurezza nelle Reti 16
Positivo Negativo
Attacco TP FN
Non attacco FP TN
TP+TN+FP+FN = totale
Precision e recall
FP Type I error, falso allarme
FN Type II error, miss
Specificità= TN/(TN+FP) FPR 1-specificità
Accuratezza= (TP+TN)/totale
Precisione (precision)
Sensibilità (recall) TPR
ROC receiver operative characteristic Sensibilità vs. tasso di falsi positivi
Sicurezza nelle Reti 17
wikipedia
Falsi allarmi
Il problema degli IDS sono i falsi allarmi e le mancate
segnalazioni
la qualità di un IDS sta nella relazione fra FP e FN
per valutarla ci si serve di ROC e AUC (Area Under
Curve)
18Sicurezza nelle Reti
Prof. Mattia Monga
Falsi allarmi
Gli strumenti di analisi come ROC permettono di
valutare l'efficacia ex-post, valutando il peso di FP e FN in
un determinato contesto sperimentale.
Un IDS genera migliaia di allarmi al giorno: qual e la
probabilita che un allarme sia davvero relativo a un
attacco?
dipende in maniera complessa dalla probabilita a priori di
un attacco.
Sicurezza nelle Reti 19
Teorema di Bayes
Per calcolare la probabilità di un allarme veritiero occorre sempre stimare la probabilità a priori di un attacco, che e spesso piuttosto bassa
i falsi allarmi sono inevitabilmente comuni, a meno di avere un IDS straordinariamente preciso o asset particolarmente appetibili.
Pr(attacco|allarme) =
Sicurezza nelle Reti 20
SIV e LFM
System IntegrityVerifier controlla i file / filesystem di un nodo per rilevarne
cambiamenti
es. rileva modifiche ai registri di Windows o alla configurazione di cron, cambio privilegi di un utente
es. tripwire
Log File Monitor controlla i file di log (S.O. e applicazioni)
rileva pattern conosciuti derivanti da attacchi o da tentativi di attacco
es. swatch
21 Sicurezza nelle Reti
Componenti di un NIDS
sensor controlla traffico e log individuando pattern sospetti
attiva i security event rilevanti
interagisce con il sistema (ACLs, TCP reset, ... )
director coordina i sensor
gestisce il security database
IDS message system
Consente la comunicazione sicura ed affidabile tra i componenti dell’IDS
22 Sicurezza nelle Reti
DMZ
Architettura di un NIDS
23 Sicurezza nelle Reti
Rete
esterna
Rete
interna
IDS
Director
(host)
sensors
(net)
sensors
(host)
sensors
(net)
sensors
Interoperabilità di IDS/NIDS
necessaria perché attacchi coinvolgono differenti organizzazioni e/o sono rilevate da diversi strumenti
formato di signature: nessuno standard, ma molto diffuso il formato di Snort
formato degli allarmi e protocollo per la loro trasmissione:
IDMEF + IDXP + IODEF (IETF)
SDEE (Cisco, ISS, SourceFire)
24 Sicurezza nelle Reti
Flusso dati in un NIDS
25 Sicurezza nelle Reti
Data source
sensor
analyzer
manager
operator
administrator
Security
policy
activity
event
alert
notification
response
IDMEF + IDXP
sviluppati da IETF
Intrusion Detection Message Exchange Format indipendente dal protocollo (IPv4, IPv6)
supporta internationalizzazione e localizzazione
supporta aggregazione e filtraggio dei dati (sul manager)
Intrusion Detection eXchange Protocol basato su BEEP (RFC-3080)
scambia profili (di sicurezza end-to-end, di ID)
profilo di sicurezza base è TLS
26 Sicurezza nelle Reti
SDEE
Secure Device Event Exchange
basato sul paradigma web service:
messaggi in formato XML
scambio messaggi in HTTP o HTTPS
standard chiuso, gestito da ICSAlabs
27 Sicurezza nelle Reti
IODEF
Incident Object Description and Exchange Format
è un soprainsieme di IDMEF
serve per scambiare informazioni tra enti diversi,
tenere statistiche, valutare rischi
28 Sicurezza nelle Reti
Intrusion Prevention System
Intrusion Prevention System IPS
per velocizzare ed automatizzare la risposta alle
intrusioni = IDS + firewall dinamico distribuito
non un prodotto ma una tecnologia, con grosso
impatto su tanti elementi del sistema di protezione
pericolo di prendere la decisione sbagliata o di
bloccare traffico innocuo
29 Sicurezza nelle Reti
Honey pot
30 Sicurezza nelle Reti
Rete
esterna DMZ
Decoy DMZ
Internal
network
Web server
Honey pot
(Attacchi esterni)
Honey pot
(Attacchi interni)
Trusted host
Intrusion detection system
Sono disponibili in rete diversi programmi che possonoessere utilizzati come IDS, tuttavia molti sono a pagamentoo ancora in versione beta.
Snort è gratuito, testato, diffuso e ben supportato.
Può funzionare sia come normale sniffer, sia come IDS. Se utilizzato in questo secondo modo, viene gestito daiseguenti file: snort.conf, classification.conf e da tutte le regole racchiuse negli *.rules.
Gli alert possono essere salvati in binario in formatotcpdump, il che permette una maggiore velocità di scritturae un minore utilizzo di spazio.
Snort è quindi in grado di leggere i file in formato tcpdumpper un’analisi posticipata.
31 Sicurezza nelle Reti
Snort
Snort è un IDS open source usato per monitorare i pacchetti in transito sulla rete
Come tcpdump, utilizza le Libcap per sniffare e catturare i pacchetti
Quattro modalità utilizzo:
Sniffer mode, legge i pacchetti dalla rete e li visualizza come un flusso continuo
Packet Logger mode, logga i pacchetti salvandoli sul disco
Network Intrusion Detection System (NIDS) mode, utilizza regolesnort-based per individuare pattern di traffico sospetti
Inline mode, riceve i pacchetti direttamente da IpTables e collabora per bloccare traffico sospetto
32 Sicurezza nelle Reti
Configurazione di Snort
File snort.conf
Variabili di configurazione utili come HOME_NET, HTTP_SEVERS, DNS_SERVERS atte a diminuire i falsipositivi;
configurazione dei preprocessori che permettonoun’analisi più estesa dei pacchetti.
configurazione dell’output
per esempio verso un database.
Regole da usare.
33 Sicurezza nelle Reti
Regole(1)
Sicurezza nelle Reti34
File *.rules e classification.conf
le rules servono per identificare i pacchetti che fanno scattare
gli allarmi.
Scritte su di un'unica riga
Bisogna suddividere le regole in due sezioni logiche:
header: (chi dove cosa fare) contiene le azioni delle regole,
protocollo, indirizzo IP di origine e destinazione, e le
informazioni sulle porte.
options: contiene messaggi di alert, informazioni su quali parti
dei pacchetti devono essere analizzate per determinare se le
regole di azione devono essere eseguite.
Regole(2)
Sicurezza nelle Reti35
Seguente format
Func prot sIP/mask sport -> dIP/mask dport (opzione1; opzione2;…)
func indica l’azione della regola
alert: genera un alert usando il metodo di alert selezionato, e
poi fa il log del pacchetto
log: fa il log del pacchetto
pass: ignora il pacchetto
activate: genera un alert e poi viene attivata un’azione
dynamic
dynamic: rimane inattiva finché non è attivata da un’azione
activate, poi agisce come un log
Regole(3)
Sicurezza nelle Reti36
->: indica la direzione del traffico (dalla sorgente alla destinazione) che può essere anche inversa (<-) o bidirezionale (<>);
Le opzioni contengono una delle seguenti parole chiavi: Content, content-list: cerca un determinato pattern o una lista di pattern nel
payload del pacchetto.
msg: stampa un messaggio di alert a video o nel file di log.
logto: crea il log del pacchetto in un file specificato dall’utente invece che sullo standard output;
ttl, tos, id (fragment), ipoption, seq, ack : testa campi del TCP
dsize: confronta la taglia del carico (payload) di un pacchetto con un determinato valore per prevenire problemi di buffer overflows;
flags: testa i flag TCP per alcuni valori;
itype: testa il valore del campo type ICMP con un determinato valore;
session: scarta tutte le informazioni aggiunte dal livello applicazione per una data sessione.
rpc: controlla i servizi RPC e automaticamente decodifica l’applicazione, procedura e versione, indicando successo quando tutte e tre le variabili corrispondono;
…..
Esempi di Regole e classificazione
esempi: alert tcp any any -> 193.205.161.191/23 (msg : “Tentativo di Connessione Telnet”;
content: “Last login”;)
alert tcp !192.168.1.0/24 any -> 192.169.1.0/24 111 (content: “|00 01 86 a5|”; msg:
“external mountd access”;)
alert tcp $EXTERNAL_NET any -> $HTTP_SERVERS 80 (msg:"WEB-IIS cmd.exe
access";flow:to_server; flags: A+;content:"cmd.exe"; nocase;classtype:web-application-
attack;sid:1002; rev:3;)
classification.conf contiene le priorità degli allarmi.
37 Sicurezza nelle Reti
Snort: Sniffer & Packet Logger Mode
Attiva lo sniffer e visualizza pacchetti TCP in transito su
eth0snort -v -i eth0
11/05-18:29:42.554864 192.168.1.2 -> 192.168.1.1
ICMP TTL:64 TOS:0x0 ID:275
ID:63745 Seq:0 ECHO
11/05-18:29:42.554962 192.168.1.1 -> 192.168.1.2
ICMP TTL:255 TOS:0x0 ID:2323
ID:63745 Seq:0 ECHO REPLY
Logga i pacchetti in transito su eth0 nella cartella /log./snort -dev –i eth0 -l ./log
38 Sicurezza nelle Reti
Snort: IDS Mode
Utilizza le regole di Snort per registrare solo i pacchetti
sospetti
./snort -dev -l ./log -h 192.168.1.0/24 -c snort.conf
Regole sono scaricabili dal sito e personalizzabili Es: lancio un alert (evento gestibile da applicazione terze, es. Syslog) se intercetta
traffico in entrata e in uscita sulla porta 23
alert tcp any any <> any 23 (msg: “telnet connection active”;)
39 Sicurezza nelle Reti
Snort: Inline Mode
Lavora in stretto contatto con Iptables da cui riceve i pacchetti
IpTables deve essere compilato per il supporto a Snort
Il target QUEUE è stato aggiunto a IpTables per indicare le connessioni da controllare con Snort
Tre azioni principali:
drop: ordina a iptables di eliminare i pacchetti sospetti
reject: come drop ma fa inviare un tcp_reset per terminare la connessione
sdrop: fa eliminare il pacchetto senza loggare
Es: chiede il drop di tutti i pacchetti in arrivo sulla porta 23drop tcp any any -> any 80 (classtype:attempted-user;
msg:"Port 80 connection initiated";)
40 Sicurezza nelle Reti
Conclusioni su Snort
Snort viene utilizzato come sensore e come Alarm-Processing Unit.
per controllare il traffico di una rete deve vederetutto il traffico che passa per il router.
nel caso di reti fisiche diverse bisogna utilizzare piùsensori (Network IDS).
come utilizzare in maniera efficace questa grossaquantità di dati?
41 Sicurezza nelle Reti
GUI e add on
Sicurezza nelle Reti42
SGUIL: Snort GUI for Lamers". Non solo una GUI per
Snort, ma integra alter tecnologie tipiche di un IDS
GUI e add on
Sicurezza nelle Reti43
BASE: Basic Analysis and Security Engine, nasce dalleceneri di ACID Analysis Console for Intrusion Databases. Si tratta di una interfaccia web per Snort
SNIPS: Snort Intrusion Analysis using Proof Strengthening; progetto di ricerca che mira a correlare glialert a quello che davvero importa ovvero informazioni suchi sta attaccando cosa o su quale malware sta agendo.
Snorby: ruby on rails web application che funziona con I più popolari ids
Situazione molto dinamica e spesso progetti che nasconoe chiudono
Argus
Argus è nato per non essere un IDS, perchè non analizza ipacchetti che riceve;
registra protocollo, host e porta, sorgente e destinazionedi tutte le connessioni Registra a livello di connessione non di singolo pacchetto
argus -P 561 –d (guarda quello che trova sulla prima interfaccia disponibile e espone i suoi
risultati sulla porta 561)
scrive i dati in formato binario molto compatto;
i dati possono essere analizzati con il commando ratop -S localhost:561
Esistono altri comandi come ra ecc che permettono l’analisi
44 Sicurezza nelle Reti
Suricata
Sicurezza nelle Reti45
Suricata è una network threat detection engine. real time intrusion detection (IDS),
inline intrusion prevention (IPS),
network security monitoring (NSM)
offline pcap processing.
Conclusioni
Gli IDS, allo stato attuale, possono essere molto utili,
in una fase post-attacco per capire le debolezze del
sistema e cercare collegamenti tra gli host coinvolti
nell’attacco.
Pre-Attacco Attacco Post-Attacco
Prime informazioni
sulla reteAnalisi dei bersagli
Prove di accesso Copertura
Attivazione
Intrusione nel sistema Danno
46 Sicurezza nelle Reti
IDS attuativi (1)
Sicurezza nelle Reti47
Le azioni intraprese da un IDS ad esempio con la direttivadi react possono essere anche dannose
Esempio Snort:
alert tcp $EXTERNAL_NET any -> $HTTP_SERVERS $HTTP_PORTS (msg:"WEB-IIS cmd.exe access"; content:"cmd.exe"; react: block; ...)
L'opzione react: block fa s che la connessione TCP nella quale si e verificato il tentativo di accesso a cmd.exe venga automaticamente terminata
Le tecniche piu diuse sono
Reset di sessioni (Session Sniping)
Aggiornamento del firewall
IDS attuativi (2)
Sicurezza nelle Reti48
Sniping:
NIDS deve essere in grado di forzare la terminazione dellaconnessione inviando un pacchetto contenente un RST a entrambi devono apparire ai riceventi come inviati dalle controparti
Riconfigurare Firewall
Esempio: la rilevazione di attivita di scan viene utilizzata per impedire automaticamente ogni connessione da parte degli indirizzi IP sorgenti coinvolti.
Un intrusore può provocare ricongurazioni che risultano dannose,
inviando pacchetti con IP spoofed bloccando connessioni provenienti da sorgenti legittime (denial-of-service)
Fail2ban
Sicurezza nelle Reti49
Attuatore che verifica a livello applicativo errori di
autenticazione e agisce di conseguenza sul firewall
bannando.
action = iptables[name=%(__name__)s, port=%(port)s]
[proftpd]
enabled = true
port = ftp
filter = proftpd
logpath = /var/log/auth.log
failregex = proftpd: \(pam_unix\) authentication failure; .*
host=<HOST>
maxretry = 5
Evasione da IDS
Sicurezza nelle Reti50
Spesso l'elusione del rilevamento e possibile sfruttando
l'uso di alias o altri trucchi che aggirano l'identificazione di
una risorsa o di un attacco
Esempio: Una regola che cerchi di verificare la condizione
content:/etc/passwd; potrebbe essere bypassata da formati
equivalenti quali /etc//\//passwd oppure /etc/rc.d/.././\passwd.
Utilizzo sofisticato di pacchetti frammentati
Per esempio, si supponga che il NIDS abbia una finestra per
riassemblare i pacchetti frammentati inferiore rispetto al
sistema vittima. Il NIDS considererebbe due frammenti come
pacchetti indipendenti, il sistema destinatario come pacchetto
unico.
Commenti
Sicurezza nelle Reti51
Un famoso (e controverso) rapporto di Gartner Group
del 2003 afferma che gli IDS non valgono gli investimenti
richiesti, perche:
Troppi falsi positivi e negativi
Richiedono sta dedicato al monitoraggio che dev'essere
compiuto 247
Il processo di risposta agli incidenti e molto oneroso
Non si riescono a monitorare reti con traffico superiore ai
600MB/s senza inaccettabili decadimenti prestazionali
Assunzioni
Sicurezza nelle Reti52
I NIDS signature-based si basano sull'assunzione di saper
caratterizzare un attacco.
Identicare una vulnerabilità: la firma in grado rappresentare
tutti gli attacchi;
Riconoscere un exploit: la firma dovrebberappresentare tutte
le varianti.
Zero day
Un attacco può essere del tutto inatteso: in questo caso si
parla di zero-day, ossia il giorno prima di quando i NIDS sono
in grado di riconoscerlo.
vulnerability window a volte lunghe anni
Ricerca vulnerabilità
Sicurezza nelle Reti53
La ricerca delle vulnerabilità non note e una delle attività
dei laboratori di sicurezza.
Studio analitico: si studiano le specifiche più o meno formali
di applicazioni e protocolli
Fuzzing: si provano le applicazioni (o i protocolli) con input
strain casuali o artificiali
Honeypot: un sistema bersaglio
Vulnerabilità classica: buffer overflow
Sicurezza nelle Reti54
a[0]
a[1]
a[2]
var locali
indirizzo di ritorno
stacka[i]==&a[0]+ sizeof(a[0])*i
Nessus: Vulnerability Scanner
Applicativo open source per analizzare in remoto una o
più macchine per determinare se sono vulnerabili agli
attacchi conosciuti
Permette di individuare punti deboli dell’architettura di
rete e prevedere eventuali contromisure
55 Sicurezza nelle Reti
Port Knocking (1)
Ulteriore sistema di sicurezza.
E’ un sistema di comunicazione attraverso porte chiuse del firewall che vengono aperte in base alle necessità Port sequence Packet-payload
I dati vengono trasmessi ad una porta chiusa e ricevuti da un demone che monitora il firewall e le intercetta Se la richiesta che monitora ha diritto passa
56 Sicurezza nelle Reti
Port Knocking (2)
L’informazione è codificata e eventualmente criptata come sequenza di numeri di porte
Questa sequenza è il Knock
Firewall completamente chiuso
Server monitora il firewall
Client bussa alle porte con un pacchetto di syn nell’ordine stabilito
Il server non da risposta fino a che la sequenza non è terminata ed è corretta. Terminata il server agisce di conseguenza Es. apre la porta e comunica
57 Sicurezza nelle Reti
port knocking in 4 easy steps (1)
step 1 (A) il client non si può
collegare alla applicazione sulla
porta n; (B) il client non riesce a
stabilire connessione su nessuna
porta
step 2 | (1,2,3,4) il client contatta porte ben definite in
sequenza fornendo un messaggio criptato fatto da i
tentativi di connessione con syn attivo. Il sistema rileva
la sequenza di knock
Il client sa che terminato di bussare alle porte giuste si
attiverà la risposta anche se in questa fase tutto viene
bloccato dal firewall.
58 Sicurezza nelle Reti
port knocking in 4 easy steps (2)
step 3 | (A) il port knocking daemon
decripta il messaggio fatto dagli knock sulle
porte e decide se si tratta della sequenza
corretta o no.
Il server reagisce di conseguenza per
esempio aprendo la porta al client che ha
bussato
step 4 | (A) il client accede
alla porta e si autentica
regolarmente, il firewall
verificherà il traffico come da
regole
59 Sicurezza nelle Reti
Port Knocking (3)
Si deve definire la sequenza di knock e la relativa reazione
La reazine potrebbe essere una azione sul firewall o altri eventi di amministrazione
Tecnica semplice per codificare un messaggio di autentificazione a livello di rete
60 Sicurezza nelle Reti
Port Knocking e iptables
knockd - a port-knocking server
knockd è un port-knock server. Ascolta il traffico su una interfaccia in attesa di una sequenza corretta
Il client può generare la sequenza d knock usando TCP ma anche UDP
Le porte usate per bussare devono essere chiuse
Quando viene rilevata la sequenza un comando indicato nel file di configurazione verrà eseguito
Ad esempio cambio le regole di iptebles
61 Sicurezza nelle Reti
Esempio:
Esempio di apertura e chiusura porte dopo una sequenza di knock
Apro la 22 (SSH),
La chiudo quando ho finito
Migliora la politica di deny all.
[options]
logfile = /var/log/knockd.log
[openSSH]
sequence = 7000,8000,9000
seq_timeout = 10
tcpflags = syn
command = /usr/sbin/iptables -A INPUT -s %IP% -p tcp --dport 22 -j ACCEPT
[closeSSH]
sequence = 9000,8000,7000
seq_timeout = 10
tcpflags = syn
command = /usr/sbin/iptables -D INPUT -s %IP% -p tcp --dport 22 -j ACCEPT
62 Sicurezza nelle Reti
Esempio: Variante temporale
Esempio di knock per aprire la porta 22 (SSH).
Il daemon lancia lo start_command, attende un tempo specifico in cmd_timeout,
esegue stop_command.
[options]
logfile = /var/log/knockd.log
[opencloseSSH]
sequence = 2222:udp,3333:tcp,4444:udp
seq_timeout = 15
tcpflags = syn,ack
start_command = /usr/sbin/iptables -A INPUT -s %IP% -p tcp --syn --dport 22 -j
ACCEPT
cmd_timeout = 10
stop_command = /usr/sbin/iptables -D INPUT -s %IP% -p tcp --syn --dport 22 -j
ACCEPT
63 Sicurezza nelle Reti