Тази статия е огледална статия за машинен превод, моля, кликнете тук, за да преминете към оригиналната статия.

Изглед: 14709|Отговор: 2

[Уеб] nginx е защитен от DDOS според http_user_agent

[Копирай линк]
Публикувано в 20.12.2016 г. 10:37:01 ч. | | |

Frontend squid reverse proxy към nginx
nginx е защитен от DDOS според http_user_agent
Първо, прегледайте логовете за достъп, за да идентифицирате характеристиките на подозрителните посещения, намерени http_user_agent, и след това ги филтрирайте
"Mozilla/4.0 (съвместим; MSIE 5.01; Windows NT 5.0; MyIE 3.01)Cache-Control: без съхранение, трябва да се превалидира"
ако ($http_user_agent ~ трябва да превалидира) {
връщане 503;
}
#这样就返回503错误
Местоположение = / {
включи proxy.conf;
if ( $http_user_agent ~* "MSIE 5.01" ) {
proxy_pass http://www.qq.com;
#access_log /usr/local/nginx/logs/k.log main;
      }
proxy_pass http://windows.abc.com;
}
#判断一下user-агент, ако е MSIE 5.01, просто го хвърли на друго място, например като посочиш към www.qq.com, за да видиш дали може да устои, хаха
proxy_hide_header Контрол на кеша;
Накрая, върнете се в Cache-Control и посетете страницата
Сега връзката е кеширана към front-end squid и сървърът на приложението няма да се срива.
#########################################################
Подробно описание на параметрите на модула за местоположение в nginx
Местоположението на Nginx може да има следните съвпадения:
1. = Строго съвпадение на тази заявка. Ако те намерят, спри да търсиш.
2. ^~ Съвпаднете с префикса на пътя, ако намерите – спрете търсенето.
3. ~ е редовно съвпадение с чувствителна към регистри   
4. ~* е съвпадение, което не е чувствително към регистри
5. !~ и !~* са съответно чувствителни към регистри и не-регистри несъответствия

Съвпадение на файлове и директории
* -f и !-f се използват за определяне дали съществува файл
* -d и !-d се използват за определяне дали съществува директория
* -e и !-e се използват, за да се определи дали съществува файл или директория
* -x и !-x се използват за определяне дали даден файл е изпълним или не

Някои от наличните глобални променливи
$args
$content_дължина
$content_тип
$document_root
$document_uri
$host
$http_user_agent
$http_cookie
$limit_rate
$request_body_file
$request_метод
$remote_addr
$remote_port
$remote_потребител
$request_име на файл
$request_uri
$query_string
$scheme
$server_протокол
$server_addr
$server_име
$server_port
$uri

Флагът след пренаписването може да бъде:
последна
Почивка
Пренасочване
Постоянно

proxy_pass http://localhost:80;
proxy_set_header Водещ $host;
Можете автоматично да промените информацията за домейн след препращане




Предишен:C# заобиколно решение за невъзможност за достъп до освободени обекти
Следващ:PowerShell превръща множество пространства в едно пространство, за да премахне излишните пространства
 Хазяин| Публикувано в 20.12.2016 г. 10:37:25 ч. |

Сървърът е засегнат от cc (нападателят използва прокси сървъра, за да генерира легитимни заявки към хоста на жертвата, да реализира DDOS и да го маскира като cc (ChallengeCollapsar). ) атака, nginx може просто да се справи с това.

Тъй като useragent на CC атакуващ обикновено е фиксиран, използваме nginx, за да преценим useragatet да се справя с CC атаки.
В конфигурацията на nginx сървъра

(1) useragent е равен на определена характеристика (без регистр)
if ($http_user_agent ~* OliveHC3){
   връщане 403;
}
(2) useragent съдържа определена характеристика (не е чувствителна към регистър)
if ($http_user_agent ~* (*OliveHC3*){
   връщане 403;
}
(3) useragent е празна функция
if ($http_user_agent ~ ^$){
        връщане 403;
}


По този начин атаката се върна на 403.
 Хазяин| Публикувано в 20.12.2016 г. 11:03:41 ч. |

1. $remote_addr и $http_x_forwarded_for се използват за записване на IP адреса на клиента;
2.$remote_user: Използва се за записване на потребителското име на клиента;
3.$time_local: Използва се за записване на времето и часовата зона на достъпа;
4.$request: URL и HTTP протокол, използвани за записване на заявки;
5.$status : Използва се за записване на статуса на заявката; Успехът е 200,
6.$body_bytes_s ent: Записва размера на основното съдържание на файла, изпратен на клиента;
7.$http_referer: използва се за записване на посещения от линка на тази страница;
8.$http_user_agent: Запишете съответната информация от клиентския браузър;
Отричане:
Целият софтуер, програмни материали или статии, публикувани от Code Farmer Network, са само за учебни и изследователски цели; Горното съдържание не трябва да се използва за търговски или незаконни цели, в противен случай потребителите ще понесат всички последствия. Информацията на този сайт идва от интернет, а споровете за авторски права нямат нищо общо с този сайт. Трябва напълно да изтриете горното съдържание от компютъра си в рамките на 24 часа след изтеглянето. Ако ви харесва програмата, моля, подкрепете оригинален софтуер, купете регистрация и получете по-добри услуги. Ако има нарушение, моля, свържете се с нас по имейл.

Mail To:help@itsvse.com