Ця стаття є дзеркальною статтею машинного перекладу, будь ласка, натисніть тут, щоб перейти до оригінальної статті.

Вид: 14709|Відповідь: 2

[Веб] nginx захищений DDOS згідно з http_user_agent

[Копіювати посилання]
Опубліковано 20.12.2016 10:37:01 | | |

Frontend squid зворотний проксі на 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 ~ must-revalidate) {
повернення 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's Location можуть бути такі збіги:
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_name
$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