Erinevus lehekülje "Modsecurity" redaktsioonide vahel
| 48. rida: | 48. rida: | ||
SecFilterDebugLog /var/log/apache2/modsec_debug.log | SecFilterDebugLog /var/log/apache2/modsec_debug.log | ||
| − | # lokaalne exclude list | + | # lokaalne exclude list, ehk siis tühistame mõningad liiga karmid reeglid (süntaks toodud allpool) |
Include /etc/apache2/modsecurity/exclude.conf | Include /etc/apache2/modsecurity/exclude.conf | ||
| − | # Gotroot.com'i reeglid | + | # Gotroot.com'i http://www.gotroot.com/ reeglid |
| − | |||
# exclude list | # exclude list | ||
Include /etc/apache2/modsecurity/gotroot_exclude.conf | Include /etc/apache2/modsecurity/gotroot_exclude.conf | ||
| − | |||
# application protection | # application protection | ||
Include /etc/apache2/modsecurity/rules.conf | Include /etc/apache2/modsecurity/rules.conf | ||
| − | |||
#rootkits | #rootkits | ||
Include /etc/apache2/modsecurity/rootkits.conf | Include /etc/apache2/modsecurity/rootkits.conf | ||
Redaktsioon: 30. september 2010, kell 11:54
ModSecurity
On Apache jaoks kirutatud IDS/IPS lahendus mis võimaldab päringuid reeglite alusel filtreerida ning ebasoovitavate ja eelnevalt defineeritud mustrite esimise korral blokeerida
Install ja seadistus
TODO
modsecurity.conf
#LoadModule security_module modules/mod_security.so
#AddModule mod_security.c
<IfModule mod_security.c>
# Enable ModSecurity
SecFilterEngine On
# Reject requests with status 403
SecFilterDefaultAction "deny,log,status:403"
# Some sane defaults
SecFilterScanPOST On
SecFilterCheckURLEncoding On
SecFilterCheckUnicodeEncoding Off
# Accept almost all byte values
SecFilterForceByteRange 1 255
# Server masking is optional
# SecServerSignature "Microsoft-IIS/5.0"
# Designate a directory for temporary files
# storage. It is a good idea to change the
# value below to a private directory, just as
# an additional measure against race conditions
SecUploadDir /tmp
SecUploadKeepFiles Off
# Only record the interesting stuff
SecAuditEngine RelevantOnly
# Uncomment below to record responses with unusual statuses
# SecAuditLogRelevantStatus ^5
SecAuditLog /var/log/apache2/modsec_audit.log
# You normally won't need debug logging
SecFilterDebugLevel 0
SecFilterDebugLog /var/log/apache2/modsec_debug.log
# lokaalne exclude list, ehk siis tühistame mõningad liiga karmid reeglid (süntaks toodud allpool)
Include /etc/apache2/modsecurity/exclude.conf
# Gotroot.com'i http://www.gotroot.com/ reeglid
# exclude list
Include /etc/apache2/modsecurity/gotroot_exclude.conf
# application protection
Include /etc/apache2/modsecurity/rules.conf
#rootkits
Include /etc/apache2/modsecurity/rootkits.conf
</IfModule>
modsecurity/exclude.conf
<Directory /www/html> SecFilterRemove 300018 </Directory> <Directory /lasteaed/www/html> SecFilterRemove 300018 </Directory> <Directory /muistne/www/html/> SecFilterRemove 300018 </Directory>
Märkmeid kasutamisest
rakendamisel viskas praeguse (normaalse) koormuse juures loadi 20-le. Siis kommenteerisin välja suure hulga reegleid, mis spämmisaatmise vastu võitlevad (regexpi kontrollid) ja load jäi 1 ja 1.5 kanti.
Ilmselt on mõistlik badips.conf fail küljes hoida, et vähendada DDoSi võimalust pisutki, põhireeglid rules.conf kah ilmselt mõistlik. Hetkel küljes ka rootkits.conf, mis peaks tõkestama kõiksugu failide includemised jmt.
/var/log/httpd/modsec_audit.log failist saab jälgida, kelle ta ära blokib. Tundub, et üsna hoogsalt üritatakse mingit spämmi vms edastada.
Apache 1.3 puhul tasub mod_security kompileerida libpcre abil ja panin apache libpcre sisse laadima - nii ei kasutata enam apache 1.3 seesmist regexi mootorit mis on pcre-st kordades aeglasem.
Ühtlasi jätsin alles reeglid: rules.conf ja rootkits.conf (badips oli 7000 rida IP numbreid, mida võiks põhimõtteliselt tulemüüri või kuhugi toppida ja ei pea apache regexides kasutama).
Seejärel on masina load 0.4 - 0.8 kandis püsinud. Ehk võib siis käima jätta niimoodi.
PS. Kui keegi kurdab, et tal asjad ei tööta, siis tuleks auditi logist uurida ja vajadusel /etc/apache/modsecurity/exclude.conf-is sealsete näidete alusel vastavad ID-d välja lülitada (per LocationMatch või Directory vms).
Reegleid saab mõne veebi piires keelata ka näiteks .htaccess fail sisuga
SecFilterEngine Off SecFilterScanPOST Off