TCP wrappers were developed when there were no real packet filters available and access control was needed. Nevertheless, they're still very interesting and useful. The TCP wrappers allow you to allow or deny a service for a host or a domain and define a default allow or deny rule (all performed on the application level). If you want more information take a look at hosts_access(5) manual page.
Molti servizi installati in Debian vengono:
In un caso, per i servizi configurati mediante /etc/inetd.conf
(inclusi telnet
, ftp
, netbios
, swat
e finger
) il file di configurazione esegue prima /usr/sbin/tcpd
. Nell'altro, anche se il servizio viene lanciato dal superdemone inetd
, il supporto per le regole dei tcp wrapper può essere compilato al suo interno. In Debian, tra i servizi compilati con il supporto ai tcp wrapper ci sono ssh, portmap, in.talk, rpc.statd, rpc.mountd, gdm, oaf
(il demone di attivazione GNOME), nessus
e molti altri.
To see which packages use tcpwrappers
try:
$ apt-cache rdepends libwrap0
Occorre tenerne conto quando usate tcpdchk
(molto utile per controllare le regole e la sintassi del file di configurazione del TCP wrapper). I servizi compilati col supporto alla libreria wrapper possono essere aggiunti ai file hosts.deny
e hosts.allow
ma tcpdchk
avviserà che non è in grado di trovare questi servizi, perché li cerca in /etc/inetd.conf
(la pagina man non è molto chiara su questo punto).
Now, here comes a small trick, and probably the smallest intrusion detection system available. In general, you should have a decent firewall policy as a first line, and tcp wrappers as the second line of defense. One little trick is to set up a
SPAWN
command in
/etc/hosts.deny
that sends mail to root whenever a denied service triggers wrappers:
ALL: ALL: SPAWN ( \
echo -e "\n\
TCP Wrappers\: Connection refused\n\
By\: $(uname -n)\n\
Process\: %d (pid %p)\n\
User\: %u\n\
Host\: %c\n\
Date\: $(date)\n\
" | /usr/bin/mail -s "Connection to %d blocked" root) &
Attenzione: L'esempio sopra è esposto a attacchi di tipo DoS stabilendo molte connessioni in un breve periodo di tempo. Molte email causano un elevato I/O di file spedendo solo pochi pacchetti.