Pereiti prie pagrindinio turinio

ModSecurity diegimas VPS serveryje

Atnaujinta prieš daugiau kaip 3 sav.

Šioje pamokoje pateikiame instrukcijas papildomam svetainių apsaugojimui nuo įvairių žalingų užklausų ar kitų panašaus tipo atakų. Tam serveryje galima įdiegti "ModSecurity" - tai yra atviro kodo ugniasienė (WAF), kuri filtruoja HTTP srautą ir blokuoja tipines atakas prieš svetaines ar kitas web aplikacijas (pvz., apsauga nuo SQL injekcijų, XSS, Brute-force, botų ir pan. atakų).

Pamoka pritaikyta Linux serveriams, kuriuose veikia "AlmaLinux", "Rocky Linux" arba "Ubuntu" ar "Debian" operacinės sistemos (OS).

Preliminarūs reikalavimai

  • Turi būti įdiegtas Apache web serveris;

  • Domenas turi būti nukreiptas į serverį;

  • 80 ir 443 prievadai turi būti atidaryti.

I. Diegimas – Ubuntu OS, Debian OS

1. Įdiekite Apache ir ModSecurity

apt update
apt install apache2 libapache2-mod-security2 git -y

2. Aktyvuokite ModSecurity modulį

a2enmod security2

Patikrinkite:

apache2ctl -M | grep security

Turite matyti:

security2_module (shared)

3. Aktyvuokite pagrindinę konfigūraciją

mv /etc/modsecurity/modsecurity.conf-recommended /etc/modsecurity/modsecurity.conf

Atidarykite:

nano /etc/modsecurity/modsecurity.conf

Raskite:

SecRuleEngine DetectionOnly

Pakeiskite į:

SecRuleEngine On

Išsaugokite.

4. Įdiekite OWASP Core Rule Set

(tai yra saugumo taisyklių rinkinys ModSecurity sistemai)

cd /etc/modsecurity
git clone https://github.com/coreruleset/coreruleset.git
cp coreruleset/crs-setup.conf.example coreruleset/crs-setup.conf

5. Prijunkite CRS taisykles

Atidarykite:

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

Įsitikinkite, kad yra:

IncludeOptional /etc/modsecurity/*.conf

Po šia eilute pridėkite:

IncludeOptional /etc/modsecurity/coreruleset/crs-setup.conf
IncludeOptional /etc/modsecurity/coreruleset/rules/*.conf

Išsaugokite.

6. Patikrinkite konfigūraciją ir perkraukite Apache

apache2ctl -t

Jeigu rodo Syntax OK:

systemctl restart apache2

II. Diegimas - AlmaLinux OS, Rocky Linux OS

1. Įdiekite Apache ir mod_security

dnf install httpd mod_security git -y

Įjunkite Apache:

systemctl enable --now httpd

Patikrinkite modulį:

httpd -M | grep security

Turite matyti:

security2_module (shared)

2. Įjunkite ModSecurity

Atidarykite:

nano /etc/httpd/conf.d/mod_security.conf

Raskite:

SecRuleEngine DetectionOnly

Pakeiskite į:

SecRuleEngine On

Išsaugokite.

3. Įdiekite OWASP CRS

(tai yra saugumo taisyklių rinkinys ModSecurity sistemai)

cd /etc/httpd
git clone https://github.com/coreruleset/coreruleset.git modsecurity-crs
cp modsecurity-crs/crs-setup.conf.example modsecurity-crs/crs-setup.conf

4. Prijunkite taisykles prie Apache

Atidarykite:

nano /etc/httpd/conf/httpd.conf

Failo pabaigoje pridėkite:

IncludeOptional /etc/httpd/modsecurity-crs/crs-setup.conf
IncludeOptional /etc/httpd/modsecurity-crs/rules/*.conf

Išsaugokite.

5. Patikrinkite konfigūraciją ir perkraukite

httpd -t

Jeigu rodo Syntax OK, perkraukite HTTP tarnybą:

systemctl restart httpd

Automatinė apsauga (rekomenduojama)

Pirmą kartą rekomenduojama naudoti:

SecRuleEngine DetectionOnly

Išrašų stebėjimui:

Ubuntu OS, Debian OS:

tail -f /var/log/apache2/error.log

AlmaLinux OS, Rocky Linux OS:

tail -f /var/log/httpd/error_log

Kai įsitikinsite, kad nėra klaidingų blokavimų, pakeiskite į:

SecRuleEngine On

Ar gavote atsakymą į savo klausimą?