Wéi sécheren Netzwierkservicer mat TCP Wrappers a Linux
An dësem Artikel wäerte mir erkläre wat TCP Wrapper sinn a wéi se se op konfiguréiert Firewall konfiguréieren.
An dëser Hisiicht kënnt Dir dëst Tool als ultimativ Sécherheetsmoossnam fir Äre System denken. Andeems Dir eng Firewall an TCP-Wrapper benotzt, anstatt deen een iwwer deen aneren ze favoriséieren, gitt Dir sécher datt Äre Server net mat engem eenzege Punkt vum Echec bleift.
Verstoen hosts.allow an hosts.deny
Wann eng Reseau Ufro Äre Server erreecht, benotzt TCP wrappers hosts.allow
an hosts.deny
(an där Reiefolleg) fir ze bestëmmen ob de Client erlaabt ass e bestëmmte Service ze benotzen .
Par défaut sinn dës Dateien eidel, all kommentéiert oder existéieren net. Also ass alles duerch d'TCP Wrapper Schicht erlaabt an Äre System bleift op d'Firewall fir voll Schutz ze vertrauen. Well dëst net gewënscht ass, aus dem Grond, dee mir an der Aféierung uginn hunn, gitt sécher datt béid Dateien existéieren:
# ls -l /etc/hosts.allow /etc/hosts.deny
D'Syntax vu béide Fichier ass d'selwecht:
<services> : <clients> [: <option1> : <option2> : ...]
wou,
- Servicer ass eng komma-getrennte Lëscht vu Servicer op déi aktuell Regel soll applizéiert ginn.
- Clientë representéieren d'Lëscht mat komma-getrennten Hostnamen oder IP Adressen, déi vun der Regel betraff sinn. Déi folgend Wildcards ginn ugeholl:
- ALL entsprécht alles. Gëllt souwuel fir Clienten wéi Servicer.
- LOCAL Matcher Hosten ouni Period an hirem FQDN, sou wéi localhost.
- KNOWN gitt eng Situatioun un, wou den Hostnumm, den Hostadress oder de Benotzer bekannt sinn.
- UNKNOWN ass de Géigendeel vu BNOWN.
- PARANOID bewierkt datt eng Verbindung erofgeet wann ëmgedréint DNS Lookups (fir d'éischt op IP Adress fir den Hostnumm ze bestëmmen, dann op den Hostnumm fir d'IP Adressen ze kréien) an all Fall eng aner Adress zréckginn.
Dir wëllt vläicht am Kapp behalen datt eng Regel déi Zougang zu engem bestëmmte Service an
/etc/hosts.allow
erlaabt Virrang iwwer eng Regel am/etc/hosts.deny
verbueden. et. Zousätzlech, wann zwou Regele fir dee selwechte Service gëllen, gëtt nëmmen déi éischt berücksichtegt.Leider ënnerstëtzen net all Netzwierkservicer d'Benotzung vun TCP-Wrapper. Fir ze bestëmmen ob e bestëmmte Service se ënnerstëtzt, maacht:
# ldd /path/to/binary | grep libwrap
Wann den uewe genannte Kommando d'Ausgab zréckkënnt, kann et TCP-gewéckelt ginn. E Beispill vun dësem sinn sshd an vsftpd, wéi hei gewisen:
Wéi benotzen ech TCP Wrappers fir Zougang zu Servicer ze beschränken
Wéi Dir
/etc/hosts.allow
an/etc/hosts.deny
ännert, gitt sécher datt Dir eng nei Zeil bäidréit andeems Dir op Enter dréckt no der leschter net eidel Linn.Fir SSH an FTP Zougang nëmmen op 192.168.0.102 a localhost z'erméiglechen an all aner ze refuséieren, füügt dës zwou Zeilen an
/etc/hosts.deny
derbäi:sshd,vsftpd : ALL ALL : ALL
an déi folgend Zeil an
/etc/hosts.allow
: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
Dës Ännerungen geschéien direkt ouni de Besoin fir e Restart.
Am folgenden Bild kënnt Dir den Effekt gesinn fir d'Wuert
LOCAL
vun der leschter Zeil ze läschen: de FTP-Server gëtt fir localhost net verfügbar. Nodeems mir d'Wildcard zréck derbäigesat hunn, gëtt de Service erëm verfügbar.Fir all Servicer fir Hosten z'erméiglechen, wou den Numm
example.com
enthält, füügt dës Zeil anhosts.allow
derbäi:ALL : .example.com
a fir den Zougang zu vsftpd op Maschinnen op 10.0.1.0/24 ze verweigeren, füügt dës Linn an
hosts.deny
:vsftpd : 10.0.1.
Op de leschten zwee Beispiller, bemierkt de Punkt am Ufank an um Enn vun der Clientlëscht. Et gëtt benotzt fir ALL Hosten an/oder Clienten unzeweisen wou den Numm oder d'IP dës String enthält.
War dësen Artikel hëllefräich fir Iech? Hutt Dir Froen oder Kommentaren? Fillt eis gratis eng Notiz mat dem Kommentarformular hei drënner ze schécken.