Hvernig á að tryggja netþjónustu með TCP umbúðum í Linux


Í þessari grein munum við útskýra hvað TCP umbúðir eru og hvernig á að stilla þá á stilltan eldvegg.

Í þessu sambandi geturðu hugsað um þetta tól sem fullkomna öryggisráðstöfun fyrir kerfið þitt. Með því að nota eldvegg og TCP umbúðir, í stað þess að velja einn fram yfir annan, muntu ganga úr skugga um að þjónninn þinn sitji ekki eftir með einn bilunarpunkt.

Að skilja hosts.allow og hosts.deny

Þegar netbeiðni berst þjóninum þínum notar TCP umbúðir hosts.allow og hosts.deny (í þeirri röð) til að ákvarða hvort biðlarinn eigi að fá að nota tiltekna þjónustu .

Sjálfgefið er að þessar skrár eru tómar, allar skrifaðar út eða eru ekki til. Þannig er allt leyft í gegnum TCP umbúðir lagið og kerfið þitt er látið treysta á eldvegginn fyrir fulla vernd. Þar sem þetta er ekki óskað, af þeirri ástæðu sem við sögðum frá í innganginum, vertu viss um að báðar skrárnar séu til:

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

Setningafræði beggja skráa er sú sama:

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

hvar,

  1. þjónusta er listi aðskilinn með kommum yfir þjónustur sem núverandi reglu ætti að nota á.
  2. viðskiptavinir tákna listann yfir hýsilnöfn aðskilin með kommum eða IP-tölur sem reglun hefur áhrif á. Eftirfarandi jokertákn eru samþykkt:
    1. ALLT passar við allt. Gildir bæði um viðskiptavini og þjónustu.
    2. LOCAL samsvarar gestgjöfum án punkta í FQDN þeirra, eins og localhost.
    3. KNOWN gefur til kynna aðstæður þar sem hýsilheiti, vistfang hýsils eða notandi er þekkt.
    4. ÓÞEKT er andstæðan við ÞEKKT.
    5. PARANOID veldur því að tenging fellur niður ef öfug DNS leit (fyrst á IP tölu til að ákvarða hýsilsheiti, síðan á hýsilheiti til að fá IP vistföng) skilar öðru vistfangi í hverju tilviki.

    Þú gætir viljað hafa í huga að regla sem leyfir aðgang að tiltekinni þjónustu í /etc/hosts.allow hefur forgang fram yfir reglu í /etc/hosts.deny sem bannar það. Að auki, ef tvær reglur gilda um sömu þjónustu, verður aðeins sú fyrri tekin til greina.

    Því miður styðja ekki öll netþjónusta notkun TCP umbúða. Til að ákvarða hvort tiltekin þjónusta styður þá skaltu gera:

    # ldd /path/to/binary | grep libwrap
    

    Ef skipunin hér að ofan skilar framleiðslu getur það verið TCP-vafið. Dæmi um þetta eru sshd og vsftpd, eins og sýnt er hér:

    Hvernig á að nota TCP umbúðir til að takmarka aðgang að þjónustu

    Þegar þú breytir /etc/hosts.allow og /etc/hosts.deny skaltu ganga úr skugga um að þú bætir við nýrri línu með því að ýta á Enter eftir síðustu línu sem ekki er tóm.

    Til að leyfa SSH og FTP aðgang eingöngu að 192.168.0.102 og localhost og neita öllum öðrum skaltu bæta þessum tveimur línum við í /etc/hosts.deny:

    sshd,vsftpd : ALL
    ALL : ALL
    

    og eftirfarandi línu í /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
    

    Þessar breytingar eiga sér stað strax án þess að endurræsa þurfi.

    Á eftirfarandi mynd geturðu séð áhrif þess að fjarlægja orðið LOCAL úr síðustu línu: FTP þjónninn verður óaðgengilegur fyrir localhost. Eftir að við bætum algildismerkinu aftur við verður þjónustan aftur tiltæk.

    Til að leyfa allri þjónustu til gestgjafa þar sem nafnið inniheldur example.com skaltu bæta þessari línu við í hosts.allow:

    ALL : .example.com
    

    og til að neita aðgangi að vsftpd að vélum á 10.0.1.0/24 skaltu bæta þessari línu við í hosts.deny:

    vsftpd : 10.0.1.
    

    Á síðustu tveimur dæmunum skaltu taka eftir punktinum í upphafi og lok viðskiptavinalistans. Það er notað til að gefa til kynna ALLIR gestgjafar og/eða viðskiptavinir þar sem nafnið eða IP-talan inniheldur þann streng.

    Var þessi grein gagnleg fyrir þig? Hefur þú einhverjar spurningar eða athugasemdir? Ekki hika við að senda okkur athugasemd með því að nota athugasemdareyðublaðið hér að neðan.