ലിനക്സിൽ TCP റാപ്പറുകൾ ഉപയോഗിച്ച് നെറ്റ്uവർക്ക് സേവനങ്ങൾ എങ്ങനെ സുരക്ഷിതമാക്കാം


ഈ ലേഖനത്തിൽ ടിസിപി റാപ്പറുകൾ എന്താണെന്നും കോൺഫിഗർ ചെയ്ത ഫയർവാളിലേക്ക് അവയെ എങ്ങനെ ക്രമീകരിക്കാമെന്നും ഞങ്ങൾ വിശദീകരിക്കും.

ഇക്കാര്യത്തിൽ, നിങ്ങളുടെ സിസ്റ്റത്തിന്റെ ആത്യന്തിക സുരക്ഷാ നടപടിയായി ഈ ടൂളിനെക്കുറിച്ച് നിങ്ങൾക്ക് ചിന്തിക്കാം. ഒരു ഫയർവാളും TCP റാപ്പറുകളും ഉപയോഗിക്കുന്നതിലൂടെ, ഒന്നിനുപുറകെ ഒന്നായി മാറുന്നതിനുപകരം, നിങ്ങളുടെ സെർവർ പരാജയത്തിന്റെ ഒരു പോയിന്റ് പോലും അവശേഷിക്കുന്നില്ലെന്ന് നിങ്ങൾ ഉറപ്പാക്കും.

hosts.allow, hosts.deny എന്നിവ മനസ്സിലാക്കുന്നു

ഒരു നെറ്റ്uവർക്ക് അഭ്യർത്ഥന നിങ്ങളുടെ സെർവറിൽ എത്തുമ്പോൾ, തന്നിരിക്കുന്ന സേവനം ഉപയോഗിക്കാൻ ക്ലയന്റ് അനുവദിക്കണമോ എന്ന് നിർണ്ണയിക്കാൻ TCP റാപ്പറുകൾ hosts.allow, hosts.deny (ആ ക്രമത്തിൽ) എന്നിവ ഉപയോഗിക്കുന്നു. .

ഡിഫോൾട്ടായി, ഈ ഫയലുകൾ ശൂന്യമാണ്, എല്ലാം കമന്റ് ചെയ്തു, അല്ലെങ്കിൽ നിലവിലില്ല. അങ്ങനെ, എല്ലാം ടിസിപി റാപ്പർ ലെയറിലൂടെ അനുവദനീയമാണ്, കൂടാതെ നിങ്ങളുടെ സിസ്റ്റം പൂർണ്ണ സംരക്ഷണത്തിനായി ഫയർവാളിനെ ആശ്രയിക്കാൻ ശേഷിക്കുന്നു. ഇത് ആവശ്യമില്ലാത്തതിനാൽ, ആമുഖത്തിൽ ഞങ്ങൾ പറഞ്ഞ കാരണം, രണ്ട് ഫയലുകളും ഉണ്ടെന്ന് ഉറപ്പാക്കുക:

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

രണ്ട് ഫയലുകളുടെയും വാക്യഘടന ഒന്നുതന്നെയാണ്:

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

എവിടെ,

  1. നിലവിലെ നിയമം ബാധകമാക്കേണ്ട സേവനങ്ങളുടെ കോമയാൽ വേർതിരിച്ച ലിസ്റ്റാണ് സേവനങ്ങൾ.
  2. കോമയാൽ വേർതിരിച്ച ഹോസ്റ്റ്നാമങ്ങൾ അല്ലെങ്കിൽ റൂൾ ബാധിച്ച IP വിലാസങ്ങളുടെ ലിസ്റ്റ് ക്ലയന്റുകൾ പ്രതിനിധീകരിക്കുന്നു. ഇനിപ്പറയുന്ന വൈൽഡ്കാർഡുകൾ സ്വീകരിക്കുന്നു:
    1. എല്ലാം എല്ലാം പൊരുത്തപ്പെടുന്നു. ക്ലയന്റുകൾക്കും സേവനങ്ങൾക്കും ബാധകമാണ്.
    2. ലോക്കൽ ഹോസ്uറ്റ് പോലെയുള്ള അവരുടെ FQDN-ൽ ഒരു കാലയളവ് ഇല്ലാതെ തന്നെ ലോക്കൽ ഹോസ്റ്റുകളുമായി പൊരുത്തപ്പെടുന്നു.
    3. ഹോസ്uറ്റ് നെയിം, ഹോസ്റ്റ് വിലാസം അല്ലെങ്കിൽ ഉപയോക്താവ് അറിയാവുന്ന ഒരു സാഹചര്യത്തെ അറിയാം.
    4. അറിയപ്പെടാത്തത് KNOWN എന്നതിന്റെ വിപരീതമാണ്.
    5. റിവേഴ്uസ് ഡിഎൻഎസ് ലുക്കപ്പുകൾ (ആദ്യം ഹോസ്റ്റ് നാമം നിർണ്ണയിക്കാൻ IP വിലാസത്തിലും തുടർന്ന് IP വിലാസങ്ങൾ നേടുന്നതിന് ഹോസ്റ്റ് നാമത്തിലും) ഓരോ കേസിലും വ്യത്യസ്ത വിലാസം നൽകുകയാണെങ്കിൽ, PARANOID ഒരു കണക്ഷൻ ഉപേക്ഷിക്കുന്നതിന് കാരണമാകുന്നു.

    /etc/hosts.allow എന്നതിലെ നൽകിയിരിക്കുന്ന സേവനത്തിലേക്ക് ആക്uസസ് അനുവദിക്കുന്ന ഒരു നിയമം /etc/hosts.deny നിരോധിക്കുന്ന ഒരു റൂളിനെക്കാൾ മുൻഗണന നൽകുമെന്ന് നിങ്ങൾ ഓർക്കണം. അത്. കൂടാതെ, ഒരേ സേവനത്തിന് രണ്ട് നിയമങ്ങൾ ബാധകമാണെങ്കിൽ, ആദ്യത്തേത് മാത്രമേ കണക്കിലെടുക്കൂ.

    നിർഭാഗ്യവശാൽ, എല്ലാ നെറ്റ്uവർക്ക് സേവനങ്ങളും ടിസിപി റാപ്പറുകളുടെ ഉപയോഗത്തെ പിന്തുണയ്ക്കുന്നില്ല. നൽകിയിരിക്കുന്ന സേവനം അവരെ പിന്തുണയ്ക്കുന്നുണ്ടോ എന്ന് നിർണ്ണയിക്കാൻ, ഇനിപ്പറയുന്നവ ചെയ്യുക:

    # ldd /path/to/binary | grep libwrap
    

    മുകളിലുള്ള കമാൻഡ് ഔട്ട്പുട്ട് നൽകുകയാണെങ്കിൽ, അത് TCP-റാപ്പ് ചെയ്യാവുന്നതാണ്. ഇതിന്റെ ഒരു ഉദാഹരണം ഇവിടെ കാണിച്ചിരിക്കുന്നതുപോലെ sshd, vsftpd എന്നിവയാണ്:

    സേവനങ്ങളിലേക്കുള്ള ആക്സസ് നിയന്ത്രിക്കാൻ TCP റാപ്പറുകൾ എങ്ങനെ ഉപയോഗിക്കാം

    നിങ്ങൾ /etc/hosts.allow, /etc/hosts.deny എന്നിവ എഡിറ്റുചെയ്യുമ്പോൾ, അവസാനത്തെ ശൂന്യമല്ലാത്ത വരിക്ക് ശേഷം എന്റർ അമർത്തിക്കൊണ്ട് നിങ്ങൾ ഒരു പുതിയ ലൈൻ ചേർക്കുന്നുവെന്ന് ഉറപ്പാക്കുക.

    SSH, FTP എന്നിവ 192.168.0.102, ലോക്കൽഹോസ്uറ്റ് എന്നിവയിലേക്ക് മാത്രം ആക്uസസ്സ് അനുവദിക്കുന്നതിനും മറ്റുള്ളവയെല്ലാം നിഷേധിക്കുന്നതിനും, /etc/hosts.deny എന്നതിൽ ഈ രണ്ട് വരികൾ ചേർക്കുക:

    sshd,vsftpd : ALL
    ALL : ALL
    

    കൂടാതെ /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
    

    പുനരാരംഭിക്കാതെ തന്നെ ഈ മാറ്റങ്ങൾ ഉടനടി സംഭവിക്കുന്നു.

    അവസാന വരിയിൽ നിന്ന് LOCAL എന്ന വാക്ക് നീക്കം ചെയ്തതിന്റെ ഫലം ഇനിപ്പറയുന്ന ചിത്രത്തിൽ നിങ്ങൾക്ക് കാണാൻ കഴിയും: FTP സെർവർ ലോക്കൽ ഹോസ്റ്റിന് ലഭ്യമല്ലാതാകും. ഞങ്ങൾ വൈൽഡ്കാർഡ് തിരികെ ചേർത്തതിന് ശേഷം, സേവനം വീണ്ടും ലഭ്യമാകും.

    പേരിൽ example.com അടങ്ങിയിരിക്കുന്ന ഹോസ്റ്റുകളിലേക്ക് എല്ലാ സേവനങ്ങളും അനുവദിക്കുന്നതിന്, hosts.allow എന്നതിൽ ഈ വരി ചേർക്കുക:

    ALL : .example.com
    

    10.0.1.0/24-ന് മെഷീനുകളിലേക്കുള്ള vsftpd-ലേക്കുള്ള ആക്uസസ് നിരസിക്കാൻ, hosts.deny എന്നതിൽ ഈ വരി ചേർക്കുക:

    vsftpd : 10.0.1.
    

    അവസാന രണ്ട് ഉദാഹരണങ്ങളിൽ, ക്ലയന്റ് ലിസ്റ്റിന്റെ തുടക്കത്തിലും അവസാനത്തിലും ഉള്ള ഡോട്ട് ശ്രദ്ധിക്കുക. \എല്ലാ ഹോസ്റ്റുകളും കൂടാതെ/അല്ലെങ്കിൽ പേര് അല്ലെങ്കിൽ ഐപിയിൽ ആ സ്ട്രിംഗ് അടങ്ങിയിരിക്കുന്ന ക്ലയന്റുകൾ സൂചിപ്പിക്കാൻ ഇത് ഉപയോഗിക്കുന്നു.

    ഈ ലേഖനം നിങ്ങൾക്ക് സഹായകമായിരുന്നോ? നിങ്ങൾക്ക് എന്തെങ്കിലും ചോദ്യങ്ങളോ അഭിപ്രായങ്ങളോ ഉണ്ടോ? ചുവടെയുള്ള അഭിപ്രായ ഫോം ഉപയോഗിച്ച് ഞങ്ങൾക്ക് ഒരു കുറിപ്പ് ഇടാൻ മടിക്കേണ്ടതില്ല.