omezení interface na kterých poslouchají síťové služby
Ladislav Vaiz
spam na nagano.cz
Středa Srpen 11 09:06:05 CEST 2004
> prohlížel jsem pomocí netstat -l co vše naslouchá spojením z
> Internetu a chtěl bych tento seznam omezit. imapd "démoni" poslouchají
> všude, ale např. exim (smtp) poslouchá jen na loopbacku - jenže ten má
> pro tento účel speciální option. V nam inetd se o možnosti určit
> interface na kterém program poslouchá nepíše - je to možné? Lze nějakým
> způsobem vynutit určitý interface libovolné aplikaci/procesu?
U inetd to IMHO nejde, muzete z nej vsak startovat tcpd a nastavit si
pravidla v /etc/hosts.allow a /etc/hosts.deny.
Poslouchani na portu se iniciuje asi takto:
strace netcat -l -p 1234
socket(PF_INET, SOCK_STREAM, IPPROTO_TCP) = 3
setsockopt(3, SOL_SOCKET, SO_REUSEADDR, [1], 4) = 0
bind(3, {sin_family=AF_INET, sin_port=htons(1234), sin_addr=inet_addr("0.0.0.0")}}, 16) = 0
listen(3, 1) = 0
Pokud se zada do sin_addr jina adresa nez 0.0.0.0, tak se posloucha na
konkretnim interface. Takze
1) bud to aplikace umi udelat sama
2) nebo ji to musite nejak vnutit (LD_PRELOAD)
Ale jsou jednodussi reseni, treba
3) iptables
La'd"a
Další informace o konferenci Linux