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.