FAQ? Myty o tcpd/hosts.{allow,deny}

uhlar na fantomas.sk uhlar na fantomas.sk
Pátek Únor 22 10:48:26 CET 2002


Mam pocit ze je stale dost ludi ktori nevedia ako tcp wrappery funguju a su
medzi nimi rozsirene 2 myty:

1. tcp wrappery funguju len pre sluzby pustane cez inetd (xinetd)

2. tcp wrappery spolahlivo zabrania pristupu z dotycnych pocitacov.

...je zaujimave ze asi nikto si nemysli naraz oboje :)

Takze vysvetlenie:

TCP wrappery su funkcie v kniznici libwrap. Pouzivaju ako konfiguraciu
subory hosts.allow a hosts.deny (takmer vzdy) v adresari /etc/ (vacsinou).

Pouzivane byvaju tak ze po kazdom nadviazani spojenia na server tento zavola
funkciu, ktora mu vrati odpoved, ci je spojenie povolene alebo zakazane.
V pripade ze je spojenie zakazane, ho server zvykne zavriet. To vysvetluje,
ze ak sa niekam pripojite, spojenie sa otvori a hned zavrie.

Kazdy program, ktory prijima sietove spojenia, moze obsahovat podporu tychto
kniznic, a ak ju ma, je mozne konfigurovat ho v dotycnych suboroch.

Pre programy ktore tieto funkcie nepodporuju a byvaju (mozu byt) spustane
cez inet demon, existuje wrapper tcpd, ktory je zavolany s menom skutocneho
serveru, overi spojenie, a v pripade ze je povolene server spusti. Inac
spojenie zavrie. Niekedy podporuje tcp wrappery samotny inet demon
(inetd/xinetd) a vtedy odpada rezia pri volani wrappera.

Takze mytus cislo 1 nie je pravdivy - programy mozu podporovat tcp wrappery
nativne a nemusia byt spustane cez inetd na to aby ho spustali. Medzi taketo
programy patri napriklas sshd, sendmail, portmapper, proftpd a mnoho inych.

Vzhladom na to ako TCP wrapper funguje, moze fungovat len s niektorymi
serveri. Napriklad taky multiplexujuci squid, ircd, ntpd alebo named by s
nim poriadne lagovali. Takisto ho nezvyknu pouzivat internet servery ako
napriklad apache httpd, pretoze to je viac-menej verejna sluzba a obmedzovat
ju wrappermi ma zmysel len velmi zriedka.

Takze mytus cislo 2 je nepravdivi - tcp wrappery ochrania len niektore
sluzby, niektore sa s nim ochranit nedaju a pre niektore to nema zmysel.


Este by som si dovolil poznamenat ze mnoho ludi pouziva wrappery len na
zakazanie alebo povolenie spojenia, pricom nevedia ze wrappery dokazu
- spustit miesto seba iny proces
- spustit iny proces na pozadi
- logovat mnoho informacii o klientskej stanici (ip, dns meno, remote userid
  cez sluzbbu identd a ine)
- nastavit prostredie
- zmenit UID pouzivatela pod ktorym bezia
- zmenit umask
a ze im staci jeden konfiguracny subor ktorym mozno kontrolovat pristup
ovela detailnejsie ako dva subory.

Pre blizsie informacie si pozrite manualovu stranku hosts_options(5)

P.S. ak som sa zmylil tak ma napravte. A dufam ze budeme moct poslat
pouzivatelov neznalych problematiky do archivu precitat si tento clanok.
-- 
 Matus "fantomas" Uhlar, uhlar na fantomas.sk ; http://www.fantomas.sk/
 Warning: I don't wish to receive spam to this address.
 Varovanie: Nezelam si na tuto adresu dostavat akukolvek reklamnu postu.
 "Two words: Windows survives." - Craig Mundie, Microsoft senior strategist
 "So does syphillis. Good thing we have penicillin." - Matthew Alton


Další informace o konferenci Linux