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,

  1. Servicer ass eng komma-getrennte Lëscht vu Servicer op déi aktuell Regel soll applizéiert ginn.
  2. 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:
    1. ALL entsprécht alles. Gëllt souwuel fir Clienten wéi Servicer.
    2. LOCAL Matcher Hosten ouni Period an hirem FQDN, sou wéi localhost.
    3. KNOWN gitt eng Situatioun un, wou den Hostnumm, den Hostadress oder de Benotzer bekannt sinn.
    4. UNKNOWN ass de Géigendeel vu BNOWN.
    5. 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 an hosts.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.