ПредишенСледващото

Как да се противопоставят на DDoS-атаки с помощта на Nginx и Nginx Plus 14

  • 14.01.16 11:17 •
  • 1cloud •
  • • # 275107
  • • Habrahabr
  • превод •
  • 5 •
  • 15200

- като Forbes, само по-добре.

Въведение: какво е DDoS


Разпределени отказ на услуга атака - «Разпределени отказ на услуга атака с цел отказ на услуга" - е опит да се направи всяка услуга, обикновено един сайт недостъпни чрез бомбардирането на трафика му от множество източници. В резултат на това на сървъра, неговата услуга, просто престава да работи нормално, не справяне със задръстванията.

Стандартна схема в този случай - "изтезание" на системата на толкова много нови връзки и заявки, че мрежата вече не е да се справи с потока им, или е станала толкова бавно, че е невъзможно да се работи.

Технически характеристики на DDoS-атаки


В приложния слой DDoS-атака се извършва от специални програми (ботове), които могат да възползват от слабите места в дадена система. Например, система, която не се смила под контрола на голям брой паралелни връзки може да бъде придадена неизползваем чрез създаване на голям брой такива "Свързване". Когато са активни, те може да се поддържа от време на време zasylaya през тях малки количества трафик. Друг вариант - да се запълни системата на голям брой заявки или да направите тези искания доста тежък. Този факт не е за реалните връзки, така че от ботове е много лесно да се изпрати огромен брой заявки, и бързо да генерират много нови връзки.

По-долу са техническите характеристики на DDoS-атаки, чрез които те могат да бъдат разпознати, и като се има предвид, че за да се справят с тях:

Възможности Nginx и Nginx Plus е върху борбата срещу DDoS-атаки


Nginx и Nginx Plus е много характеристики могат да бъдат безценни в справянето с това как да се справят с DDoS-атаки. Тя работи по два начина: чрез управлението на входящия трафик, както и чрез контрол на разпространението му върху вътрешните сървъри.

Ограничаването на честотата на заявките


Можете да настроите честотата на постъпващите заявки чрез Nginx и Nginx Plus е до стойност характеристика на реални потребители. Например, вие вярвате, че вашите потребители начална страница отиват на всеки две секунди. Можете да настроите устройството от честотата на заявките към страницата - 30 на минута.

Ограничаването на броя на връзките
Закриване бавни връзки


Можете да прекъснете връзката за изпращане на данни твърде редки, че може да е знак, че основната им цел - да бъде отворена за дълго време и да се предотвратят нови връзки. Този тип програма за нападението нарича Slowloris. client_body_timeout директива контролира времето за чакане Nginx между записите в тялото на клиента. Директива client_header_timeout прави същото за заглавията. По подразбиране, и в двата случая, тя се поставя на 60 секунди. В следващия пример, този интервал е настроен на стойност от 5 секунди.

Кеширане за предотвратяване на трафика скокове


Можете да персонализирате и Nginx Nginx Плюс е, така, че те поглъщат трафик удари по време на нападението през кеширане и рецептата на нейните параметри, те ще игнорира принципа на обратната. Имате следните опции:

Параметрите актуализации proxy_cache_use_stale Nginx съобщено, че когато е необходимо да се актуализира остарели обекти в кеш паметта, тя трябва да изпрати само една молба, както и да се запази отворен достъп до тези съоръжения за клиенти, като надстройка от вътрешни сървъри не се получава.

Ключови определя от proxy_cache_key обикновено се състои от вградени вариации (по подразбиране ключ. $ Схема $ proxy_host $ REQUEST_URI има три вариации). Ако стойността включва $ QUERY_STRING. редки изпращат заявка низове атаката може да доведе до прекомерно кеширане. Не се препоръчва да се включи тази опция в ключ, ако няма спешна нужда.

заключване искания


Можете да персонализирате и Nginx Nginx Plus е да се блокират тези видове заявки:

  • Исканията към конкретно URL адрес, който може да бъде под заплаха.
  • Заявки където User-Agent заглавията са важни, а не обичайната клиентския трафик.
  • Заявка, в която Препоръчител заглавията могат да бъдат идентифицирани като свързани с атака.
  • Изисква от другите позиции изглеждат подозрителни.

Например, ако решите, че атаката е насочена към URL /foo.php, можете да блокирате всички заявки към страницата:


Ако установи, че DDoS-атаки имат заявки Foo или бар стойност дялове потребителския агент и може да ги заключат:


Същият принцип може да работи с други заглавия, които имат стойности, които показват, заплахата от нападение.

Ограничаване връзки с вътрешни сървъри


Nginx и Nginx Plus е може да се прилага едновременно с голям брой съединения от себе си позволи на вътрешните сървъри. С Nginx Освен това можете да ограничите броя на връзки към всеки един от вътрешните сървъри. Да речем, че искате да се ограничи броят на връзки към групата на две вътрешни сървъри, обслужващи обекта, броят 200:


max_conns параметър определя максималния брой връзки отворен Nginx Plus за всеки сървър. директива опашка ограничава броя на чакащите молби, ако всичко група сървъри превишил лимита. В този същия ред писмено искане време е от своя страна - на 30 секунди.

Range-базирани атаки
Как да се справят с големи натоварвания


DDoS-атаки обикновено водят до критично повишение на нивото на натоварване. Прочетете как да преподават и Nginx Nginx Plus работи и да се справят с този проблем, тук.

Откриване DDoS атака


Досега сме обсъждали как можем да използваме Nginx и Nginx Плюс е, за да се смекчат последиците от DDoS-атаки. Но възможно ли е да се използват тези сървъри, за да открие самата атака? Nginx Plus Модул Статус осигурява метричен подробно представяне на трафика, който се разпространява на вътрешните сървъри. Този инструмент ви позволява да признае необичайни условия на трафика. Nginx Plus има функцията на контролен панел уебсайт страница, която показва графики на текущото състояние на работата на системата си (за пример може да се види тук: demo.nginx.com/status.html). Едни и същи показатели са достъпни чрез приложния програмен интерфейс, можете да ги вградите в собствената си или на трети страни система за наблюдение и проследяване на промените във времето на трафика, като предупреди, необикновената си статус.


Nginx и Nginx Plus е може да осигури безценна помощ при решаване на въпроси за това спрете на DDoS-атаки. Така Nginx Plus има допълнителни свойства за защита срещу такива атаки, предотвратява тяхната поява.

Защо не пишете за код 444
че въз основа на skorigovoy mozhnlo система от сеч и blogirovat чрез ipset или IPtables суров

настроен $ добавете 1;
местоположение /index.php limit_except GET POST отрече всичко;
>
настроен $ забрана "";
ако ($ HTTP_REFERER = "")
ако ($ REQUEST_METHOD = POST)
ако ($ QUERY_STRING = «действие = вход»)
ако ($ забрана = 111) access_log / Var / дневник / [133] Nginx / забрана IP;
444 връщане;
>
proxy_pass 127.0.0.1: 8000;
>
добре и голови показатели, за да мамят
Нито дума за настройка на ядрото ... въпреки че тя директно към nginksu и не се прилага на темата може да изтъкне.

client_body_timeout директива контролира времето за чакане Nginx между записите в тялото на клиента. Директива client_header_timeout прави същото за заглавията. По подразбиране, и в двата случая, тя се поставя на 60 секунди. В следващия пример, този интервал е настроен на стойност от 5 секунди.
Внимателно с такива стойности. Така лесно можете да поставите под ножа на мобилните клиенти.

Подкрепете проекта - споделете линка, благодаря!