Giunsa ang Pag-set up sa ModSecurity sa Apache sa Debian/Ubuntu


Ang Apache web server kay mapasibo kaayo ug mahimong ma-configure sa daghang paagi aron mohaum sa imong mga panginahanglan. Adunay daghang mga module sa ikatulo nga partido nga imong magamit aron ma-configure ang Apache sa imong gusto.

Ang ModSecurity usa ka open-source WAF (Web Application Firewall) nga lumad sa Apache webserver. Sa sinugdan kini usa ka module sa Apache lamang apan mitubo sa usa ka tuig aron mahimong usa ka hingpit nga firewall sa web app. Gisuportahan na kini karon sa Nginx ug bisan sa IIS.

Gisusi sa ModSecurity ang umaabot nga mga hangyo sa webserver batok sa gitakda nang daan nga hugpong sa mga lagda. Kasagaran, naghatag kini usa ka hugpong sa mga lagda nga nailhan nga CRS (Core Rule Set) nga nanalipod sa usa ka website gikan sa daghang mga pag-atake sa aplikasyon sa web sama sa SQL injection, XSS, ug pag-hijack sa sesyon taliwala sa ubang mga pagpahimulos.

[ Tingali ganahan ka usab: 5 Mga Himan sa Pag-scan sa Linux Server alang sa Malware ug Rootkits ]

Ang ModSecurity nga aplikasyon nga firewall nagporma usa ka hinungdanon nga bahin sa pagsunod sa PCI DSS sa pagpanalipod sa mga site gikan sa mga pag-atake sa gawas. Kung ang module gipagana kini nag-trigger sa usa ka '403 Forbidden Error' nga nagpasabut nga wala ka igo nga pagtugot sa pag-access sa kapanguhaan sa webserver.

Sa kini nga giya, ipakita namon kanimo kung giunsa ang pag-set up ug pag-configure sa ModSecurity aron magtrabaho kauban ang Apache sa Debian ug Ubuntu Linux.

Lakang 1: I-install ang ModSecurity sa Ubuntu

Ang unang lakang mao ang pag-instalar sa ModSecurity. Magsugod kita pinaagi sa, una, pag-refresh sa mga lista sa package sama sa mosunod:

$ sudo apt update

Sunod, i-install ang ModSecurity package kauban ang ubang mga dependency ug library.

$ sudo apt install libapache2-mod-security2

Pagkahuman, i-enable ang module.

$ sudo a2enmod security2

Dayon i-restart ang Apache webserver aron magamit ang mga pagbag-o.

$ sudo systemctl restart apache2

Niini nga punto, malampuson nga na-install ang ModSecurity. Atong i-configure kini karon.

Lakang 2: I-configure ang ModSecurity sa Ubuntu

Sa kasagaran, ang ModSecurity gi-configure lamang aron mahibal-an ug ma-log ang kadudahang kalihokan. Kinahanglan namong mohimo og dugang nga lakang ug i-configure kini aron dili lang makamatikod apan makapugong usab sa kadudahan nga kalihokan.

Kopyaha, ang default ModSecurity configuration file - modsecurity.conf-recommended - ngadto sa usa ka bag-ong file nga gihatag sa sugo sa ubos.

$ sudo cp /etc/modsecurity/modsecurity.conf-recommended /etc/modsecurity/modsecurity.conf

Gamit ang imong gusto nga text editor, ablihi ang file

$ sudo nano /etc/modsecurity/modsecurity.conf

Pangitaa ang linya:

SecRuleEngine DetectionOnly

Ibutang kini sa:

SecRuleEngine On

I-save ang mga pagbag-o ug paggawas sa file.

Aron magamit ang mga pagbag-o sa Apache, i-restart ang webserver.

$ sudo systemctl restart apache2

Lakang 3: I-download ang OWASP ModSecurity Core Ruleset

Ang sunod nga lakang mao ang pag-download sa pinakabag-o nga OWASP ModSecurity Core Rule Set (CRS) gikan sa GitHub page.

I-clone ang OWASP git repository sama sa gipakita.

$ git clone https://github.com/coreruleset/coreruleset.git

Pagdala ngadto sa direktoryo.

$ cd coreruleset/

Siguroha nga ibalhin ang crs-setup.conf.example nga file ngadto sa modsecurity directory ug ilisan kinig crs-setup.conf.

$ sudo mv crs-setup.conf.example /etc/modsecurity/crs-setup.conf

Dugang pa, ibalhin ang direktoryo sa mga lagda sa direktoryo sa modsecurity usab.

$ sudo mv rules/ /etc/modsecurity/

Sunod, usba ang security2.conf file.

$ sudo nano /etc/apache2/mods-enabled/security2.conf

Siguroha nga kini naglangkob sa mosunod nga mga linya.

IncludeOptional /etc/modsecurity/*.conf
Include /etc/modsecurity/rules/*.conf

Dayon i-restart ang Apache aron magpadayon ang mga pagbag-o.

$ sudo systemctl restart apache2

Atong sulayan karon ang atong ModSecurity configuration.

Lakang 4: Pagsulay sa ModSecurity Configuration sa Ubuntu

Katapusan, kinahanglan natong sulayan nga ang ModSecurity makamatikod ug makababag sa kadudahan nga trapiko sa HTTP. Aron makab-ot kini, kinahanglan natong usbon ang default virtual host file.

$ sudo nano /etc/apache2/sites-available/000-default.conf

Sunod, maghimo kami usa ka lagda sa pag-block nga makapugong sa pag-access sa usa ka piho nga URL kung ma-access sa usa ka web browser.

Idugang kini nga mga linya sa katapusan sa wala pa ang 'Virtualhost' panapos nga tag.

SecRuleEngine On
SecRule ARGS:testparam "@contains test" "id:254,deny,status:403,msg:'Test Successful'"

Mobati nga gawasnon nga ibutang ang 'id' ug 'msg' nga mga tag sa bisan unsang gusto nga mga kantidad.

Dayon i-restart ang Apache webserver aron magamit ang mga pagbag-o nga gihimo sa virtual host configuration file.

$ sudo systemctl restart apache2

Sa imong web browser, sulayi pagbisita ang URL nga gipakita nga adunay ?testparam=test sa katapusan.

http://server-ip/?testparam=test

Nakakuha ka og '403 Forbidden error' nga nagpaila nga gibabagan ka sa pag-access sa kapanguhaan.

Mahimo nimong kumpirmahon nga ang kliyente gibabagan pinaagi sa pagsusi sa mga error log sama sa mosunod.

$ cat /var/log/apache2/error.log | grep “Test Successful”

[Mahimo usab nimo gusto: Giunsa Pag-install ang ModSecurity alang sa Nginx sa Debian/Ubuntu]

Kini ang kumpirmasyon nga malampuson namong na-set up ang ModSecurity aron makit-an ug babagan ang dili gusto nga trapiko. Niini nga giya, kami naglakaw kanimo sa proseso sa pag-set up sa ModSecurity uban sa Apache sa mga sistema sa Debian/Ubuntu.