tcp_wrappers

tcp_wrappers je základní systém pro zabránění (nebo výslovné povolení) přístupu ke službám ze specifikovaných hostitelských počítačů. V kostce to pracuje takto:

inetd (internet super-server) spouští mnoho různých serverů; mnoho jich je "wrapped" prostřednictvím tcpd. Jinými slovy, ty servery ve skutečnosti spouští tcpd, ale inetd to neví (a ani se o to nestará). tcpd zaznamená pokus o připojení a pak zkontroluje soubory /etc/hosts.allow a /etc/hosts.deny, aby se podíval, zda může být připojení povoleno.

Pravidla obsažená v těchto souborech mohou být poněkud komplexnější, ale předpokládejme, že pyramid.tdn je opravdu protivný a nenechá ubohého malého mojo.tdn napokoji. Tak mojo.tdn může vrhnout takovýto řádek do /etc/hosts.deny:


   ALL: pyramid.tdn

Tento řádek by měl být dost jasný: Zabraňuje pyramidovi užívat na počítači mojo jakékoliv služby, které jsou chráněny promocí tcpd. Když budu obtěžován celou doménou (kromě té pyramidy), mohl bych řádek takto vylepšit:


   ALL: pyramid.tdn, .otravna.domena

Jenže počkejme! Můj kámoš Hobbes sedí u počítače na .te.otravne.domene, ale já mu chci umožnit přístup ke mně (ostatním otravům ale ne). I to je snadné. Nechám už soubor hosts.deny tak jak je, a přidám následující řádek do hosts.allow, aby Hobbes mohl ke mně:


   ALL: hobbes.otravna.domena

Mnohem více toho najdete v tcpd(8), v hosts_access(5) a v hosts_options(5). Systém tcp_wrappers je mnohem flexibilnější než jak jsme si ukázali a stojí za námahu zabývat se jím mnohem hlouběji.