Kif Twaqqaf ModSecurity b'Apache fuq Debian/Ubuntu
Is-server tal-web Apache huwa customizable ħafna u jista 'jiġi kkonfigurat f'diversi modi biex jaqdi l-bżonnijiet tiegħek. Hemm ħafna moduli ta 'partijiet terzi li tista' tuża biex tikkonfigura Apache skond il-preferenza tiegħek.
ModSecurity huwa open-source WAF (Web Application Firewall) li huwa indiġenu għall-webserver Apache. Inizjalment kien modulu Apache biss iżda kiber matul is-sena biex sar firewall tal-app tal-web sħiħ. Issa huwa appoġġjat minn Nginx u anke IIS.
ModSecurity jispezzjona t-talbiet li deħlin lill-webserver kontra sett ta' regoli predefiniti. Tipikament, jipprovdi sett ta 'regoli magħrufa bħala CRS (Core Rule Set) li jipproteġu websajt minn firxa ta' attakki ta 'applikazzjonijiet tal-web bħal injezzjoni SQL, XSS, u ħtif ta' sessjoni fost sfrutti oħra.
[ Tista 'tħobb ukoll: 5 Għodod biex Skennja Server Linux għal Malware u Rootkits ]
Il-firewall tal-applikazzjoni ModSecurity jifforma parti integrali mill-konformità tal-PCI DSS fil-protezzjoni tas-siti minn attakki esterni. Meta l-modulu jiġi attivat, dan iwassal għal '403 Żball Ipprojbit' li sempliċement jimplika li m'għandekx permessi biżżejjed biex taċċessa r-riżors fuq il-webserver.
F'din il-gwida, aħna ser nuruk kif twaqqaf u tikkonfigura ModSecurity biex taħdem ma 'Apache fuq Debian u Ubuntu Linux.
Pass 1: Installa ModSecurity fuq Ubuntu
L-ewwel pass huwa li tinstalla ModSecurity. Se nibdew billi, l-ewwel, naġġornaw il-listi tal-pakketti kif ġej:
$ sudo apt update
Sussegwentement, installa l-pakkett ModSecurity flimkien ma 'dipendenzi u libreriji oħra.
$ sudo apt install libapache2-mod-security2
Wara, ippermetti l-modulu.
$ sudo a2enmod security2
Imbagħad erġa ibda l-webserver Apache biex tapplika l-bidliet.
$ sudo systemctl restart apache2
F'dan il-punt, ModSecurity huwa installat b'suċċess. Ejja issa kkonfiguraha.
Pass 2: Ikkonfigura ModSecurity f'Ubuntu
B'mod awtomatiku, ModSecurity hija kkonfigurata biss biex tiskopri u tirreġistra attività suspettuża. Irridu nagħmlu pass żejjed u kkonfigurawh mhux biss biex jiskopru iżda wkoll jimblukkaw attività suspettuża.
Ikkopja, il-fajl tal-konfigurazzjoni ModSecurity default - modsecurity.conf-recommended - għal fajl ġdid kif ipprovdut fil-kmand hawn taħt.
$ sudo cp /etc/modsecurity/modsecurity.conf-recommended /etc/modsecurity/modsecurity.conf
Uża l-editur tat-test preferut tiegħek, iftaħ il-fajl
$ sudo nano /etc/modsecurity/modsecurity.conf
Sib il-linja:
SecRuleEngine DetectionOnly
Issettjah għal:
SecRuleEngine On
Issejvja l-bidliet u oħroġ mill-fajl.
Biex tapplika l-bidliet fl-Apache, ibda mill-ġdid il-webserver.
$ sudo systemctl restart apache2
Pass 3: Niżżel OWASP ModSecurity Core Ruleset
Il-pass li jmiss huwa li tniżżel l-aħħar OWASP ModSecurity Core Rule Set (CRS) mill-paġna GitHub.
Ikklonja r-repożitorju git OWASP kif muri.
$ git clone https://github.com/coreruleset/coreruleset.git
Innaviga fid-direttorju.
$ cd coreruleset/
Kun żgur li ċċaqlaq il-fajl crs-setup.conf.example fid-direttorju tal-modsecurity u semmih mill-ġdid bħala crs-setup.conf.
$ sudo mv crs-setup.conf.example /etc/modsecurity/crs-setup.conf
Barra minn hekk, ċċaqlaq id-direttorju tar-regoli għad-direttorju tal-modsecurity ukoll.
$ sudo mv rules/ /etc/modsecurity/
Sussegwentement, editja l-fajl security2.conf.
$ sudo nano /etc/apache2/mods-enabled/security2.conf
Kun żgur li fiha l-linji li ġejjin.
IncludeOptional /etc/modsecurity/*.conf Include /etc/modsecurity/rules/*.conf
Imbagħad erġa ibda Apache biex il-bidliet jippersistu.
$ sudo systemctl restart apache2
Ejjew issa nittestjaw il-konfigurazzjoni ModSecurity tagħna.
Pass 4: Ittestja l-Konfigurazzjoni tal-ModSecurity fuq Ubuntu
Fl-aħħar nett, irridu nittestjaw li ModSecurity jista 'jiskopri u jimblokka traffiku HTTP suspettuż. Biex niksbu dan, għandna bżonn neditjaw il-fajl ospitanti virtwali default.
$ sudo nano /etc/apache2/sites-available/000-default.conf
Sussegwentement, se noħolqu regola ta' mblukkar li timblokka l-aċċess għal ċertu URL meta tiġi aċċessata minn web browser.
Ehmeż dawn il-linji fl-aħħar qabel it-tikketta tal-għeluq tal-‘Virtualhost’.
SecRuleEngine On SecRule ARGS:testparam "@contains test" "id:254,deny,status:403,msg:'Test Successful'"
Ħossok liberu li tissettja t-tags 'id' u 'msg' għal kwalunkwe valuri mixtieqa.
Imbagħad erġa ibda l-webserver Apache biex tapplika l-bidliet li saru għall-fajl tal-konfigurazzjoni tal-host virtwali.
$ sudo systemctl restart apache2
Fuq il-web browser tiegħek, ipprova żur il-URL muri bi ?testparam=test
fl-aħħar.
http://server-ip/?testparam=test
Ikollok ‘403 Żball Ipprojbit’ li jindika li ġejt imblukkat milli taċċessa r-riżorsa.
Tista' tkompli tikkonferma li l-klijent kien imblukkat billi tiċċekkja r-reġistri tal-iżbalji kif ġej.
$ cat /var/log/apache2/error.log | grep “Test Successful”
[ Tista' wkoll tixtieq: Kif Tinstalla ModSecurity għal Nginx fuq Debian/Ubuntu ]
Din hija konferma li waqqafna b'suċċess ModSecurity biex tiskopri u timblokka t-traffiku mhux mixtieq. F'din il-gwida, imxijniek permezz tal-proċess tat-twaqqif ta 'ModSecurity ma' Apache fuq sistemi Debian/Ubuntu.