рдХрдИ рд▓реЛрдЧреЛрдВ рдиреЗ HTTP рдмрд╛рдврд╝ рдкрджреНрдзрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ DDoS рд╣рдорд▓реЗ рдХреЗ рд░реВрдк рдореЗрдВ рдЗрд╕ рддрд░рд╣ рдХреА рдШрдЯрдирд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд┐рдпрд╛ рд╣реИред рдирд╣реАрдВ, рдпрд╣ nginx рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдкрд░ рдПрдХ рдФрд░ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдирд╣реАрдВ рд╣реИ, рдореИрдВ рдЕрдкрдиреЗ рдореЙрдбреНрдпреВрд▓ рдХреЛ рдкреЗрд╢ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдЬреЛ L7 DDoS рд╣рдорд▓реЛрдВ рдХреЗ рджреМрд░рд╛рди рдмреЙрдЯ рдФрд░ рдмреИрдХрдПрдВрдб рдХреЗ рдмреАрдЪ рддреНрд╡рд░рд┐рдд рдлрд╝рд┐рд▓реНрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЖрдкрдХреЛ рдЬрдВрдХ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
рдореЙрдбреНрдпреВрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
- рдХреБрдХреА-рдХреБрдХреА HTTP рд╣реЗрдбрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХреБрдХреАрдЬрд╝ рдХреЛ рдорд╛рдирдХ рддрд░реАрдХреЗ рд╕реЗ рд╕реЗрдЯ рдХрд░реЗрдВред рдХреБрдХреАрдЬрд╝ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЛрдб 301 рдФрд░ рд╕реНрдерд╛рди рд╣реЗрдбрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ (рдкреНрд░рд╛рдкреНрдд рдХреБрдХреАрдЬрд╝ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП) рд░реАрдбрд╛рдпрд░реЗрдХреНрдЯ рдХрд░реЗрдВ
- рдХреБрдХреАрдЬрд╝ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рд░реАрдбрд╛рдпрд░реЗрдХреНрдЯ рдХреЛрдб 200 рдФрд░ рдПрдЪрдЯреАрдПрдордПрд▓ рдореЗрдЯрд╛ рдЯреИрдЧ тАЬрдирдпрд╛тАЭ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ (рд╣рдореЗрдВ рдкреНрд░рд╛рдкреНрдд рдХреБрдХреАрдЬрд╝ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд░реЗрдВ) рдХрд░реЗрдВред
- рдХреБрдХреАрдЬрд╝ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рдкреНрд░рдпрд╛рд╕реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреА рдЧрдгрдирд╛ рдХрд░реЗрдВ рдФрд░ рдЕрд╕рдлрд▓ рдкреНрд░рдпрд╛рд╕реЛрдВ рдХреА рдЕрдзрд┐рдХрддрдо рд╕рдВрдЦреНрдпрд╛ рд╕реЗ рдЕрдзрд┐рдХ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ URL рдкрд░ рднреЗрдЬреЗрдВ
- рдлрд╝рд┐рд▓реНрдЯрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдХрд╕реНрдЯрдо рдЯреЗрдореНрдкрд▓реЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рдЬрд┐рд╕рдореЗрдВ рдЖрдк рдХреБрдЫ рднреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХреБрдХреАрдЬрд╝ рд╕реЗрдЯ рдХрд░реЗрдВ)
- рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рдЙрджреНрджреЗрд╢реНрдп рд╕реЗ рдЙрддреНрддрд░ рдХреЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдкрд╛рд░реНрд╕рд┐рдВрдЧ рдХреЛ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП, рдЧреНрд░рд╛рд╣рдХ рдкрдХреНрд╖ рдкрд░ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЖрдЧреЗ рдбрд┐рдХреНрд░рд┐рдкреНрд╢рди рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдордорд┐рдд рдХреНрд░рд┐рдкреНрдЯреЛ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЗ рд╕рд╛рде рдЯреЗрдореНрдкрд▓реЗрдЯ рдореЗрдВ рдЪрд░ рдХреЗ рдореВрд▓реНрдп рдХреЛ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯ рдХрд░реЗрдВ ( рд╕реНрд▓реЛрдЕрд╡реЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ )
- рд╢реНрд╡реЗрддрд╕реВрдЪреА рдХреЗ рд╕реЗрдЯ рдиреЗрдЯрд╡рд░реНрдХ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╡реЗ рдиреЗрдЯрд╡рд░реНрдХ рдЬрд┐рдирдореЗрдВ рдЦреЛрдЬ рд░реЛрдмреЛрдЯ рд░рд╣рддреЗ рд╣реИрдВ)
- DoS рд╣рдорд▓реЗ рдХреЗ рджреМрд░рд╛рди рдЙрдкрдпреЛрдЧреА рдХреБрдЫ рдЫреЛрдЯреЗ рдЯреБрдХрдбрд╝реЗред
рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реИ
- рдореЙрдбреНрдпреВрд▓ рдХреЗрд╡рд▓ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЙрддреНрддрд░ рджреЗрддрд╛ рд╣реИ, рдЖрдкрдХреЛ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рдмреНрд▓реЙрдХ рдХрд░рдиреЗ рдкрд░ рдирд┐рд░реНрдгрдп рд▓реЗрдирд╛ рдЪрд╛рд╣рд┐рдП (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╡рд┐рдлрд▓рддрд╛ 2ban рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ) рд╕реНрд╡рдпрдВ
- рдХреЛрдИ рдХрд╣реЗрдЧрд╛ - "рдореИрдВ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЕрдиреБрдХрд░рдг рдХрд░рддрд╛ рд╣реВрдВ", рд▓реЗрдХрд┐рди рд╣рдо рдпрдерд╛рд░реНрдерд╡рд╛рджреА рдмрдиреЗрдВ - DoS рдЕрдХреНрд╕рд░ рдкреВрд░реНрдг рдЕрдиреБрдХрд░рдг рдХреЗ рд╕рд╛рде рдмреЙрдЯреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ?
рдЙрдиреНрд╣реЗрдВ рдореЗрд░реЗ рдкрд╛рд╕ рднреЗрдЬреЛ, рд╣рдо рдмрд┐рдЯрдХреЙрдЗрди рдорд╛рдЗрди рдХрд░реЗрдВрдЧреЗ - рдХреИрдкреНрдЪрд╛ рдФрд░ рдлреНрд▓реИрд╢ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ рдХреБрдЫ рднреА рдирд╣реАрдВ рд╣реИ - рдпрджрд┐ рдЖрдкрдХреЛ рдЬрд╝рд░реВрд░рдд рд╣реИ, рддреЛ рдЖрдк рдЙрдиреНрд╣реЗрдВ рд╕реНрд╡рдпрдВ рдкреЗрдВрдЪ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЖрдкрдХреЛ рдмрд╕ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рддреЗ рд╕рдордп рдХрд▓реНрдкрдирд╛ рджрд┐рдЦрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ
- рдпрд╣ рдореЙрдбреНрдпреВрд▓ рдПрдХ рд░рд╛рдордмрд╛рдг рдирд╣реАрдВ рд╣реИ - рдпрд╣ рд╕реБрд░рдХреНрд╖рд╛рддреНрдордХ рдЙрдкрд╛рдпреЛрдВ рдХреЗ рдПрдХ рд╕реЗрдЯ рдореЗрдВ рд╕рд┐рд░реНрдл рдПрдХ рдЫреЛрдЯрд╛ рдШрдЯрдХ рд╣реИ, рдПрдХ рдЙрдкрдХрд░рдг рдЬреЛ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рдкрд░ рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИред
рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ
рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдмрд╛рд░, HTTP рдмрд╛рдврд╝ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдмреЙрдЯ рдмрд╣реБрдд рдЧреВрдВрдЧреЗ рд╣реЛрддреЗ рд╣реИрдВ рдФрд░ HTTP рдХреБрдХреА рдФрд░ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рди рддрдВрддреНрд░ рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВред рдХрднреА-рдХрднреА рдЕрдзрд┐рдХ рдЙрдиреНрдирдд рд╡реНрдпрдХреНрддрд┐ рд╕рд╛рдордиреЗ рдЖрддреЗ рд╣реИрдВ - рдпреЗ рдХреБрдХреАрдЬрд╝ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рди рдХреЛ рд╕рдВрднрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд▓рдЧрднрдЧ рдХрднреА рднреА рдбреАрдУрдПрд╕ рдмреЙрдЯ рдкреВрд░реНрдг-рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЗрдВрдЬрди рдирд╣реАрдВ рд▓реЗ рдЬрд╛рддрд╛ рд╣реИред
рдпрд╣ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдлрд╝рд┐рд▓реНрдЯрд░ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдиреАрдЪреЗ рд╣рдорд▓реЗ рдХреЗ рдкрд░рд┐рджреГрд╢реНрдп рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдХреНрд▓рд╛рдЗрдВрдЯ-рд╕рд░реНрд╡рд░ рд╕рдВрдЪрд╛рд░ рдХрд╛ рдкреНрд░рд╡рд╛рд╣ рд╣реИред
- рдмреЙрдЯреНрд╕ рд░реАрдбрд╛рдпрд░реЗрдХреНрдЯ рдФрд░ рдХреБрдХреАрдЬрд╝ рдХреЛ рдирд╣реАрдВ рд╕рдордЭрддреЗ рд╣реИрдВ

- рдмреЙрдЯ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢ рдФрд░ рдХреБрдХреАрдЬрд╝ рдХреЛ рд╕рдордЭрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдирд╣реАрдВ рдЬрд╛рдирддреЗ рд╣реИрдВ

рдмреБрдирд┐рдпрд╛рджреА рд╣рдорд▓реЗ рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдЙрджрд╛рд╣рд░рдг
- рдмреЙрдЯреНрд╕ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢ рдФрд░ рдХреБрдХреАрдЬрд╝ (рд╡рд┐рд╢рд┐рд╖реНрдЯ рдорд╛рдорд▓реЗ) рдХреЛ рдирд╣реАрдВ рд╕рдордЭрддреЗ рд╣реИрдВ
server { listen 80; server_name domain.com; testcookie off; testcookie_name BPC; testcookie_secret keepmescret; testcookie_session $remote_addr; testcookie_arg attempt; testcookie_max_attempts 3; testcookie_fallback /cookies.html?backurl=http://$host$request_uri; testcookie_get_only on; location = /cookies.html { root /var/www/public_html; } location / { testcookie on; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_pass http://127.0.0.1:8080; } }
- рдмреЙрдЯ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢ рдФрд░ рдХреБрдХреАрдЬрд╝ рдХреЛ рд╕рдордЭрддреЗ рд╣реИрдВ
server { listen 80; server_name domain.com; testcookie off; testcookie_name BPC; testcookie_secret keepmescret; testcookie_session $remote_addr; testcookie_arg attempt; testcookie_max_attempts 3; testcookie_fallback /cookies.html?backurl=http://$host$request_uri; testcookie_get_only on; testcookie_redirect_via_refresh on; testcookie_refresh_template '<html><body><script>document.cookie="BPC=$testcookie_set";document.location.href="$testcookie_nexturl";</script></body></html>'; location = /cookies.html { root /var/www/public_html; } location / { testcookie on; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_pass http://127.0.0.1:8080; } }
- рд╕рдВрд░рдХреНрд╖рд┐рдд URL рд▓реЛрдХрдкреНрд░рд┐рдп рд╕рд╛рдЗрдЯ рдкрд░ iframe рдореЗрдВ рдбрд╛рд▓рд╛ рдЧрдпрд╛
server { listen 80; server_name domain.com; testcookie off; testcookie_name BPC; testcookie_secret keepmescret; testcookie_session $remote_addr; testcookie_arg attempt; testcookie_max_attempts 3; testcookie_fallback /cookies.html?backurl=http://$host$request_uri; testcookie_get_only on; testcookie_redirect_via_refresh on; testcookie_refresh_template '<html><body><script>function bla() { document.cookie="BPC=$testcookie_set";document.location.href="$testcookie_nexturl";}</script><input type="submit" value="click me" onclick="bla();"></body></html>'; location = /cookies.html { root /var/www/public_html; } location / { testcookie on; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_pass http://127.0.0.1:8080; } }
- рдмреЙрдЯреНрд╕ рдиреЗ рд░реАрдЬреЗрдХреНрд╕рдкреА рдХреЗ рдЬрд░рд┐рдП рдХреБрдХреАрдЬрд╝ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рд╕реАрдЦрд╛
server { listen 80; server_name domain.com; testcookie off; testcookie_name BPC; testcookie_secret keepmescret; testcookie_session $remote_addr; testcookie_arg attempt; testcookie_max_attempts 3; testcookie_fallback /cookies.html?backurl=http://$host$request_uri; testcookie_get_only on; testcookie_redirect_via_refresh on; testcookie_refresh_encrypt_cookie on; testcookie_refresh_encrypt_cookie_key random; testcookie_refresh_encrypt_cookie_iv random; testcookie_refresh_template '<html><body>setting cookie...<script type=\"text/javascript\" src=\"/aes.min.js\" ></script><script>function toNumbers(d){var e=[];d.replace(/(..)/g,function(d){e.push(parseInt(d,16))});return e}function toHex(){for(var d=[],d=1==arguments.length&&arguments[0].constructor==Array?arguments[0]:arguments,e="",f=0;f<d.length;f++)e+=(16>d[f]?"0":"")+d[f].toString(16);return e.toLowerCase()}var a=toNumbers("$testcookie_enc_key"),b=toNumbers("$testcookie_enc_iv"),c=toNumbers("$testcookie_enc_set");document.cookie="BPC="+toHex(slowAES.decrypt(c,2,a,b))+"; expires=Thu, 31-Dec-37 23:55:55 GMT; path=/";document.location.href="$testcookie_nexturl";</script></body></html>'; location = /aes.min.js { gzip on; gzip_min_length 1000; gzip_types text/plain; root /var/www/public_html; } location = /cookies.html { root /var/www/public_html; } location / { testcookie on; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_pass http://127.0.0.1:8080; } }
- рдмреЛрдЯреНрд╕ рдиреЗ regexp рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреИрд░рд╛рдореАрдЯрд░ рдЦреАрдВрдЪрдирд╛ рд╕реАрдЦрд╛ рдФрд░ рдХреБрдХреАрдЬрд╝ рдХреЗ рдореВрд▓реНрдп рдХреЛ рдбрд┐рдХреНрд░рд┐рдкреНрдЯ рдХрд┐рдпрд╛ (рдореБрдЭреЗ рд╕рдВрджреЗрд╣ рд╣реИ рдХрд┐ рдХреЛрдИ рдкрд░реЗрд╢рд╛рди рдХрд░реЗрдЧрд╛)
server { listen 80; server_name domain.com; testcookie off; testcookie_name BPC; testcookie_secret keepmescret; testcookie_session $remote_addr; testcookie_arg attempt; testcookie_max_attempts 3; testcookie_fallback /cookies.html?backurl=http://$host$request_uri; testcookie_get_only on; testcookie_redirect_via_refresh on; testcookie_refresh_encrypt_cookie on; testcookie_refresh_encrypt_cookie_key deadbeefdeadbeefdeadbeefdeadbeef;
рд╕реНрд░реЛрдд рдХреЛрдб
рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдирд┐рд░реНрджреЗрд╢реЛрдВ рдФрд░ рдкреНрд░рд▓реЗрдЦрди рдХреЗ рд╕рд╛рде рдПрдХ рдореЙрдбреНрдпреВрд▓ рдмреАрдПрд╕рдбреА рд▓рд╛рдЗрд╕реЗрдВрд╕ рдХреЗ рддрд╣рдд
рдЬреАрдердм рдкрд░ рдЙрдкрд▓рдмреНрдз рд╣реИред
рдкреИрдЪ, рдРрдб-рдСрди, рдкрд░реАрдХреНрд╖рдг рдФрд░ рдмрдЧ рд░рд┐рдкреЛрд░реНрдЯ рдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИред