Weboldal keresés

A hálózati szolgáltatások biztonságossá tétele TCP-csomagolókkal Linux alatt


Ebben a cikkben elmagyarázzuk, mik azok a TCP-burkolók, és hogyan konfigurálhatjuk őket úgy, hogy korlátozzák a Linux-kiszolgálókon futó hálózati szolgáltatásokhoz való hozzáférést. Mielőtt azonban elkezdenénk, tisztáznunk kell, hogy a TCP-burkolók használata nem szünteti meg a megfelelően konfigurált tűzfal szükségességét.

Ebben a tekintetben ezt az eszközt gazdagép alapú hozzáférés-vezérlési listának tekintheti, és nem a rendszer végső biztonsági intézkedésének. A tűzfal és a TCP-burkolók használatával ahelyett, hogy egyiket a másikkal szemben előnyben részesítené, megbizonyosodhat arról, hogy a kiszolgálón egyetlen hibapont sem marad.

A hosts.allow és hosts.deny értelmezése

Amikor egy hálózati kérés eléri a szervert, a TCP wrappers a hosts.allow és a hosts.deny (ebben a sorrendben) segítségével határozza meg, hogy az ügyfél számára engedélyezni kell-e egy adott szolgáltatás használatát. .

Alapértelmezés szerint ezek a fájlok üresek, mindegyik kommentelve van, vagy nem léteznek. Így minden átengedhető a TCP burkolórétegen, és a rendszer a tűzfalra hagyatkozhat a teljes védelem érdekében. Mivel ez nem kívánatos, a bevezetőben említett ok miatt, győződjön meg arról, hogy mindkét fájl létezik:

ls -l /etc/hosts.allow /etc/hosts.deny

A két fájl szintaxisa ugyanaz:

<services> : <clients> [: <option1> : <option2> : ...]

ahol,

  1. A szolgáltatások azon szolgáltatások vesszővel elválasztott listája, amelyekre a jelenlegi szabályt alkalmazni kell.
  2. Az kliensek a szabály által érintett vesszővel elválasztott gazdagépnevek vagy IP-címek listáját jelentik. A következő helyettesítő karaktereket fogadjuk el:

    1. Az MINDEN mindenre egyezik. Ügyfelekre és szolgáltatásokra egyaránt vonatkozik.
    2. A LOCAL olyan gazdagépeket egyezik meg, amelyeknek nincs pontja az FQDN-ben, például a localhost.
    3. Az ISMERT olyan helyzetet jelez, amikor a gazdagépnév, a gazdagép címe vagy a felhasználó ismert.
    4. Az ISMERETLEN az ISMERETLEN ellentéte.
    5. A PARANOID a kapcsolat megszakadását okozza, ha a fordított DNS-keresések (először az IP-címen a gazdagépnév meghatározásához, majd a gazdagépnéven az IP-címek megszerzéséhez) minden esetben más címet adnak vissza.
  3. Végül a kettősponttal elválasztott műveletek opcionális listája jelzi, hogy mi történjen egy adott szabály aktiválásakor.

Érdemes szem előtt tartani, hogy az /etc/hosts.allow fájlban egy adott szolgáltatáshoz való hozzáférést engedélyező szabály elsőbbséget élvez az /etc/hosts.deny fájl tiltó szabályával szemben. azt. Ezenkívül, ha ugyanarra a szolgáltatásra két szabály vonatkozik, csak az elsőt veszik figyelembe.

Sajnos nem minden hálózati szolgáltatás támogatja a TCP-burkolók használatát. Annak megállapításához, hogy egy adott szolgáltatás támogatja-e őket, tegye a következőket:

ldd /path/to/binary | grep libwrap

Ha a fenti parancs kimenetet ad vissza, akkor TCP-csomagolható. Példa erre az sshd és a vsftpd, amint az itt látható:

A TCP-csomagolók használata a szolgáltatásokhoz való hozzáférés korlátozására

A /etc/hosts.allow és az /etc/hosts.deny szerkesztésekor ügyeljen arra, hogy újsort adjon hozzá az Enter lenyomásával az utolsó után. nem üres sor.

Ha az SSH- és FTP-hozzáférést csak a 192.168.0.102-hez és a localhosthoz szeretné engedélyezni, és az összes többit meg szeretné tagadni, adja hozzá ezt a két sort a /etc/hosts.deny fájlhoz. :

sshd,vsftpd : ALL
ALL : ALL

és a következő sor az /etc/hosts.allow fájlban:

sshd,vsftpd : 192.168.0.102,LOCAL
#
hosts.deny	This file contains access rules which are used to
#		deny connections to network services that either use
#		the tcp_wrappers library or that have been
#		started through a tcp_wrappers-enabled xinetd.
#
#		The rules in this file can also be set up in
#		/etc/hosts.allow with a 'deny' option instead.
#
#		See 'man 5 hosts_options' and 'man 5 hosts_access'
#		for information on rule syntax.
#		See 'man tcpd' for information on tcp_wrappers
#
sshd,vsftpd : ALL
ALL : ALL
#
hosts.allow	This file contains access rules which are used to
#		allow or deny connections to network services that
#		either use the tcp_wrappers library or that have been
#		started through a tcp_wrappers-enabled xinetd.
#
#		See 'man 5 hosts_options' and 'man 5 hosts_access'
#		for information on rule syntax.
#		See 'man tcpd' for information on tcp_wrappers
#
sshd,vsftpd : 192.168.0.102,LOCAL

Ezek a változások azonnal megtörténnek, újraindítás nélkül.

A következő képen látható a LOCAL szó utolsó sorból való eltávolításának hatása: az FTP-szerver elérhetetlenné válik a localhost számára. Miután visszaadtuk a helyettesítő karaktert, a szolgáltatás újra elérhetővé válik.

Ha engedélyezni szeretné az összes szolgáltatást olyan gazdagép számára, ahol a név tartalmazza az example.com címet, adja hozzá ezt a sort a hosts.allow fájlhoz:

ALL : .example.com

és ha meg szeretné tagadni a vsftpd-hez való hozzáférést a 10.0.1.0/24 rendszerű gépektől, adja hozzá ezt a sort a hosts.deny fájlhoz:

vsftpd : 10.0.1.

Az utolsó két példában figyelje meg a pontot az ügyféllista elején és végén. Az „ÖSSZES gazdagép és/vagy kliens, ahol a név vagy az IP tartalmazza ezt a karakterláncot” jelzésére szolgál.

Hasznos volt számodra ez a cikk? Kérdése vagy észrevétele van? Nyugodtan írjon nekünk az alábbi megjegyzés űrlap segítségével.