| inizio << . >> . indice |
BLindoLinux
ver. 1.0.1 --- Ruggero T.
|
inetd è il demone supervisore dei servizi di rete, si mette in ascolto sulle porte stabilite ed avvia il demone del servizio corrispondente quando richiesto, permette inoltre di controllarne le richieste filtrandole attraverso wrapper come tcpd. I passi per "sistemare" questo demone sono sostanzialmente questi:
- cambiarne i permessi a 600: [root @ bastion]# chmod 600 /etc/inet.conf
- controllare che solo root vi abbia accesso: [root @ bastion]# stat /etc/inet.conf.
- editare /etc/inet.conf, commentare tutte le linee (#), riavviare il demone [root @ bastion]# killall -HUP inetd, ri-abilitare i servizi che ci servono, aggiungendo o meno un wrapper e riavviarlo di nuovo.
- rendere il file immutabile [root @ bastion]# chattr +i /etc/inet.conf.
Il wrapper è un programma che si occupa di filtrare, in modo del tutto trasparente, le richieste fatte ad un qualsiasi servizio di rete attivo sul nostro server, loggandole (se specificato) attraverso il demone syslogd.
Il compito principale del wrapper consiste nel filtrare e
monitorare gli accessi ad un particolare servizio. All'instaurazione della connessione
il demone tpcd intercetta la chiamata al servizio e decide, qualora la richiesta
non vada respinta, se instradarla verso il servizio richiesto, verso uno script
o verso una trappola.
L'accesso può essere filtrato a seconda del servizio, dell'host che lo richiede
o in base ad una combinazione delle due cose. Una configurazione accurata del
demone previene anche attacchi del tipo "host address sproofing" e "host name
sproofing".
Il wrapper può essere usato in due modi:
Al momento della compilazione dei sorgenti ricordiamoci di specificare le seguenti opzioni:
| - DPARANOID | per verificare se l'accoppiata ip - host della richiesta formulata risponde al vero, per prevenire attacchi del tipo host name sproofing. |
| - DKILL_IP_OPTIONS |
per verificare che la macchina alla quale stiamo concedendo la connessione sia effettivamente quella desiderata. Con questa opzione attivata il demone rifiuterà le connessioni con il flag di source routing attivato, difendendoci così dagli attacchi "host address sproofing" (quest'opzione specificabile anche livello kernel). |
| - DPROCESS_OPTIONS | per far processare al demone i files di configurazione; /etc/host/allow e /etc/host/deny. |
La sintassi dei files di configurazione del demone tcpd è molto semplice:
SERVIZIO: CLIENT [:EVENTUALE SCRIPT DA ESEGUIRE]
Dove per SERVIZIO si intende il nome del demone che sovrintende a quel determinato servizio, per CLIENT l'indirizzo ip del client (o il nome risolto) e lo SCRIPT di sistema ci permetterà di espandere le nostre possibilità di logging o di realizzare una trappola. Per indicare i servizi è possibile usare i caratteri jolly ALL e LOCAL, mentre per indicare una lista di client abbiamo ALL, LOCAL, KNOW, UNKNOW e PARANOID (-DPARANOID nelle opzioni di compilazione), EXCEPT. Per avere maggiori informazioni sui caratteri jolly bisogna leggere la man pages hosts_acces(5).
ESEMPI:
/etc/hosts.deny
ALL:ALL@ALL,PARANOID
Nega l'accesso a tutti i client e controlla che ip - nome.host corrispondano.
/etc/hosts.allow
ALL: LOCAL 192.168.1.0/255.255.255.0
Permette l'accesso a tutte le macchine appartenenti alla rete 192.168.1 mentre:
sshd: 207.24.156.1 secure.valtellinux.it
Permette l'accesso SSH all'host secure.valtellinux.it corrispondente all'IP
207.24.156.1.
in.telnetd : ALL@ALL : spawn ( /bin/mail -s "Connessione
telnet da: %a %u" admin_mail ) &
Manda una mail all'indirizzo specificato admin_mail ogni qualvolta qualcuno
si connette attraverso il servizio telnet, indicando l'indirizzo del client
(%a) e l'utente (%u), la lista di questi parametri è contenuta nella man page
hosts_access(5).
in.telnetd : ALL@ALL : /bin/script/logga_meglio.sh
Si limita a chiamare lo script logga_meglio che provvederà nel nostro caso ad
avviare programmi del tipo who-is, nslookup o simili per sapere chi ha usato
la porta telnet del nostro sistema. Per configurare al meglio il funzionamento
del wrapper possiamo usare tcpdchk che ci permette di verificare la correttezza
della sintassi nei files di configurazione o tcpdmatch che controlla il corretto
funzionamento delle regole in essi contenute.
| inizio << . >> . indice |
BLindoLinux
è pubblicato sotto licenza GNU
FDL
|
|
Commenti o suggerimenti su questa pagina
vanno inviati a: ruggero@valtellinux.it
|
|