В продолжении темы о связке Nginx и Apache (начало)
Небольшие советы по защите вашего веб-сервера от разного рода атак:
1) набор настроек: client_body_buffer_size, client_header_buffer_size, client_max_body_size, large_client_header_buffers, client_body_temp_path — посмотрите документацию на nginx.ru и подберите свои значения
2) Защита от DDoS
Нам необходимо защититься от массовых запросов и от массовых подключений! Для этого мы настроем:
- limit_req_zone $binary_remote_addr zone=one:10m rate 64r/s; — количество запросов к странице в секунду (64) + для хранения данных о запросах мы отводим 10 Mb
- limit_zone two $binary_remote_addr 10m; — для хранения данных о подключениях мы отводим 10 Mb
В настройке вашего сервера внесите следующее:
server {
listen xx.xx.xx.xx:80;
server_name domainname.ru *.domainname.ru;
limit_req zone=one burst=196 nodelay;
limit_conn two 12;
..
}
- limit_req задает использование правила для запросов, где 196 — максимальное их число на одно соединение
- limit_conn задает максимальное количество соединений от одного клиента
3) Закрываем сам сервер
server {
listen 80 default rcvbuf=16384 sndbuf=16384 backlog=3200 accept_filter=httpready;
server_name localhost;
deny all;
}
Одно обещаю точно — ресурсов вашего сервера хватит на очень долго 🙂
Продолжение следует..
HTTP, UNIX