GNU/Linux >> Znalost Linux >  >> Cent OS

Pochopení TCP Wrappers (/etc/hosts.allow &/etc/hosts.deny) v Linuxu

TCP wrappery poskytují základní filtrování příchozího síťového provozu. Přístup k „zabaleným“ síťovým službám běžícím na linuxovém serveru z jiných systémů lze povolit nebo zakázat. TCP zabalená služba je služba, která byla zkompilována proti knihovně libwrap.a. Pomocí příkazu ldd určete, zda je síťová služba propojena s libwrap.a. Následující příklad určuje název absolutní cesty ke službě sshd a poté uvádí sdílené knihovny propojené se službou sshd pomocí příkazu grep k vyhledání knihovny libwrap:

# which sshd
/sbin/sshd
# ldd /sbin/sshd | grep libwrap
	libwrap.so.0 => /lib64/libwrap.so.0 (0x00007f1fea580000)

Konfigurační soubory

TCP wrappery spoléhají na dva konfigurační soubory jako základ pro řízení přístupu:

  • /etc/hosts.allow
  • /etc/hosts.deny

Když se klient pokusí připojit k síťové službě na vzdáleném systému, jsou tyto soubory použity k určení, zda je klientský přístup povolen nebo odepřen. Pomocí /etc/hosts.allow a /etc/hosts.deny definujte pravidla, která selektivně povolují nebo zakazují klientům přístup k serverovým démonům v lokálním systému. Formát záznamů je pro oba soubory následující:

daemon_list : client_list [: command]

Následuje popis každého pole:

  • seznam_démonů :čárkami oddělený seznam démonů nebo klíčové slovo ALL pro všechny démony
  • seznam_klientů :Čárkami oddělený seznam klientů nebo klíčové slovo VŠE pro všechny klienty
  • příkaz :Volitelný příkaz, který se provede, když se klient pokusí o přístup k démonu serveru

Chcete-li povolit přístup klienta, přidejte název hostitele klienta nebo adresu IP do souboru /etc/hosts.allow. Chcete-li zakázat přístup klienta, přidejte jeho jméno nebo IP adresu do /etc/hosts.deny.

Soubor /etc/hosts.allow se čte jako první a čte se shora dolů. Pokud se pár démon-klient shoduje s prvním řádkem v souboru, přístup je udělen. Pokud se řádek neshoduje, přečte se další řádek a provede se stejná kontrola. Pokud jsou přečteny všechny řádky a nedojde k žádné shodě, přečte se soubor /etc/hosts.deny, počínaje shora. Pokud je v souboru odmítnutí nalezena shoda páru démon-klient, přístup je odepřen. Pokud nejsou v žádném souboru nalezena žádná pravidla pro pár démon-klient nebo pokud žádný soubor neexistuje, je přístup ke službě udělen.

Protože pravidla přístupu v hosts.allow jsou aplikována jako první, mají přednost před pravidly zadanými v hosts.deny. Pokud je tedy v hosts.allow povolen přístup ke službě, pravidlo zakazující přístup ke stejné službě v hosts.deny je ignorováno. Následuje několik příkladů položek v souboru /etc/hosts.allow:

1. Chcete-li klientům v podsíti 192.168.2 povolit přístup k FTP (démon je vsftpd):

# vi /etc/hosts.allow
vsftpd : 192.168.2.*

2. Chcete-li všem klientům povolit přístup k ssh, scp a sftp (démon je sshd):

# vi /etc/hosts.allow
sshd : ALL

3. Umístěním následující položky do souboru /etc/hosts.deny odepřete službu FTP všem klientům kromě podsítě 192.168.2.* (předpokládá se, že v /etc/hosts existuje předchozí položka vsftpd:192.168.2.*. povolit):

# vi /etc/hosts.deny
vsftpd : ALL

4. Použijte syntaxi .domain k reprezentaci libovolného hostitele z dané domény. Následující příklad umožňuje připojení k vsftpd z libovolného hostitele v doméně example.com (pokud je záznam v /etc/hosts.allow):

# vi /etc/hosts.allow
vsftpd : .example.com

Pokud se tato položka objeví v /etc/hosts.deny, připojení je odepřeno.

TCP Wrapper (hosts.allow &hosts.deny) Možnosti příkazů v Linuxu


Cent OS
  1. Vytvořit uživatelsky specifický soubor Hosts jako doplněk /etc/hosts?

  2. Pochopení adresáře /etc/xinetd.d pod Linuxem

  3. TCP Wrapper (hosts.allow &hosts.deny) Možnosti příkazů v Linuxu

  1. Ruční změny provedené v /etc/hosts nebo /etc/sysconfig/network-scripts/ifcfg-* jsou ztraceny

  2. Pochopení souboru /etc/inittab v Linuxu

  3. Pochopení adresáře /etc/skel v Linuxu

  1. Pochopení konfiguračního souboru /etc/profile v Linuxu

  2. Proč jsou < nebo > vyžadovány pro použití /dev/tcp

  3. Rozdíl mezi /etc/hosts a /etc/resolv.conf