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,
- A szolgáltatások azon szolgáltatások vesszővel elválasztott listája, amelyekre a jelenlegi szabályt alkalmazni kell.
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:
- Az MINDEN mindenre egyezik. Ügyfelekre és szolgáltatásokra egyaránt vonatkozik.
- A LOCAL olyan gazdagépeket egyezik meg, amelyeknek nincs pontja az FQDN-ben, például a localhost.
- Az ISMERT olyan helyzetet jelez, amikor a gazdagépnév, a gazdagép címe vagy a felhasználó ismert.
- Az ISMERETLEN az ISMERETLEN ellentéte.
- 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.
É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.