ModSecurity un OWASP operētājsistēmās CentOS 6 un Apache 2

ModSecurity ir tīmekļa lietojumprogrammu slāņa ugunsmūris, kas paredzēts darbam ar IIS, Apache2 un Nginx. Tā ir bezmaksas atvērtā pirmkoda programmatūra, kas izdota saskaņā ar Apache licenci 2.0. ModSecurity palīdz aizsargāt jūsu tīmekļa serveri, uzraugot un analizējot jūsu vietnes trafiku. Tas tiek darīts reāllaikā, lai noteiktu un bloķētu uzbrukumus no vairuma zināmo izlietojumu, izmantojot regulārās izteiksmes. ModSecurity pati par sevi nodrošina ierobežotu aizsardzību un paļaujas uz noteikumu kopumiem, lai palielinātu aizsardzību.

Open Web Application Security Project (OWASP) pamatnoteikumu kopa (CRS) ir vispārīgu uzbrukumu noteikšanas noteikumu kopa, kas nodrošina pamata aizsardzības līmeni jebkurai tīmekļa lietojumprogrammai. Noteikumu kopa ir bezmaksas, atvērtā koda, un to pašlaik sponsorē Spider Labs.

OWASP CRS nodrošina:

  • HTTP aizsardzība - HTTP protokola un lokāli noteiktas lietošanas politikas pārkāpumu noteikšana.
  • Melnā saraksta meklēšana reāllaikā — izmanto trešās puses IP reputāciju.
  • HTTP pakalpojuma atteikuma aizsardzība — aizsardzība pret HTTP plūdiem un lēniem HTTP DoS uzbrukumiem.
  • Aizsardzība pret parastajiem tīmekļa uzbrukumiem — izplatītu tīmekļa lietojumprogrammu drošības uzbrukumu noteikšana.
  • Automatizācijas noteikšana — robotu, rāpuļprogrammu, skeneru un citu virspusēju ļaunprātīgu darbību noteikšana.
  • Integrācija ar AV skenēšanu failu augšupielādēm — nosaka ļaunprātīgus failus, kas augšupielādēti, izmantojot tīmekļa lietojumprogrammu.
  • Sensitīvu datu izsekošana — izseko kredītkaršu lietojumu un bloķē noplūdes.
  • Trojas zirgu aizsardzība — nosaka Trojas zirgus.
  • Lietojumprogrammu defektu identificēšana — brīdinājumi par lietojumprogrammas nepareizu konfigurāciju.
  • Kļūdu noteikšana un slēpšana — servera nosūtīto kļūdu ziņojumu maskēšana.

Uzstādīšana

Šajā rokasgrāmatā ir parādīts, kā instalēt ModSecurity un OWASP kārtulu operētājsistēmā CentOS 6, kurā darbojas Apache 2.

Pirmkārt, jums ir jāpārliecinās, ka jūsu sistēma ir atjaunināta.

 yum -y update

Ja neesat instalējis Apache 2, instalējiet to tūlīt.

 yum -y install httpd

Tagad jums ir jāinstalē dažas atkarības, lai ModSecurity darbotos. Atkarībā no servera konfigurācijas dažas vai visas šīs pakotnes jau var būt instalētas. Yum instalēs pakotnes, kuru jums nav, un informēs jūs, ja kāda no pakotnēm jau ir instalēta.

 yum -y install httpd-devel git gcc make libxml2 pcre-devel libxml2-devel curl-devel

Mainiet direktoriju un lejupielādējiet avota kodu no ModSecuity vietnes. Pašreizējā stabilā versija ir 2.8.

 cd /opt/
 wget https://www.modsecurity.org/tarball/2.8.0/modsecurity-2.8.0.tar.gz

Izvelciet paketi un pārejiet uz tās direktoriju.

 tar xzfv modsecurity-2.8.0.tar.gz 
 cd modsecurity-2.8.0

Konfigurējiet un kompilējiet avota kodu.

 ./configure
 make
 make install

Kopējiet noklusējuma ModSecurity konfigurācijas un unikoda kartēšanas failu Apache direktorijā.

 cp modsecurity.conf-recommended /etc/httpd/conf.d/modsecurity.conf
 cp unicode.mapping /etc/httpd/conf.d/

Konfigurējiet Apache, lai izmantotu ModSecurity. Ir 2 veidi, kā to izdarīt.

 echo LoadModule security2_module modules/mod_security2.so >> /etc/httpd/conf/httpd.conf

... vai izmantojiet teksta redaktoru, piemēram, nano:

 nano /etc/httpd/conf/httpd.conf

Faila apakšā atsevišķā rindā pievienojiet šo:

 LoadModule security2_module modules/mod_security2.so

Tagad varat palaist Apache un konfigurēt to palaišanai sāknēšanas laikā.

 service httpd start
 chkconfig httpd on

Ja pirms šīs rokasgrāmatas lietošanas instalējāt Apache, jums tas vienkārši jārestartē.

 service httpd restart

Tagad varat lejupielādēt OWASP pamatnoteikumu kopu.

 cd /etc/httpd
 git clone https://github.com/SpiderLabs/owasp-modsecurity-crs.git

Tagad konfigurējiet OWASP kārtulu kopu.

 cd modsecurity-crs
 cp modsecurity_crs_10_setup.conf.example modsecurity_crs_10_config.conf

Pēc tam kārtulu kopa jāpievieno Apache konfigurācijai. Atkal mēs to varam izdarīt divos veidos.

 echo Include modsecurity-crs/modsecurity_crs_10_config.conf >> /etc/httpd/conf/httpd.conf
 echo Include modsecurity-crs/base_rules/*.conf >> /etc/httpd/conf/httpd.conf

... vai ar teksta redaktoru:

 nano /etc/httpd/conf/httpd.conf

Faila apakšā atsevišķās rindās pievienojiet šo:

 Include modsecurity-crs/modsecurity_crs_10_config.conf
 Include modsecurity-crs/base_rules/*.conf

Tagad restartējiet Apache.

 service httpd restart

Visbeidzot, izdzēsiet instalācijas failus.

 yum erase /opt/modsecurity-2.8.0
 yum erase /opt/modsecurity-2.8.0.tar.gz

Izmantojot ModSecurity

Pēc noklusējuma ModSecurity darbojas tikai noteikšanas režīmā, kas nozīmē, ka tā reģistrēs visus noteikumu pārtraukumus, bet neveiks nekādas darbības. Tas ir ieteicams jaunām instalācijām, lai jūs varētu skatīties notikumus, kas ģenerēti Apache kļūdu žurnālā. Pēc žurnāla pārskatīšanas varat izlemt, vai pirms pārejas uz aizsardzības režīmu ir jāveic kārtulu kopas izmaiņas vai kārtulas atspējošana (skatiet tālāk).

Lai skatītu Apache kļūdu žurnālu:

 cat /var/log/httpd/error_log

ModSecurity rinda Apache kļūdu žurnālā ir sadalīta deviņos elementos. Katrs elements sniedz informāciju par to, kāpēc notikums tika aktivizēts.

  • Pirmajā daļā ir norādīts, kurš kārtulas fails aktivizēja šo notikumu.
  • Otrajā daļā ir norādīts, kurā kārtulas faila rindiņā sākas noteikums.
  • Trešais elements norāda, kurš noteikums tika aktivizēts.
  • Ceturtais elements norāda noteikuma pārskatīšanu.
  • Piektais elements satur īpašus datus atkļūdošanas nolūkos.
  • Sestais elements nosaka šī notikuma smaguma reģistrēšanas nopietnību.
  • Septītajā sadaļā ir aprakstīta darbība un kādā fāzē tā notika.

Ņemiet vērā, ka daži elementi var nebūt pieejami atkarībā no jūsu servera konfigurācijas.

Lai mainītu ModSecurity uz aizsardzības režīmu, teksta redaktorā atveriet conf failu:

 nano /etc/httpd/conf.d/modsecurity.conf

... un mainīt:

 SecRuleEngine DetectionOnly

uz:

 SecRuleEngine On

Ja, darbojoties ModSecurity, rodas bloķējumi, jums ir jāidentificē noteikums HTTP kļūdu žurnālā. Komanda "aste" ļauj skatīties žurnālus reāllaikā:

 tail -f /var/log/httpd/error_log

Skatoties žurnālu, atkārtojiet darbību, kas izraisīja bloķēšanu.

Kārtulu kopas modificēšana/kārtulas ID atspējošana

Noteikumu kopas modificēšana neietilpst šīs apmācības ietvaros.

Lai atspējotu noteiktu kārtulu, jums ir jānorāda kārtulas ID, kas atrodas trešajā elementā (piemēram, [id=200000]), un pēc tam tas jāatspējo Apache konfigurācijas failā:

 nano /etc/httpd/conf/httpd.conf

... pievienojot tālāk norādīto faila apakšdaļā ar kārtulas ID:

<IfModule mod_security2.c>
SecRuleRemoveById 200000
</IfModule>

Ja konstatējat, ka ModSecurity bloķē visas darbības jūsu vietnē(-ēs), iespējams, "Pamatnoteikumu kopa" ir režīmā "Self-Contained". Tas ir jāmaina uz “Sadarbības noteikšana”, kas nosaka un bloķē tikai anomālijas. Tajā pašā laikā varat apskatīt opcijas "Patstāvīgs" un mainīt tās, ja vēlaties to darīt.

 nano /etc/httpd/modsecurity-crs/modsecurity_crs_10_config.conf

Mainiet "atklāšanu" uz "Patstāvīgs".

Varat arī konfigurēt ModSecurity, lai atļautu savu IP, izmantojot tīmekļa lietojumprogrammas ugunsmūri (WAF), nereģistrējoties:

 SecRule REMOTE_ADDR "@ipMatch xxx.xxx.xxx.xxx" phase:1,nolog,allow,ctl:ruleEngine=Off

... vai ar mežizstrādi:

 SecRule REMOTE_ADDR "@ipMatch xxx.xxx.xxx.xxx" phase:1,nolog,allow,ctl:ruleEngine=DetectionOnly

Atstājiet komentāru

Mašīnu pieaugums: AI reālās pasaules lietojumi

Mašīnu pieaugums: AI reālās pasaules lietojumi

Mākslīgais intelekts nav nākotnē, tas ir šeit, tagadnē. Šajā emuārā lasiet, kā mākslīgā intelekta lietojumprogrammas ir ietekmējušas dažādas nozares.

DDOS uzbrukumi: īss pārskats

DDOS uzbrukumi: īss pārskats

Vai arī jūs esat DDOS uzbrukumu upuris un esat neizpratnē par profilakses metodēm? Izlasiet šo rakstu, lai atrisinātu savus jautājumus.

Vai esat kādreiz domājis, kā hakeri pelna naudu?

Vai esat kādreiz domājis, kā hakeri pelna naudu?

Iespējams, esat dzirdējuši, ka hakeri pelna daudz naudas, bet vai esat kādreiz domājuši, kā viņi nopelna šādu naudu? pārrunāsim.

Google revolucionāri izgudrojumi, kas atvieglos jūsu dzīvi.

Google revolucionāri izgudrojumi, kas atvieglos jūsu dzīvi.

Vai vēlaties redzēt revolucionārus Google izgudrojumus un to, kā šie izgudrojumi mainīja katra cilvēka dzīvi mūsdienās? Pēc tam lasiet emuārā, lai redzētu Google izgudrojumus.

Piektdiena: kas notika ar AI vadītām automašīnām?

Piektdiena: kas notika ar AI vadītām automašīnām?

Pašpiedziņas automobiļu koncepcija izbraukt uz ceļiem ar mākslīgā intelekta palīdzību ir mūsu sapnis jau kādu laiku. Bet, neskatoties uz vairākiem solījumiem, tie nekur nav redzami. Lasiet šo emuāru, lai uzzinātu vairāk…

Tehnoloģiskā singularitāte: cilvēces civilizācijas tāla nākotne?

Tehnoloģiskā singularitāte: cilvēces civilizācijas tāla nākotne?

Zinātnei strauji attīstoties, pārņemot lielu daļu mūsu pūļu, palielinās arī risks pakļaut sevi neizskaidrojamai singularitātei. Izlasiet, ko singularitāte varētu nozīmēt mums.

Lielo datu atsauces arhitektūras slāņu funkcijas

Lielo datu atsauces arhitektūras slāņu funkcijas

Lasiet emuāru, lai vienkāršākā veidā uzzinātu dažādus lielo datu arhitektūras slāņus un to funkcijas.

Datu glabāšanas evolūcija – infografika

Datu glabāšanas evolūcija – infografika

Datu uzglabāšanas metodes ir attīstījušās kopš datu dzimšanas. Šajā emuārā ir aprakstīta datu uzglabāšanas attīstība, pamatojoties uz infografiku.

6 brīnišķīgas priekšrocības, ko sniedz viedo mājas ierīču izmantošana mūsu dzīvē

6 brīnišķīgas priekšrocības, ko sniedz viedo mājas ierīču izmantošana mūsu dzīvē

Šajā digitālajā pasaulē viedās mājas ierīces ir kļuvušas par būtisku dzīves sastāvdaļu. Šeit ir daži pārsteidzoši viedo mājas ierīču ieguvumi, lai padarītu mūsu dzīvi dzīves vērtu un vienkāršāku.

MacOS Catalina 10.15.4 papildinājuma atjauninājums rada vairāk problēmu nekā to risināšana

MacOS Catalina 10.15.4 papildinājuma atjauninājums rada vairāk problēmu nekā to risināšana

Nesen Apple izlaida macOS Catalina 10.15.4 papildinājuma atjauninājumu, lai novērstu problēmas, taču šķiet, ka atjauninājums rada vairāk problēmu, kas izraisa Mac datoru bloķēšanu. Izlasiet šo rakstu, lai uzzinātu vairāk