ഡെബിയൻ/ഉബുണ്ടുവിൽ അപ്പാച്ചെ ഉപയോഗിച്ച് മോഡ് സെക്യൂരിറ്റി എങ്ങനെ സജ്ജീകരിക്കാം
അപ്പാച്ചെ വെബ് സെർവർ വളരെ ഇഷ്uടാനുസൃതമാക്കാവുന്നതും നിങ്ങളുടെ ആവശ്യങ്ങൾക്ക് അനുസൃതമായി ഒന്നിലധികം രീതിയിൽ കോൺഫിഗർ ചെയ്യാവുന്നതുമാണ്. നിങ്ങളുടെ മുൻഗണന അനുസരിച്ച് അപ്പാച്ചെ കോൺഫിഗർ ചെയ്യാൻ നിങ്ങൾക്ക് ഉപയോഗിക്കാവുന്ന നിരവധി മൂന്നാം കക്ഷി മൊഡ്യൂളുകൾ ഉണ്ട്.
അപ്പാച്ചെ വെബ്uസെർവറിന്റെ നേറ്റീവ് ആയ ഒരു ഓപ്പൺ സോഴ്uസ് WAF (വെബ് ആപ്ലിക്കേഷൻ ഫയർവാൾ) ആണ് ModSecurity. ഇത് തുടക്കത്തിൽ ഒരു അപ്പാച്ചെ മൊഡ്യൂൾ മാത്രമായിരുന്നു, എന്നാൽ വർഷത്തിൽ ഒരു പൂർണ്ണമായ വെബ് ആപ്പ് ഫയർവാൾ ആയി വളർന്നു. ഇത് ഇപ്പോൾ Nginx ഉം IIS ഉം പിന്തുണയ്ക്കുന്നു.
വെബ്സെർവറിലേക്കുള്ള ഇൻകമിംഗ് അഭ്യർത്ഥനകൾ മുൻകൂട്ടി നിശ്ചയിച്ചിട്ടുള്ള നിയമങ്ങൾക്കെതിരെ മോഡ്സെക്യൂരിറ്റി പരിശോധിക്കുന്നു. സാധാരണഗതിയിൽ, ഇത് CRS (കോർ റൂൾ സെറ്റ്) എന്നറിയപ്പെടുന്ന ഒരു കൂട്ടം നിയമങ്ങൾ നൽകുന്നു, അത് SQL ഇൻജക്ഷൻ, XSS, മറ്റ് ചൂഷണങ്ങൾക്കിടയിൽ സെഷൻ ഹൈജാക്കിംഗ് എന്നിവ പോലുള്ള വെബ് ആപ്ലിക്കേഷൻ ആക്രമണങ്ങളുടെ ഒരു നിരയിൽ നിന്ന് ഒരു വെബ്uസൈറ്റിനെ സംരക്ഷിക്കുന്നു.
[ നിങ്ങൾക്ക് ഇതും ഇഷ്ടപ്പെടാം: ക്ഷുദ്രവെയറുകൾക്കും റൂട്ട്കിറ്റുകൾക്കുമായി ഒരു ലിനക്സ് സെർവർ സ്കാൻ ചെയ്യുന്നതിനുള്ള 5 ഉപകരണങ്ങൾ ]
ModSecurity ആപ്ലിക്കേഷൻ ഫയർവാൾ, ബാഹ്യ ആക്രമണങ്ങളിൽ നിന്ന് സൈറ്റുകളെ സംരക്ഷിക്കുന്നതിൽ PCI DSS പാലിക്കുന്നതിന്റെ അവിഭാജ്യ ഘടകമാണ്. മൊഡ്യൂൾ പ്രവർത്തനക്ഷമമാക്കുമ്പോൾ, അത് വെബ്uസെർവറിലെ റിസോഴ്uസ് ആക്uസസ് ചെയ്യാൻ നിങ്ങൾക്ക് മതിയായ അനുമതികളില്ലെന്ന് സൂചിപ്പിക്കുന്ന ഒരു '403 വിലക്കപ്പെട്ട പിശക്' ട്രിഗർ ചെയ്യുന്നു.
ഡെബിയൻ, ഉബുണ്ടു ലിനക്സ് എന്നിവയിൽ അപ്പാച്ചെ ഉപയോഗിച്ച് പ്രവർത്തിക്കാൻ മോഡ് സെക്യൂരിറ്റി എങ്ങനെ സജ്ജീകരിക്കാമെന്നും കോൺഫിഗർ ചെയ്യാമെന്നും ഈ ഗൈഡിൽ ഞങ്ങൾ നിങ്ങളെ കാണിക്കും.
ഘട്ടം 1: ഉബുണ്ടുവിൽ ModSecurity ഇൻസ്റ്റാൾ ചെയ്യുക
മോഡ് സെക്യൂരിറ്റി ഇൻസ്റ്റാൾ ചെയ്യുക എന്നതാണ് ആദ്യപടി. ആദ്യം, പാക്കേജ് ലിസ്റ്റുകൾ ഇനിപ്പറയുന്ന രീതിയിൽ പുതുക്കിക്കൊണ്ട് ഞങ്ങൾ ആരംഭിക്കും:
$ sudo apt update
അടുത്തതായി, മറ്റ് ഡിപൻഡൻസികൾക്കും ലൈബ്രറികൾക്കും ഒപ്പം ModSecurity പാക്കേജ് ഇൻസ്റ്റാൾ ചെയ്യുക.
$ sudo apt install libapache2-mod-security2
അതിനുശേഷം, മൊഡ്യൂൾ പ്രവർത്തനക്ഷമമാക്കുക.
$ sudo a2enmod security2
മാറ്റങ്ങൾ പ്രയോഗിക്കാൻ അപ്പാച്ചെ വെബ്സെർവർ പുനരാരംഭിക്കുക.
$ sudo systemctl restart apache2
ഈ ഘട്ടത്തിൽ, ModSecurity വിജയകരമായി ഇൻസ്റ്റാൾ ചെയ്തു. ഇപ്പോൾ നമുക്ക് അത് ക്രമീകരിക്കാം.
ഘട്ടം 2: ഉബുണ്ടുവിൽ മോഡ് സെക്യൂരിറ്റി കോൺഫിഗർ ചെയ്യുക
ഡിഫോൾട്ടായി, സംശയാസ്uപദമായ ആക്uറ്റിവിറ്റി കണ്ടെത്താനും ലോഗ് ചെയ്യാനും മാത്രമാണ് മോഡ് സെക്യൂരിറ്റി കോൺഫിഗർ ചെയ്uതിരിക്കുന്നത്. സംശയാസ്പദമായ പ്രവർത്തനം കണ്ടെത്തുന്നതിന് മാത്രമല്ല തടയുന്നതിനും ഞങ്ങൾക്ക് ഒരു അധിക ഘട്ടം പോയി അത് കോൺഫിഗർ ചെയ്യേണ്ടതുണ്ട്.
ചുവടെയുള്ള കമാൻഡിൽ നൽകിയിരിക്കുന്നതുപോലെ, സ്ഥിരസ്ഥിതി ModSecurity കോൺഫിഗറേഷൻ ഫയൽ - modsecurity.conf-recommended - ഒരു പുതിയ ഫയലിലേക്ക് പകർത്തുക.
$ sudo cp /etc/modsecurity/modsecurity.conf-recommended /etc/modsecurity/modsecurity.conf
നിങ്ങൾക്ക് ഇഷ്ടപ്പെട്ട ടെക്സ്റ്റ് എഡിറ്റർ ഉപയോഗിച്ച് ഫയൽ തുറക്കുക
$ sudo nano /etc/modsecurity/modsecurity.conf
ലൈൻ കണ്ടെത്തുക:
SecRuleEngine DetectionOnly
ഇത് സജ്ജമാക്കുക:
SecRuleEngine On
മാറ്റങ്ങൾ സംരക്ഷിച്ച് ഫയലിൽ നിന്ന് പുറത്തുകടക്കുക.
അപ്പാച്ചെയിലെ മാറ്റങ്ങൾ പ്രയോഗിക്കാൻ, വെബ്സെർവർ പുനരാരംഭിക്കുക.
$ sudo systemctl restart apache2
ഘട്ടം 3: OWASP മോഡ്സെക്യൂരിറ്റി കോർ റൂൾസെറ്റ് ഡൗൺലോഡ് ചെയ്യുക
GitHub പേജിൽ നിന്ന് ഏറ്റവും പുതിയ OWASP ModSecurity കോർ റൂൾ സെറ്റ് (CRS) ഡൗൺലോഡ് ചെയ്യുക എന്നതാണ് അടുത്ത ഘട്ടം.
കാണിച്ചിരിക്കുന്നതുപോലെ OWASP git റിപ്പോസിറ്ററി ക്ലോൺ ചെയ്യുക.
$ git clone https://github.com/coreruleset/coreruleset.git
ഡയറക്ടറിയിലേക്ക് നാവിഗേറ്റ് ചെയ്യുക.
$ cd coreruleset/
crs-setup.conf.example ഫയൽ മോഡ്സെക്യൂരിറ്റി ഡയറക്ടറിയിലേക്ക് നീക്കി അതിനെ crs-setup.conf എന്ന് പുനർനാമകരണം ചെയ്യുന്നത് ഉറപ്പാക്കുക.
$ sudo mv crs-setup.conf.example /etc/modsecurity/crs-setup.conf
കൂടാതെ, റൂൾസ് ഡയറക്ടറി മോഡ്സെക്യൂരിറ്റി ഡയറക്ടറിയിലേക്കും നീക്കുക.
$ sudo mv rules/ /etc/modsecurity/
അടുത്തതായി, security2.conf ഫയൽ എഡിറ്റ് ചെയ്യുക.
$ sudo nano /etc/apache2/mods-enabled/security2.conf
അതിൽ ഇനിപ്പറയുന്ന വരികൾ അടങ്ങിയിരിക്കുന്നുവെന്ന് ഉറപ്പാക്കുക.
IncludeOptional /etc/modsecurity/*.conf Include /etc/modsecurity/rules/*.conf
മാറ്റങ്ങൾ നിലനിൽക്കാൻ അപ്പാച്ചെ പുനരാരംഭിക്കുക.
$ sudo systemctl restart apache2
നമുക്ക് ഇപ്പോൾ നമ്മുടെ ModSecurity കോൺഫിഗറേഷൻ പരിശോധിക്കാം.
ഘട്ടം 4: ഉബുണ്ടുവിൽ മോഡ് സെക്യൂരിറ്റി കോൺഫിഗറേഷൻ പരിശോധിക്കുന്നു
അവസാനമായി, ModSecurity-ക്ക് സംശയാസ്പദമായ HTTP ട്രാഫിക് കണ്ടെത്താനും തടയാനും കഴിയുമെന്ന് ഞങ്ങൾ പരിശോധിക്കേണ്ടതുണ്ട്. ഇത് നേടുന്നതിന്, ഞങ്ങൾ ഡിഫോൾട്ട് വെർച്വൽ ഹോസ്റ്റ് ഫയൽ എഡിറ്റ് ചെയ്യേണ്ടതുണ്ട്.
$ sudo nano /etc/apache2/sites-available/000-default.conf
അടുത്തതായി, ഒരു വെബ് ബ്രൗസർ ആക്uസസ് ചെയ്യുമ്പോൾ ഒരു നിശ്ചിത URL-ലേക്കുള്ള ആക്uസസ് തടയുന്ന ഒരു തടയൽ നിയമം ഞങ്ങൾ സൃഷ്uടിക്കും.
'Virtualhost' ക്ലോസിംഗ് ടാഗിന് മുമ്പ് ഈ വരികൾ അവസാനം ചേർക്കുക.
SecRuleEngine On SecRule ARGS:testparam "@contains test" "id:254,deny,status:403,msg:'Test Successful'"
ഏത് അഭികാമ്യമായ മൂല്യങ്ങളിലേക്കും 'id', 'msg' ടാഗുകൾ സജ്ജീകരിക്കാൻ മടിക്കേണ്ടതില്ല.
വെർച്വൽ ഹോസ്റ്റ് കോൺഫിഗറേഷൻ ഫയലിൽ വരുത്തിയ മാറ്റങ്ങൾ പ്രയോഗിക്കുന്നതിന് അപ്പാച്ചെ വെബ്സെർവർ പുനരാരംഭിക്കുക.
$ sudo systemctl restart apache2
നിങ്ങളുടെ വെബ് ബ്രൗസറിൽ, അവസാനം ?testparam=test
കാണിച്ചിരിക്കുന്ന URL സന്ദർശിക്കാൻ ശ്രമിക്കുക.
http://server-ip/?testparam=test
റിസോഴ്uസ് ആക്uസസ് ചെയ്യുന്നതിൽ നിന്ന് നിങ്ങളെ തടഞ്ഞുവെന്ന് സൂചിപ്പിക്കുന്ന ഒരു '403 വിലക്കപ്പെട്ട പിശക്' നിങ്ങൾക്ക് ലഭിക്കും.
ഇനിപ്പറയുന്ന പിശക് ലോഗുകൾ പരിശോധിച്ചുകൊണ്ട് ക്ലയന്റ് ബ്ലോക്ക് ചെയ്യപ്പെട്ടതായി നിങ്ങൾക്ക് കൂടുതൽ സ്ഥിരീകരിക്കാം.
$ cat /var/log/apache2/error.log | grep “Test Successful”
[നിങ്ങൾക്ക് ഇതും ഇഷ്ടപ്പെടാം: ഡെബിയൻ/ഉബുണ്ടുവിൽ Nginx-നായി ModSecurity എങ്ങനെ ഇൻസ്റ്റാൾ ചെയ്യാം ]
അനാവശ്യ ട്രാഫിക് കണ്ടെത്തുന്നതിനും തടയുന്നതിനുമായി ഞങ്ങൾ ModSecurity സജ്ജീകരിച്ചുവെന്നതിന്റെ സ്ഥിരീകരണമാണിത്. ഈ ഗൈഡിൽ, ഡെബിയൻ/ഉബുണ്ടു സിസ്റ്റങ്ങളിൽ അപ്പാച്ചെ ഉപയോഗിച്ച് മോഡ് സെക്യൂരിറ്റി സജ്ജീകരിക്കുന്ന പ്രക്രിയയിലൂടെ ഞങ്ങൾ നിങ്ങളെ നയിച്ചിട്ടുണ്ട്.