ഡെബിയൻ/ഉബുണ്ടുവിൽ Nginx-നായി ModSecurity എങ്ങനെ ഇൻസ്റ്റാൾ ചെയ്യാം
ഭീഷണികളിൽ നിന്ന് സുരക്ഷിതമായ സുരക്ഷിത വെബ് ആപ്ലിക്കേഷനുകൾ വിന്യസിക്കുക എന്നത് ഓരോ ഡവലപ്പറുടെയും ആഗ്രഹമാണ്. മിക്ക അവസരങ്ങളിലും, ഇത് ചെയ്യുന്നതിനേക്കാൾ അനായാസമാണ്. വെബ്uസൈറ്റുകൾ ഹാക്ക് ചെയ്യപ്പെടുന്നതിന്റെ ആവൃത്തി വർദ്ധിച്ചുകൊണ്ടിരിക്കുന്നു, കാരണം ഹാക്കർമാർ അവരുടെ പക്കലുള്ള എല്ലാ ആക്രമണ വെക്uടറുകളെയും ചൂഷണം ചെയ്യുന്നത് തുടരുന്നു.
റൂട്ട്uകിറ്റുകൾ, സ്കാനറുകൾ, ബോട്ടുകൾ, മറ്റ് ക്ഷുദ്രവെയർ എന്നിവ പോലുള്ള ക്ഷുദ്ര ഉപകരണങ്ങളുടെ വ്യാപനത്തിൽ WebApp സുരക്ഷ ഒരു വലിയ വെല്ലുവിളിയാണ്. ലംഘനം ഉണ്ടാകുന്നത് എപ്പോൾ ഇല്ലെങ്കിൽ എന്നതിൻറെ പ്രശ്നമായി തോന്നുമെങ്കിലും, നിങ്ങളുടെ വെബ് ആപ്ലിക്കേഷനുകൾ സംരക്ഷിക്കുന്നതിന് മാന്യമായ ചില സുരക്ഷാ നടപടികൾ നടപ്പിലാക്കുന്നത് വിവേകമാണ്.
[ നിങ്ങൾക്ക് ഇതും ഇഷ്ടപ്പെടാം: ക്ഷുദ്രവെയറുകൾക്കും റൂട്ട്കിറ്റുകൾക്കുമായി ഒരു ലിനക്സ് സെർവർ സ്കാൻ ചെയ്യുന്നതിനുള്ള 5 ഉപകരണങ്ങൾ ]
ആക്രമണങ്ങൾക്കെതിരെ മാന്യമായ സുരക്ഷ നൽകാൻ കഴിയുന്ന ഉപകരണങ്ങളിലൊന്നാണ് മോഡ് സെക്യൂരിറ്റി. ക്രോസ്-സൈറ്റ് സ്ക്രിപ്റ്റിംഗ് (XSS), SQL കുത്തിവയ്പ്പ്, സെഷൻ ഹൈജാക്കിംഗ്, കൂടാതെ മറ്റു പലതും പോലുള്ള ലെയർ 7 ആക്രമണങ്ങളുടെ ഒരു വലിയ നിരയിൽ നിന്ന് നിങ്ങളുടെ വെബ് ആപ്ലിക്കേഷനുകളെ സംരക്ഷിക്കുന്ന ഒരു സ്വതന്ത്രവും ഓപ്പൺ സോഴ്uസ് വെബ് ആപ്ലിക്കേഷൻ ഫയർവാൾ (WAF) ആണിത്.
ഈ ഗൈഡിൽ, ഉബുണ്ടു പോലുള്ള ഡെബിയൻ അടിസ്ഥാനമാക്കിയുള്ള ലിനക്സ് വിതരണങ്ങളിൽ Nginx-നൊപ്പം പ്രവർത്തിക്കാൻ ModSecurity എങ്ങനെ ഇൻസ്റ്റാൾ ചെയ്യാമെന്നും കോൺഫിഗർ ചെയ്യാമെന്നും ഞങ്ങൾ നിങ്ങളെ കാണിക്കും.
ഘട്ടം 1: ഡിപൻഡൻസികൾ ഇൻസ്റ്റാൾ ചെയ്യുക
ഇൻസ്റ്റലേഷൻ ആരംഭിക്കുന്നതിന്, ഇൻസ്റ്റലേഷൻ വിജയകരമാകുന്നതിന് നിരവധി സോഫ്റ്റ്uവെയർ ഡിപൻഡൻസികൾ ആവശ്യമാണ്. എന്നാൽ ആദ്യം, പാക്കേജ് ലിസ്റ്റുകൾ അപ്ഡേറ്റ് ചെയ്ത് താഴെപ്പറയുന്ന രീതിയിൽ ശേഖരണങ്ങൾ പുതുക്കുക.
$ sudo apt update
അടുത്തതായി, ഇനിപ്പറയുന്ന രീതിയിൽ ഡിപൻഡൻസികൾ ഇൻസ്റ്റാൾ ചെയ്യുക.
$ sudo apt install make gcc build-essential autoconf automake libtool libfuzzy-dev ssdeep gettext pkg-config libcurl4-openssl-dev liblua5.3-dev libpcre3 libpcre3-dev libxml2 libxml2-dev libyajl-dev doxygen libcurl4 libgeoip-dev libssl-dev zlib1g-dev libxslt-dev liblmdb-dev libpcre++-dev libgd-dev
ഘട്ടം 2: ഏറ്റവും പുതിയ Nginx പതിപ്പ് ഇൻസ്റ്റാൾ ചെയ്യുക
Nginx വെബ് ബ്രൗസർ ഇൻസ്റ്റാൾ ചെയ്യുക എന്നതാണ് അടുത്ത ഘട്ടം. ഏറ്റവും പുതിയ പതിപ്പ് ഇൻസ്റ്റാൾ ചെയ്യാൻ, 2000 മുതൽ നിലവിൽ ഒരു ഡെബിയൻ ഡെവലപ്പർ പരിപാലിക്കുന്ന ondrej/nginx-mainline PPA w-ൽ നിന്ന് ഞങ്ങൾ ഇത് ഇൻസ്റ്റാൾ ചെയ്യാൻ പോകുന്നു.
നിങ്ങളുടെ പ്രാദേശിക ഉബുണ്ടു സിസ്റ്റത്തിലേക്ക് PPA ചേർക്കുന്നതിന് കമാൻഡ് എക്സിക്യൂട്ട് ചെയ്യുക:
$ sudo add-apt-repository ppa:ondrej/nginx-mainline -y
അടുത്തതായി, പാക്കേജ് ലിസ്റ്റുകൾ അപ്uഡേറ്റ് ചെയ്uത് Nginx-ന്റെ ഏറ്റവും പുതിയ പതിപ്പ് ഇനിപ്പറയുന്ന രീതിയിൽ ഇൻസ്റ്റാൾ ചെയ്യുക
$ sudo apt update $ sudo apt install nginx-core nginx-common nginx nginx-full
സാധാരണഗതിയിൽ, ഡിഫോൾട്ട് റിപ്പോസിറ്ററി മാത്രമേ പ്രവർത്തനക്ഷമമാക്കിയിട്ടുള്ളൂ. സോഴ്uസ് കോഡ് ശേഖരം പ്രവർത്തനക്ഷമമാക്കുന്നത് വിവേകപൂർണ്ണമാണ്, അതുവഴി നിങ്ങൾക്ക് പിന്നീട്, അടുത്ത ഘട്ടത്തിൽ Nginx സോഴ്uസ് കോഡ് ഡൗൺലോഡ് ചെയ്യാം.
ഇത് നേടുന്നതിന്, Nginx റിപ്പോസിറ്ററി ഫയൽ പരിഷ്ക്കരിക്കുക.
$ sudo vim /etc/apt/sources.list.d/ondrej-ubuntu-nginx-mainline-*.list
സോഴ്uസ് കോഡ് ശേഖരം പ്രവർത്തനക്ഷമമാക്കാൻ ഈ വരി കണ്ടെത്തി അഭിപ്രായമിടുക:
# deb-src http://ppa.launchpad.net/ondrej/nginx-mainline/ubuntu/ focal main
ഇപ്പോൾ കാണിച്ചിരിക്കുന്നതുപോലെ ഫയൽ ദൃശ്യമാകും.
മാറ്റങ്ങൾ സംരക്ഷിച്ച് പുറത്തുകടക്കുക.
തുടർന്ന് പാക്കേജ് സൂചിക അപ്ഡേറ്റ് ചെയ്യുക.
$ sudo apt update
ഘട്ടം 3: Nginx ഉറവിട പാക്കേജ് ഡൗൺലോഡ് ചെയ്യുക
ModSecurity ഡൈനാമിക് മൊഡ്യൂൾ കംപൈൽ ചെയ്യുന്നതിന്, ഞങ്ങൾ Nginx സോഴ്സ് കോഡ് പാക്കേജ് ഡൗൺലോഡ് ചെയ്യേണ്ടതുണ്ട്. ഇത് ചെയ്യുന്നതിന്, ഞങ്ങൾ ആദ്യം, Nginx സോഴ്സ് കോഡ് പാക്കേജ് ഫയൽ ഉൾക്കൊള്ളുന്നതിനായി /usr/local/src/ പാതയിൽ ഒരു Nginx ഡയറക്ടറി സൃഷ്ടിക്കും.
$ sudo mkdir -p /usr/local/src/nginx
അടുത്തതായി, കാണിച്ചിരിക്കുന്നതുപോലെ ഡയറക്ടറി അനുമതികൾ നൽകുക. ഉപയോക്തൃനാമം നിങ്ങളുടെ യഥാർത്ഥ സുഡോ ഉപയോക്തൃനാമം ഉപയോഗിച്ച് മാറ്റിസ്ഥാപിക്കുന്നത് ഉറപ്പാക്കുക.
$ sudo chown username:username -R /usr/local/src/
അതിനുശേഷം, Nginx ഉറവിട ഡയറക്ടറിയിലേക്ക് നാവിഗേറ്റ് ചെയ്യുക:
$ cd /usr/local/src/nginx
Nginx ഉറവിട ഫയൽ പാക്കേജുകൾ തുടരുകയും ഡൗൺലോഡ് ചെയ്യുകയും ചെയ്യുക:
$ sudo apt source nginx
നിങ്ങൾ മിക്കവാറും ഇനിപ്പറയുന്ന പിശകിൽ അകപ്പെടാം:
W: Download is performed unsandboxed as root as file 'nginx_1.19.5.orig.tar.gz' couldn't be accessed by user '_apt'. - pkgAcquire::Run (13: Permission denied)
ഇത് നിങ്ങളെ പ്രയത്നിക്കുന്നതിന് ഒന്നുമല്ല. അതിനാൽ, പിശക് അവഗണിക്കുക.
ls കമാൻഡ് ഉപയോഗിച്ച് നിങ്ങൾക്ക് സോഴ്uസ് ഫയലിലേക്ക് ഒരു നോക്ക് കാണാം.
$ ls -l
സോഴ്uസ് കോഡ് പതിപ്പ് ഇൻസ്റ്റാൾ ചെയ്ത Nginx-ന്റെ പതിപ്പുമായി പൊരുത്തപ്പെടുന്നുണ്ടെന്ന് ഉറപ്പാക്കുക.
$ nginx -v
ഘട്ടം 4: Libmodsecurity3 ലൈബ്രറി ഇൻസ്റ്റാൾ ചെയ്യുക
നിങ്ങളുടെ ആപ്ലിക്കേഷനുകൾക്കായി HTTP ഫിൽട്ടറിംഗ് കൈകാര്യം ചെയ്യുന്ന ഒരു മോഡ്സെക്യൂരിറ്റി ലൈബ്രറിയാണ് Libmodesecurity. ഇത് ഇൻസ്റ്റാൾ ചെയ്യാൻ രണ്ട് വഴികളുണ്ട്. കാണിച്ചിരിക്കുന്നതുപോലെ നിങ്ങൾക്ക് apt പാക്കേജ് മാനേജർ ഉപയോഗിക്കാം
$ sudo apt install libmodsecurity3
നിങ്ങൾക്ക് ഏറ്റവും പുതിയ പതിപ്പ് നൽകുന്നതിനാൽ അഭികാമ്യമായ ഒരു ഉറവിടത്തിൽ നിന്ന് ഇത് ഇൻസ്റ്റാൾ ചെയ്യുക എന്നതാണ് മറ്റൊരു സമീപനം. ഉറവിടത്തിൽ നിന്ന് ലിബ്മോഡ് സെക്യൂരിറ്റിയുടെ ഇൻസ്റ്റാളേഷൻ ആരംഭിക്കുന്നതിന്, കാണിച്ചിരിക്കുന്നതുപോലെ ജിറ്റ് റിപ്പോസിറ്ററി ക്ലോൺ ചെയ്യുക:
$ git clone --depth 1 -b v3/master --single-branch https://github.com/SpiderLabs/ModSecurity /usr/local/src/ModSecurity/
ക്ലോൺ ചെയ്ത ഡയറക്ടറിയിലേക്ക് നാവിഗേറ്റ് ചെയ്യുക:
$ cd /usr/local/src/ModSecurity/
സബ്മോഡ്യൂളുകൾ ഇൻസ്റ്റാൾ ചെയ്യാൻ ഒരു പോയിന്റ് ഉണ്ടാക്കുക
$ sudo git submodule init $ sudo git submodule update
അതിനുശേഷം, ചുവടെയുള്ള കമാൻഡുകൾ ഉപയോഗിച്ച് പരിസ്ഥിതി നിർമ്മിക്കുക.
$ sudo ./build.sh $ sudo ./configure
ഒരിക്കൽ കൂടി, താഴെ പ്രദർശിപ്പിച്ചിരിക്കുന്ന പിശക് അവഗണിക്കുക.
fatal: No names found, cannot describe anything.
തുടർന്ന് സോഴ്സ് കോഡ് കംപൈൽ ചെയ്ത് താഴെ പറയുന്ന make കമാൻഡ് ഉപയോഗിച്ച് മറ്റ് യൂട്ടിലിറ്റികൾ ഇൻസ്റ്റാൾ ചെയ്യുക. ഇതിന് ഏകദേശം 25 മിനിറ്റ് എടുക്കും, കുറച്ച് ക്ഷമ ആവശ്യമാണ്.
$ sudo make -j4
പൂർത്തിയായിക്കഴിഞ്ഞാൽ, ലൈബ്രറികൾ ഇൻസ്റ്റാൾ ചെയ്യുക.
$ sudo make install
ഘട്ടം 5: ModSecurity v3 Nginx കണക്റ്റർ ഡൗൺലോഡ് ചെയ്ത് കംപൈൽ ചെയ്യുക
അടുത്ത ഘട്ടം ModSecurity Nginx കണക്റ്റർ ഡൗൺലോഡ് ചെയ്ത് കംപൈൽ ചെയ്യുക എന്നതാണ്. കണക്ടർ, പേര് സൂചിപ്പിക്കുന്നത് പോലെ, Libmodsecurity ലൈബ്രറിയെ Nginx വെബ്സെർവറുമായി ബന്ധിപ്പിക്കുന്നു. മോഡ് സെക്യൂരിറ്റി കണക്ടർ ഡൗൺലോഡ് ചെയ്യുന്നതിന്, GitHub ശേഖരത്തിൽ നിന്ന് ഇനിപ്പറയുന്ന രീതിയിൽ ക്ലോൺ ചെയ്യുക.
$ git clone --depth 1 https://github.com/SpiderLabs/ModSecurity-nginx.git /usr/local/src/ModSecurity-nginx/
ക്ലോൺ ചെയ്ത ഡയറക്ടറിയിലേക്ക് നാവിഗേറ്റ് ചെയ്യുക.
$ cd /usr/local/src/nginx/nginx-1.21.3/
ബിൽഡ് ഡിപൻഡൻസികൾ തുടരുകയും ഇൻസ്റ്റാൾ ചെയ്യുകയും ചെയ്യുക
$ sudo apt build-dep nginx $ sudo apt install uuid-dev
അടുത്തതായി, --with-compat
ഫ്ലാഗ് ഉപയോഗിച്ച് ModSecurity Nginx കണക്റ്റർ മൊഡ്യൂൾ കംപൈൽ ചെയ്യുക. --compat
ഓപ്ഷൻ ModSecurity Nginx കണക്റ്റർ മൊഡ്യൂളിനെ നിലവിലെ Nginx ലൈബ്രറിയുമായി ബൈനറി-അനുയോജ്യമാക്കുന്നു.
$ sudo ./configure --with-compat --add-dynamic-module=/usr/local/src/ModSecurity-nginx
അത് ചെയ്തുകഴിഞ്ഞാൽ, make കമാൻഡ് ഉപയോഗിച്ച് ModSecurity Nginx കണക്റ്റർ മൊഡ്യൂൾ നിർമ്മിക്കുക.
$ sudo make modules
മൊഡ്യൂൾ objs/ngx_http_modsecurity_module.so ആയി സംരക്ഷിച്ചിരിക്കുന്നു. നിങ്ങൾ ഈ മൊഡ്യൂൾ ഇനിപ്പറയുന്ന രീതിയിൽ /usr/share/nginx/modules/ ഡയറക്ടറിയിലേക്ക് പകർത്തേണ്ടതുണ്ട്.
$ sudo cp objs/ngx_http_modsecurity_module.so /usr/share/nginx/modules/
ഘട്ടം 6: ModSecurity Nginx കണക്റ്റർ മൊഡ്യൂൾ ലോഡ് ചെയ്യുക
Nginx കണക്റ്റർ മൊഡ്യൂൾ ലോഡുചെയ്യുന്നതിന്, ആദ്യം, പ്രധാന Nginx കോൺഫിഗറേഷൻ ഫയൽ ആക്uസസ് ചെയ്യുക.
$ sudo vim /etc/nginx/nginx.conf
ആദ്യത്തെ കുറച്ച് വരികൾക്ക് താഴെയുള്ള വരി കൂട്ടിച്ചേർക്കുക
load_module modules/ngx_http_modsecurity_module.so;
കൂടാതെ, http {...}
വിഭാഗത്തിൽ ഇനിപ്പറയുന്ന വരികൾ കൂട്ടിച്ചേർക്കുക. ഇത് എല്ലാ Nginx വെർച്വൽ ഹോസ്റ്റുകൾക്കും ModSecurity പ്രാപ്തമാക്കുന്നു.
modsecurity on; modsecurity_rules_file /etc/nginx/modsec/main.conf;
മാറ്റങ്ങൾ സംരക്ഷിച്ച് ഫയലിൽ നിന്ന് പുറത്തുകടക്കുക.
അടുത്തതായി, ModSecurity കോൺഫിഗറേഷൻ സംഭരിക്കുന്ന /etc/nginx/modsec/ ഡയറക്ടറി സൃഷ്ടിക്കുക.
$ sudo mkdir /etc/nginx/modsec/
അടുത്തതായി, ModSecurity കോൺഫിഗറേഷൻ ഫയൽ ഇനിപ്പറയുന്ന രീതിയിൽ പകർത്തുക.
$ sudo cp /usr/local/src/ModSecurity/modsecurity.conf-recommended /etc/nginx/modsec/modsecurity.conf
തുടർന്ന് കോൺഫിഗറേഷൻ ഫയൽ തുറക്കുക.
$ sudo vim /etc/nginx/modsec/modsecurity.conf
SecRuleEngine നിർദ്ദേശത്തിൽ തുടങ്ങുന്ന ലൈൻ കണ്ടെത്തുക.
SecRuleEngine DetectionOnly
എച്ച്ടിടിപി ഇടപാടുകൾ മാത്രം ലോഗ് ചെയ്യാൻ ഈ ലൈൻ മോഡ് സെക്യൂരിറ്റിയോട് നിർദ്ദേശിക്കുന്നു, എന്നാൽ ഒരു വെബ് ആപ്പ് ആക്രമണം നേരിടുമ്പോൾ ഒരു നടപടിയും എടുക്കുന്നില്ല. നിങ്ങൾ ഇത് മാറ്റേണ്ടതുണ്ട്, അതുവഴി മോഡ് സെക്യൂരിറ്റി വെബ് ആക്രമണങ്ങൾ കണ്ടെത്തുക മാത്രമല്ല തടയുകയും ചെയ്യും.
വരി താഴെയുള്ള വരിയിലേക്ക് മാറ്റുക
SecRuleEngine On
മാറ്റങ്ങൾ സംരക്ഷിച്ച് ഫയലിൽ നിന്ന് പുറത്തുകടക്കുക.
അടുത്തതായി, /etc/nginx/modsec/main.conf ഫയൽ സൃഷ്ടിക്കുക.
$ sudo vim /etc/nginx/modsec/main.conf
/etc/nginx/modsec/modsecurity.conf കോൺഫിഗറേഷൻ ഫയൽ റഫറൻസ് ചെയ്യുന്നതിന് ഈ വരി കൂട്ടിച്ചേർക്കുക.
Include /etc/nginx/modsec/modsecurity.conf
മാറ്റങ്ങൾ സംരക്ഷിച്ച് ഫയലിൽ നിന്ന് പുറത്തുകടക്കുക.
കൂടാതെ, യൂണികോഡ് മാപ്പിംഗ് ഫയൽ പകർത്തുക.
$ sudo cp /usr/local/src/ModSecurity/unicode.mapping /etc/nginx/modsec/
തുടർന്ന് Nginx കോൺഫിഗറേഷൻ പരിശോധിക്കുക.
$ sudo nginx -t
പരീക്ഷ വിജയിക്കണം. ഇല്ലെങ്കിൽ, തിരികെ വന്ന് വരുത്തിയ എല്ലാ മാറ്റങ്ങളും ശരിയാണോ എന്ന് പരിശോധിക്കുക.
ഒടുവിൽ, വരുത്തിയ എല്ലാ മാറ്റങ്ങളും പ്രയോഗിക്കാൻ Nginx പുനരാരംഭിക്കുക.
$ sudo systemctl restart nginx
Nginx പ്രതീക്ഷിച്ചതുപോലെ പ്രവർത്തിക്കുന്നുണ്ടോയെന്ന് പരിശോധിക്കുക.
$ sudo systemctl status nginx
ഘട്ടം 7: OWASP കോർറൂൾ സെറ്റ് ഡൗൺലോഡ് ചെയ്യുക
നിങ്ങളുടെ വെബ് ആപ്ലിക്കേഷനുകൾ പരിരക്ഷിക്കുന്നതിന് ModSecurity ന്, സംശയാസ്പദമായ പ്രവർത്തനങ്ങൾ കണ്ടെത്തി അവയെ തടയാൻ പോകുന്ന നിയമങ്ങൾ നിങ്ങൾ വ്യക്തമാക്കേണ്ടതുണ്ട്. ആരംഭിക്കുന്നതിന്, റോപ്പുകൾ പഠിക്കാൻ നിങ്ങളെ സഹായിക്കുന്ന നിലവിലുള്ള റൂൾ സെറ്റുകൾ ഇൻസ്റ്റാൾ ചെയ്യുന്നതാണ് നല്ലത്.
OWASP കോർ റൂൾ സെറ്റ് (CRS) എന്നത് SQL ഇൻജക്ഷൻ, ക്രോസ്-സൈറ്റ് സ്uക്രിപ്റ്റിംഗ് (XSS) പോലെയുള്ള സാധാരണ ആക്രമണ വെക്uടറുകളെ തടയുന്നതിനുള്ള നിയമങ്ങൾ നൽകുന്ന ഒരു സ്വതന്ത്ര, ഓപ്പൺ സോഴ്uസ്, കമ്മ്യൂണിറ്റി പരിപാലിക്കുന്ന റൂൾ സെറ്റാണ്.
wget കമാൻഡ് ഉപയോഗിച്ച് കാണിച്ചിരിക്കുന്നതുപോലെ Github-ൽ നിന്ന് OWASP കോർ റൂൾ സെറ്റ് ഡൗൺലോഡ് ചെയ്യുക.
$ wget https://github.com/coreruleset/coreruleset/archive/v3.3.0.tar.gz
കംപ്രസ് ചെയ്ത ഫയൽ എക്uസ്uട്രാക്uറ്റ് ചെയ്യുക.
$ tar xvf v3.3.0.tar.gz
കംപ്രസ്സ് ചെയ്യാത്ത ഡയറക്ടറി /etc/nginx/modsec/ പാതയിലേക്ക് നീക്കുന്നത് ഉറപ്പാക്കുക.
$ sudo mv coreruleset-3.3.0/ /etc/nginx/modsec/
അതിനുശേഷം crs-setup.conf.example ഫയലിനെ crs-setup.conf എന്നാക്കി മാറ്റുക.
$ sudo mv /etc/nginx/modsec/coreruleset-3.3.0/crs-setup.conf.example /etc/nginx/modsec/coreruleset-3.3.0/crs-setup.conf
വീണ്ടും, ModSecurity കോൺഫിഗറേഷൻ ഫയലിലേക്ക് മടങ്ങുക.
$ sudo vim /etc/nginx/modsec/main.conf
കൂടാതെ ഇനിപ്പറയുന്ന വരികൾ കൂട്ടിച്ചേർക്കുക.
Include /etc/nginx/modsec/coreruleset-3.3.0/crs-setup.conf Include /etc/nginx/modsec/coreruleset-3.3.0/rules/*.conf
ഫയലിന് ഇപ്പോൾ 3 വരികൾ ഉണ്ടായിരിക്കണം:
ഫയൽ സംരക്ഷിച്ച്, ഒരിക്കൽ കൂടി, Nginx പുനരാരംഭിക്കുക.
$ sudo systemctl restart nginx
ഘട്ടം 8: മോഡ് സെക്യൂരിറ്റി പരിശോധിക്കുന്നു
അവസാനമായി, ഞങ്ങൾ ഒരു ടെസ്റ്റ് മോഡ് സെക്യൂരിറ്റി നടത്താനും അതിന് സംശയാസ്പദമായ എച്ച്ടിടിപി ട്രാഫിക് കണ്ടെത്താനും തടയാനും കഴിയുമെന്ന് സ്ഥിരീകരിക്കാൻ പോകുകയാണ്.
ഞങ്ങൾ ModSecurity കോൺഫിഗറേഷൻ ഫയൽ എഡിറ്റുചെയ്യാനും ഒരു വെബ് ബ്രൗസർ ആക്uസസ് ചെയ്യുമ്പോൾ ഒരു നിശ്ചിത URL-ലേക്കുള്ള ആക്uസസ് തടയുന്ന ഒരു തടയൽ നിയമം സൃഷ്uടിക്കാനും പോകുന്നു.
$ sudo vim /etc/nginx/modsec/modsecurity.conf
SecRuleEngine ഓൺ നിർദ്ദേശത്തിന് തൊട്ടുതാഴെ ഈ ലൈൻ ചേർക്കുക
SecRule ARGS:testparam "@contains test" "id:254,deny,status:403,msg:'Test Successful'"
നിങ്ങൾക്ക് ഇഷ്ടപ്പെട്ട മൂല്യങ്ങളിലേക്ക് 'id', 'msg' ടാഗുകൾ സജ്ജമാക്കാൻ കഴിയും.
മാറ്റങ്ങൾ സംരക്ഷിച്ച് Nginx പുനരാരംഭിക്കുക.
$ sudo systemctl restart nginx
ഇപ്പോൾ നിങ്ങളുടെ ബ്രൗസർ സമാരംഭിച്ച് ?testparam=test
സഫിക്സ് ഉപയോഗിച്ച് താഴെയുള്ള URL സന്ദർശിക്കുക
http://server-ip/?testparam=test
നിങ്ങൾക്ക് 403 'വിലക്കപ്പെട്ട' പിശക് ലഭിക്കും. നിങ്ങൾ വെബ്uസെർവറിൽ ഒരു നിരോധിത ഉറവിടം ആക്uസസ് ചെയ്യാൻ ശ്രമിക്കുകയാണെന്ന് ഇത് സൂചിപ്പിക്കുന്നു.
കൂടാതെ, ക്ലയന്റ് തടഞ്ഞുവെന്ന് സ്ഥിരീകരിക്കാൻ നിങ്ങൾക്ക് Nginx പിശക് ലോഗുകൾ പരിശോധിക്കാം
$ cat /var/log/nginx/error.log | grep "Test Successful"
[ നിങ്ങൾക്ക് ഇതും ഇഷ്ടപ്പെടാം: ഡെബിയൻ/ഉബുണ്ടുവിൽ അപ്പാച്ചെ ഉപയോഗിച്ച് മോഡ് സെക്യൂരിറ്റി എങ്ങനെ സജ്ജീകരിക്കാം ]
ഡെബിയനിലും ഉബുണ്ടുവിലും Nginx ഉപയോഗിച്ച് നിങ്ങൾക്ക് എങ്ങനെ മോഡ്സെക്യൂരിറ്റി സജ്ജീകരിക്കാം എന്നതിന്റെ ഒരു അവലോകനമായിരുന്നു അത്. ഇത് പ്രയോജനകരമായി എന്ന് ഞങ്ങൾ പ്രതീക്ഷിക്കുന്നു.