Š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
