TCP wrapper: Porovnání verzí

Z Milan Kerslager
Přejít na: navigace, hledání
(Založení článku)
 
m (Doplnění)
 
(Nejsou zobrazeny 3 mezilehlé verze od stejného uživatele.)
Řádka 1: Řádka 1:
Nejjednodušší způsob zabezpečení počítače je nespouštět a něm žádné služby, které by reagovaly na síťový provoz. To však není u serveru dost dobře možné, protože potřebujeme obsluhovat nejrůznější služby. Kompromisním řešením je omezit ochotu serveru ke komunikaci s cizinci na nejnižší možnou míru.
+
'''TCP wrapper''' je nástroj na statické zabezpečení TCP služeb tak, že serverová aplikace přijímá spojení jen z předepsaných adres. Nejjednodušší způsob zabezpečení počítače je nespouštět a něm žádné služby, které by reagovaly na síťový provoz. To však není u serveru dost dobře možné, protože potřebujeme obsluhovat nejrůznější služby. Kompromisním řešením je omezit ochotu serveru ke komunikaci s cizinci na nejnižší možnou míru.
  
Asi nejjednodušší a nejsnadnější způsob omezení příjmu síťových spojení je TCP wrapper (balíček '''tcp_wrappers'''). Je to knihovna, kterou lze snadno přilinkovat k prakticky jakémukoliv programu. Její funkce spočívá v tom, že veškerá příchozí TCP spojení jsou nejprve podrobena kontrole a teprve pak předána k obsloužení samotnému programu. Kontroly, které povolí nebo odmítnou příchozí spojení, jsou pro všechny programy, které TCP wrapper používají, soustředěny ve dvou souborech: <CODE>/etc/hosts.allow</CODE> a <CODE>/etc/hosts.deny</CODE>. V současné době jsou s touto knihovnou slinkovány prakticky všechny programy, které přijímají TCP spojení (dokonce i NFS démoni pracující s UDP). Přesto existují výjimky (např. WWW server Apache, u něhož omezení přístupu nastavujeme v jeho vlastním konfiguračním souboru a máme tam dokonce více možností).
+
Asi nejjednodušší a nejsnadnější způsob omezení příjmu síťových spojení je TCP wrapper (balíček <code>tcp_wrappers</code>).
 +
 
 +
yum install tcp_wrappers
 +
 
 +
TCP_wrappers to knihovna, kterou lze snadno přilinkovat k prakticky jakémukoliv programu. Její funkce spočívá v tom, že veškerá příchozí TCP spojení jsou nejprve podrobena kontrole a teprve pak předána k obsloužení samotnému programu. Kontroly, které povolí nebo odmítnou příchozí spojení, jsou pro všechny programy, které TCP wrapper používají, soustředěny ve dvou souborech: <CODE>/etc/hosts.allow</CODE> a <CODE>/etc/hosts.deny</CODE>. V současné době jsou s touto knihovnou slinkovány prakticky všechny programy, které přijímají TCP spojení (dokonce i NFS démoni pracující s UDP). Přesto existují výjimky (např. WWW server Apache, u něhož omezení přístupu nastavujeme v jeho vlastním konfiguračním souboru a máme tam dokonce více možností).
  
 
Formát konfiguračních souborů je prostý. Na začátku řádku je identifikace programu, pro který platí pravidla uvedená za dvojtečkou. Místo identifikace programu nebo seznamu pravidel lze uvést klíčové slovo ALL, které postihuje cokoliv. Je-li slovo ALL uvedeno místo jména programu, jsou následující pravidla vztažena na jakýkoliv program. Použijeme-li slovo ALL na místě pravidel, vyhoví mu jakákoliv adresa připojujícího se klienta. Jména služeb mohou být na různých systémech různá, nejsnadnější je asi zjistit je ze záznamů v logovacích souborech (viz níže).
 
Formát konfiguračních souborů je prostý. Na začátku řádku je identifikace programu, pro který platí pravidla uvedená za dvojtečkou. Místo identifikace programu nebo seznamu pravidel lze uvést klíčové slovo ALL, které postihuje cokoliv. Je-li slovo ALL uvedeno místo jména programu, jsou následující pravidla vztažena na jakýkoliv program. Použijeme-li slovo ALL na místě pravidel, vyhoví mu jakákoliv adresa připojujícího se klienta. Jména služeb mohou být na různých systémech různá, nejsnadnější je asi zjistit je ze záznamů v logovacích souborech (viz níže).
Řádka 14: Řádka 18:
 
  sendmail: ALL
 
  sendmail: ALL
 
  ipop3d: 127.0.0.1 10.0.0.0/255.255.255.0
 
  ipop3d: 127.0.0.1 10.0.0.0/255.255.255.0
  imap:   127.0.0.1 10.0.0.0/255.255.255.0
+
  imapd: 127.0.0.1 10.0.0.0/255.255.255.0
  
 
V předchozím případě je zakázáno vše (soubor <CODE>/etc/hosts.deny</CODE> obsahuje řádek ALL: ALL) a jsou povoleny vybrané služby (soubor <CODE>/etc/hosts.allow</CODE>). Připojení na SSH démona (tj. připojení např. pomocí programu PuTTY) je povoleno z libovolného místa. Stejně tak je dovoleno z jakéhokoliv počítače přijímat poštu pomocí programu sendmail (pro příjem pošty je to nezbytné). Omezeno je poskytování služby POP a IMAP. Obě služby přijmou spojení z rozhraní loopback (tj. z toho samého počítače, což je u služby IMAP nezbytné pro provozování Webmailu) a od klientů umístěných v lokální síti.
 
V předchozím případě je zakázáno vše (soubor <CODE>/etc/hosts.deny</CODE> obsahuje řádek ALL: ALL) a jsou povoleny vybrané služby (soubor <CODE>/etc/hosts.allow</CODE>). Připojení na SSH démona (tj. připojení např. pomocí programu PuTTY) je povoleno z libovolného místa. Stejně tak je dovoleno z jakéhokoliv počítače přijímat poštu pomocí programu sendmail (pro příjem pošty je to nezbytné). Omezeno je poskytování služby POP a IMAP. Obě služby přijmou spojení z rozhraní loopback (tj. z toho samého počítače, což je u služby IMAP nezbytné pro provozování Webmailu) a od klientů umístěných v lokální síti.
Řádka 23: Řádka 27:
  
 
Správnou funkci ověříme tak, že se pokusíme ke službám připojit z různých míst. Záznamy o případných odmítnutích naleznete v logovacích souborech <CODE>/var/log/messages</CODE> a <CODE>/var/log/secure</CODE>.
 
Správnou funkci ověříme tak, že se pokusíme ke službám připojit z různých míst. Záznamy o případných odmítnutích naleznete v logovacích souborech <CODE>/var/log/messages</CODE> a <CODE>/var/log/secure</CODE>.
 +
 +
[[Kategorie:Síťové služby v Linuxu]]

Aktuální verze z 8. 4. 2015, 19:15

TCP wrapper je nástroj na statické zabezpečení TCP služeb tak, že serverová aplikace přijímá spojení jen z předepsaných adres. Nejjednodušší způsob zabezpečení počítače je nespouštět a něm žádné služby, které by reagovaly na síťový provoz. To však není u serveru dost dobře možné, protože potřebujeme obsluhovat nejrůznější služby. Kompromisním řešením je omezit ochotu serveru ke komunikaci s cizinci na nejnižší možnou míru.

Asi nejjednodušší a nejsnadnější způsob omezení příjmu síťových spojení je TCP wrapper (balíček tcp_wrappers).

yum install tcp_wrappers

TCP_wrappers to knihovna, kterou lze snadno přilinkovat k prakticky jakémukoliv programu. Její funkce spočívá v tom, že veškerá příchozí TCP spojení jsou nejprve podrobena kontrole a teprve pak předána k obsloužení samotnému programu. Kontroly, které povolí nebo odmítnou příchozí spojení, jsou pro všechny programy, které TCP wrapper používají, soustředěny ve dvou souborech: /etc/hosts.allow a /etc/hosts.deny. V současné době jsou s touto knihovnou slinkovány prakticky všechny programy, které přijímají TCP spojení (dokonce i NFS démoni pracující s UDP). Přesto existují výjimky (např. WWW server Apache, u něhož omezení přístupu nastavujeme v jeho vlastním konfiguračním souboru a máme tam dokonce více možností).

Formát konfiguračních souborů je prostý. Na začátku řádku je identifikace programu, pro který platí pravidla uvedená za dvojtečkou. Místo identifikace programu nebo seznamu pravidel lze uvést klíčové slovo ALL, které postihuje cokoliv. Je-li slovo ALL uvedeno místo jména programu, jsou následující pravidla vztažena na jakýkoliv program. Použijeme-li slovo ALL na místě pravidel, vyhoví mu jakákoliv adresa připojujícího se klienta. Jména služeb mohou být na různých systémech různá, nejsnadnější je asi zjistit je ze záznamů v logovacích souborech (viz níže).

Nejobvyklejší způsob nastavení je zakázat úplně vše a pak povolit jen nezbytné služby z nezbytných adres. V takovém případě budou konfigurační soubory vypadat třeba takto:

$ cat /etc/hosts.deny
ALL: ALL

$ cat /etc/hosts.allow
sshd: ALL
sendmail: ALL
ipop3d: 127.0.0.1 10.0.0.0/255.255.255.0
imapd:  127.0.0.1 10.0.0.0/255.255.255.0

V předchozím případě je zakázáno vše (soubor /etc/hosts.deny obsahuje řádek ALL: ALL) a jsou povoleny vybrané služby (soubor /etc/hosts.allow). Připojení na SSH démona (tj. připojení např. pomocí programu PuTTY) je povoleno z libovolného místa. Stejně tak je dovoleno z jakéhokoliv počítače přijímat poštu pomocí programu sendmail (pro příjem pošty je to nezbytné). Omezeno je poskytování služby POP a IMAP. Obě služby přijmou spojení z rozhraní loopback (tj. z toho samého počítače, což je u služby IMAP nezbytné pro provozování Webmailu) a od klientů umístěných v lokální síti.

Možnosti nastavení pravidel pro akceptování nebo odmítnutí spojení jsou větší, než je zde vysvětleno. Další podrobnosti naleznete v manuálové stránce, kterou si můžete zobrazit příkazem:

man 5 hosts_access

Správnou funkci ověříme tak, že se pokusíme ke službám připojit z různých míst. Záznamy o případných odmítnutích naleznete v logovacích souborech /var/log/messages a /var/log/secure.