Apache рд╡реЗрдм рд╕рд░реНрд╡рд░ рдХреЛ рдзреАрдореЗ рдкрдврд╝рдиреЗ рдХреЗ рд╣рдорд▓реЗ рдХреЗ рд╕рд╛рде-рд╕рд╛рде рдХреБрдЫ рдЕрдиреНрдп рд▓рдХреНрд╖рд┐рдд рд╣рдорд▓реЛрдВ рд╕реЗ рдмрдЪрд╛рддрд╛ рд╣реИ

рдирдорд╕реНрддреЗред
рдореИрдВ Apache рд╡реЗрдм рд╕рд░реНрд╡рд░ рдХреЛ рдзреАрдореЗ рдкрдврд╝рдиреЗ рдХреЗ рд╣рдорд▓реЗ рд╕реЗ рдмрдЪрд╛рдиреЗ рдХреЗ рдЕрдкрдиреЗ рдЕрдиреБрднрд╡ рдХреЛ рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдЗрд╕ рд╣рдорд▓реЗ рдХреЛ рдпрд╣рд╛рдВ (рдЕрдВрдЧреНрд░реЗрдЬреА), рд╕рд╛рде рд╣реА рдпрд╣рд╛рдВ (рд░реВрд╕реА) рдкрдврд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдорд╛рдирд╛ рдЧрдпрд╛ рддрд░реАрдХрд╛ рдЖрдкрдХреЛ рдПрдХреНрд╕рдЯреЗрдВрд╢рди mod_evasive рдФрд░ mod_security рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рд░реНрд╡рд░ рдХреЛ рд╕реБрд░рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдФрд░ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд - рдЗрд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рдЖрдзреЗ рдШрдВрдЯреЗ рд╕реЗ рднреА рдХрдо рд╕рдордп рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди Ubuntu рд╕рдВрд╕реНрдХрд░рдг 12.04 + Apache 2.2 рдкрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рд╡реЗрдм рд╕рд░реНрд╡рд░ рдХреЗ рдЕрдиреНрдп рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП, рд╕рд╛рде рд╣реА рд╕рд╛рде рдЕрдиреНрдп рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд▓рд┐рдП рд╕реЗрдЯрд┐рдВрдЧреНрд╕, рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдкреИрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдореЗрдВ рднрд┐рдиреНрди рд╣реЛрддреА рд╣реИрдВ рдФрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЙрдирдХреЗ рд▓рд┐рдП рд╕реНрдерд╛рдкрд┐рдд рдкреНрд░реЛрдЧреНрд░рд╛рдо рдФрд░ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВред



рдкреИрдХреЗрдЬ рд╕реНрдерд╛рдкрдирд╛
рдЪреВрдВрдХрд┐ рд╕рдВрд░рдХреНрд╖рд┐рдд рд╕рд░реНрд╡рд░ рдЙрдмрдВрдЯреВ рдкрд░ рд╕реНрдерд╛рдкрд┐рдд рд╣реИ, рдЕрдкрд╛рдЪреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдореЙрдбреНрдпреВрд▓ рдХреА рд╕реНрдерд╛рдкрдирд╛ рдПрдХ рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде рдХреА рдЬрд╛рддреА рд╣реИ:
sudo apt-get install libapache2-mod-evasive libapache-mod-security

Mod_evasive рдкреИрдХреЗрдЬ рдПрдкреНрд▓рд┐рдХреЗрд╢рди-рд╕реНрддрд░реАрдп DDOS рдмрд╛рдврд╝ рд╣рдорд▓реЛрдВ рдХреЗ рдЦрд┐рд▓рд╛рдл рд╕реБрд░рдХреНрд╖рд╛ рдкреНрд░рджрд╛рди рдХрд░реЗрдЧрд╛, рдЬрдмрдХрд┐ mod_security рдзреАрдореА рдЧрддрд┐ рд╕реЗ рдкрдврд╝рдиреЗ рдХреЗ рд╣рдорд▓реЛрдВ рд╕рд╣рд┐рдд рд▓рдХреНрд╖рд┐рдд рд╣рдорд▓реЛрдВ рд╕реЗ рд╕реБрд░рдХреНрд╖рд╛ рдкреНрд░рджрд╛рди рдХрд░реЗрдЧрд╛ред

рдЗрд╕рдХреЗ рдореВрд▓ рдореЗрдВ, mod_security рдПрдХ рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдлрд╝рд╛рдпрд░рд╡реЙрд▓ рд╣реИ рдЬреЛ рд╡реЗрдм рд╕рд░реНрд╡рд░ рдХреА рд╕реБрд░рдХреНрд╖рд╛ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ Trustwave рд╕реНрдкрд╛рдЗрдбрд░рд▓реИрдмреНрд╕ рджреНрд╡рд╛рд░рд╛ рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред

Mod_evasive рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛
рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореЙрдбреНрдпреВрд▓ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЕрдкрд╛рдЪреЗ рд▓рд┐рдЦрдиреЗ рдХреЗ рдЕрдзрд┐рдХрд╛рд░реЛрдВ рдХреЗ рд╕рд╛рде рд▓реЙрдЧ рдХреЛ рд╕рд╣реЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдлрд╝реЛрд▓реНрдбрд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА (рдпрд╣ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рд╡реЗрдм рд╕рд░реНрд╡рд░ www-рдбреЗрдЯрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реЗ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ):
sudo mkdir /var/log/mod_evasive
sudo chown www-data:www-data /var/log/mod_evasive/


рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЗ рд╕рд╛рде рдПрдХ рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдПрдБ:
sudo nano /etc/apache2/conf.d/modevasive
<ifmodule mod_evasive20.c>
DOSHashTableSize 3097
DOSPageCount 2
DOSSiteCount 50
DOSPageInterval 1
DOSSiteInterval 1
DOSBlockingPeriod 90
DOSLogDir /var/log/mod_evasive
DOSEmailNotify EMAIL@DOMAIN.com
DOSWhitelist 127.0.0.1
</ifmodule>

рдкрддрд╛ рд▓рдЧрд╛рдП рдЧрдП рд╣рдорд▓реЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдХреЗ рдкрддреЗ рдХреЗ рд╕рд╛рде рдИрдореЗрд▓ рдХреЛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП (рдкрддреНрд░ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рд╕реЗрдВрдбрдореЗрд▓ / рдкреЛрд╕реНрдЯрдлрд┐рдХреНрд╕ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ)ред
рдпрд╣ mod_evasive рдХрд╛ рд╕реЗрдЯрдЕрдк рдкреВрд░рд╛ рдХрд░рддрд╛ рд╣реИред

Mod_security рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛
рдЪреВрдВрдХрд┐ mod_security рдПрдХ рдлрд╝рд╛рдпрд░рд╡реЙрд▓ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рдпрдореЛрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯ рдЪрд╛рд╣рд┐рдПред
рдЖрдк SourceForge рдкрд░ рдкреЗрдЬ рд╕реЗ рдирд┐рдпрдореЛрдВ рдХрд╛ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдбрд╛рдЙрдирд▓реЛрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдирд┐рдпрдореЛрдВ рдХреЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдЕрдкрдбреЗрдЯ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ, рдпрд╣ рдпрд╣рд╛рдВ рдФрд░ рдЕрдзрд┐рдХ рд╡рд┐рд╡рд░рдг рдореЗрдВ рд╡рд░реНрдгрд┐рдд рд╣реИ ред
рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдП рдЧрдП рд╕рдВрдЧреНрд░рд╣ рдореЗрдВ рдЖрдкрдХреЛ рдХрдИ рдлрд╝реЛрд▓реНрдбрд░ рдорд┐рд▓реЗрдВрдЧреЗред рд╣рдо base_rules рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд╕реНрдерд┐рдд рдмреБрдирд┐рдпрд╛рджреА рдирд┐рдпрдореЛрдВ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВред
рдирд┐рдпрдореЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдлрд╝реЛрд▓реНрдбрд░ рдмрдирд╛рдПрдБ, рдЙрдиреНрд╣реЗрдВ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ рдФрд░ рд╕реЛрд░реНрд╕рдлреЙрд░реНрдЬ рд╕реЗ рдЕрдирдЬрд╝рд┐рдкреНрдб рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдХреЙрдкреА рдХрд░реЗрдВред
sudo mkdir /etc/apache2/mod_security_rules
sudo mv base_rules/* /etc/apache2/mod_security_rules
sudo chown -R root:root /etc/apache2/mod_security_rules

рдирд┐рдореНрди рд╕рд╛рдордЧреНрд░рд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде mod_security рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдПрдБ:
sudo nano /etc/apache2/conf.d/modsecurity
<ifmodule mod_security2.c>
Include mod_security_rules/*.conf
SecWriteStateLimit 100
</ifmodule>

рдпрд╣ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рд╣рдорд╛рд░реЗ рджреНрд╡рд╛рд░рд╛ рдХреЙрдкреА рдХрд┐рдП рдЧрдП рдирд┐рдпрдореЛрдВ рдХреЛ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдЧрд╛, рдФрд░ рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣ рдкреНрд░рддреНрдпреЗрдХ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдЖрдИрдкреА рдХреЗ рд▓рд┐рдП рд╕реНрдЯреНрд░реАрдо рдХреА рд╕рдВрдЦреНрдпрд╛ рдкрд░ рдПрдХ рд╕реАрдорд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░реЗрдЧрд╛, рдЬреЛ рдХрд┐ SERVER_BUSY_WRITE рдореЛрдб рдореЗрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЬреЛ рд╕реНрд▓реЛ рд▓реЛрд░рд┐рдХ / SlowHttp рдЬреИрд╕реЗ рд╣рдорд▓реЛрдВ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХреЛ рд░реЛрдХ рджреЗрдЧрд╛ред

рдЙрдмрдВрдЯреВ рдХреЗ 32-рдмрд┐рдЯ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП, рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдпрд╣рд╛рдВ рд╕рдорд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИред
X64 рдореЗрдВ, рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рд░рд╛рд╕реНрддреЛрдВ рдХреЗ рдЕрдВрддрд░ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд modsecurity рдХреЗ рд╕рд╛рде рдПрдХ рдмрдЧ рд╣реЛрддрд╛ рд╣реИ, рдЬреЛ libxml рдХреЛ рдЬреЛрдбрд╝рдиреЗ рд╕реЗ рд░реЛрдХрддрд╛ рд╣реИред рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдкрд╣рд▓реА рдмрд╛рдд рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдирд╛ рд╣реИ рдХрд┐ рдЖрдкрдХрд╛ libxml2.so.2 рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХрд╣рд╛рдВ рд╕реНрдерд┐рдд рд╣реИ:
locate libxml2.so.2
2 рд╡рд┐рдХрд▓реНрдк рд╣реИрдВ: /usr/lib/x86_64-linux-gnu/libxml2.so.2 рдпрд╛ /usr/lib/i386-linux-gnu/libxml2.so.2ред рдЗрд╕рдХреЗ рдмрд╛рдж, рдЖрдкрдХреЛ /etc/apache2/mods-enabled/mod-security.load рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЙрд╕ рдкрде рдХреА рдЬрдЧрд╣ рдЬрд╣рд╛рдВ рдЬреБрдбрд╝рд╛ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдЖрдкрдХреЗ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдкрде рдХреЗ рд╕рд╛рде /usr/lib/libxml2.so.2 рдХреЗ рд╕рд╛рде рд╕реНрдерд┐рдд рд╣реИред

рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдореЙрдбреНрдпреВрд▓ рдЬреБрдбрд╝реЗ рд╣реБрдП рд╣реИрдВ:
sudo a2enmod mod-evasive
sudo a2enmod mod-security

рдФрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрд╛рдЪреЗ рдХреЛ рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рдХрд░реЗрдВ:
service apache2 restart


рдкрд░реАрдХреНрд╖рдг
рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП, рд╣рдо рд╕рдмрд╕реЗ рдзреАрдореА рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдЖрдк рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдкреГрд╖реНрдареЛрдВ рдкрд░ рдЗрд╕рдХреЗ рд╡рд┐рдиреНрдпрд╛рд╕ рдФрд░ рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ рдЪрд▓рд┐рдП рддреБрд░рдВрдд рдЖрд╡реЗрджрди рдкрд░ рдЪрд▓рддреЗ рд╣реИрдВ:
slowhttptest -c 65539 -B -g -o my_server_stats -i 110 -r 200 -s 8192 -t FAKEVERB -u DOMAIN.COM -x 10 -p 3

рдпрджрд┐ рдЖрдк рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рдкрд░ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкрд╛рдВрдЪрд╡реЗрдВ рд╕реЗрдХрдВрдб рдореЗрдВ рд╕рд░реНрд╡рд░ рдЕрдиреБрдкрд▓рдмреНрдз рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ:
Sat Jun 2 16:41:37 2012:slow HTTP test status on 5th second:
initializing: 0
pending: 564
connected: 217
error: 0
closed: 0
service available: NO

рдФрд░ рдпрд╣рд╛рдБ рдореИрдВрдиреЗ рдЕрдкрд╛рдЪреЗ рд▓реЙрдЧ рдореЗрдВ рд▓рд┐рдЦрд╛ рд╣реИ:
tail /var/log/apache2/error.log
[Sat Jun 02 16:41:38 2012] [warn] ModSecurity: Access denied with code 400. Too many threads [101] of 100 allowed in WRITE state from xxx.xxx.xxx.xxx - Possible DoS Consumption Attack [Rejected]


рдЗрд╕ рдкреНрд░рдХрд╛рд░, рд╕рд░реНрд╡рд░ рдЕрдм рдзреАрдореА рдЧрддрд┐ рд╕реЗ рдкрдврд╝реЗ рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рд╣рдорд▓реЗ рдХреЗ рд▓рд┐рдП рдЕрддрд┐рд╕рдВрд╡реЗрджрдирд╢реАрд▓ рдирд╣реАрдВ рд╣реИ рдФрд░ рдЖрдИрдкреА тАЛтАЛрдкрддреЗ рджреНрд╡рд╛рд░рд╛ рдЕрд╕реНрдерд╛рдпреА рд░реВрдк рд╕реЗ рд╣рдорд▓рд╛рд╡рд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдмреНрд▓реЙрдХ рдХрд░рддрд╛ рд╣реИред

рд╕реБрд░рдХреНрд╖рд╛ рдХреЗ рдЗрд╕ рддрд░реАрдХреЗ рдХреЗ рдореБрдЦреНрдп рд▓рд╛рдн: рд╕рд╛рджрдЧреА рдФрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреА рдЧрддрд┐, рдУрдкрдирд╕реЛрд░реНрд╕ рд╕рдорд╛рдзрд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧред
рдПрдХ рдХрдордЬреЛрд░ рдмрд┐рдВрджреБ рдХрдИ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЖрдИрдкреА рдкрддреЗ рд╕реЗ рд╡рд┐рддрд░рд┐рдд рд╣рдорд▓рд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

Source: https://habr.com/ru/post/In145215/


All Articles