Pereiti prie pagrindinio turinio

ModSecurity diegimas VPS serveryje

Atnaujinta šią savaitę

Š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ą?