Защита от DoS-атак с помощью Nginx

  Рет қаралды 13,252

Ускорение Сайтов :: Метод Лаб

Ускорение Сайтов :: Метод Лаб

5 жыл бұрын

Nginx это не только быстрый и функциональный веб-сервер, но и средство защиты от некоторых видов DoS-атак. В этом видео мы разберём, как можно настроить свой сервер для защиты от частых запросов и L7-атак.
Конфиги: github.com/Nickmob/nginx_conf...
На этом канале мы создаём максимально полезные видео по вопросам ускорения сайтов, веб-производительности и клиентской, а также серверной оптимизации.
Профессионально занимаясь ускорение сайтов, мы накопили значительный опыт, которым готовы поделиться с нашими зрителями и подписчиками. Так что присоединяйтесь, будет интересно!
Профессиональное ускорение сайтов: www.methodlab.ru/price/uskore...
Тестирование скорости сайтов: xn--80aanaoiczhuihpc.xn--p1ai/
Сервис оптимизации картинок: www.fotorubka.ru/
Группа "Ускорение сайтов" в VK: sitespeedup
Метод Лаб в VK: methodlab
Метод Лаб в Facebook: / methodlab.ru
Метод Лаб в Twitter: / sitespeedup

Пікірлер: 46
@hiaylindom9605
@hiaylindom9605 Ай бұрын
Спасибо, очень понятный гайд
@InverserPro
@InverserPro 4 жыл бұрын
Благодарю! Очень интересно и полезно! Качественный материал и отличные знания.
@egorkomarov4719
@egorkomarov4719 4 жыл бұрын
Благодарю от души! Супер понятно и интересно!
@TheNimmortal
@TheNimmortal 5 жыл бұрын
Спасибо. Интересный материал.
@jostanise
@jostanise Ай бұрын
Спасибо!
@egorgorbachev
@egorgorbachev 5 жыл бұрын
оххх вот это материал ... больше больше готовых разжованных решений ))
@NickLavlinsky
@NickLavlinsky 5 жыл бұрын
Всегда пожалуйста!
@egorgorbachev
@egorgorbachev 5 жыл бұрын
@@NickLavlinsky вот я как пвседо админ серверов. вобше не могу понять как это оптимизация фронтенда. Да я смотрю видео как оптимизация проектов идет и их касеки торморезки. Но вот как в пратике это выглядит ? вы пишите код? оптимизацию темы сайта делаете ? вот итересно увидить лайв как это происходить пускай оно длится хоть 5 часов ))
@NickLavlinsky
@NickLavlinsky 5 жыл бұрын
@@egorgorbachev На практике это выглядит так: анализ - оптимизация - измерение и так много раз по кругу.
@alexfilus
@alexfilus 4 жыл бұрын
Очень полезное видео, спасибо!
@alxblum3438
@alxblum3438 3 жыл бұрын
Микола Дуже дякую, за допомогу!
@egorgorbachev
@egorgorbachev 5 жыл бұрын
Николай раскажи на примере как делается оптимизация сайта вот не теорио а лайв видео работы )
@NickLavlinsky
@NickLavlinsky 5 жыл бұрын
Вообще-то именно об этом весть канал. По процессу оптимизации есть мысли, как-нибудь реализуем.
@koteich_live
@koteich_live 4 жыл бұрын
а у меня стрим сервис через nginx для меня какие настройки нужны?
@sec4428
@sec4428 2 жыл бұрын
Спасибо за видео. Не совсем понятно про лимиты. Не уточняется - эти лимиты для отдельного ip адреса или в целом по системе?
@NickLavlinsky
@NickLavlinsky 2 жыл бұрын
Лимиты применяются по ключу, по умолчанию это IP-адрес.
@jhgfjfk
@jhgfjfk 3 жыл бұрын
Николай, здравствуйте. Я столкнулся с проблемой при использовании limitreq на сервере за Cloudflare. Nginx'у разрешено обрабатывать запросы только от адресов CF. С этим всё ок. Формат логов сделан так чтобы видеть адрес CF и реальный IP - log_format timed_combined '$remote_addr ($http_cf_connecting_ip) Проблема возникла при настройке limitreq. Пробовал передавать переменные $http_cf_connecting_ip и $binary_remote_addr, но блокирует он во всех случаях IP адрес CF, а не оригинальный адрес запроса. От limitreq мне нужно получить блокировку оригинального IP чтобы передать его в fail2ban и дальше по API на CF.
@NickLavlinsky
@NickLavlinsky 3 жыл бұрын
Правильно, запросы то к вам идут от CF, его IP и блокируются. Попробуйте: nginx.org/ru/docs/http/ngx_http_limit_req_module.html#limit_req_dry_run и уже дальше из логов вытаскивать исходные IP.
@payalnik_TV
@payalnik_TV 2 жыл бұрын
Не поделитесь мануалом как сделали обработку запросов NGINX только от адресов cloudfare? Заранее спасибо!
@javavision73
@javavision73 2 жыл бұрын
Спасибо за видео. А ссылочки на github с демонстрируемым файлом не прилагается?
@NickLavlinsky
@NickLavlinsky 2 жыл бұрын
Положили: github.com/Nickmob/nginx_conf/blob/master/nginx-dos.conf
@javavision73
@javavision73 2 жыл бұрын
@@NickLavlinsky Спасибо!
@Pavelbrov
@Pavelbrov Жыл бұрын
Здравствуйте, а есть ли какой-то более продвинутый инструмент для защиты от парсинга, чтоб гибче настраивался, блокировал явных ботов, чтоб можно было посмотреть, кого он заблокировал? Есть такие на рынке? Если да, можете несколько примеров привести? Может быть даже на уровне приложения (для Laravel, например)
@NickLavlinsky
@NickLavlinsky Жыл бұрын
Да, этим занимаются сервисы защиты от DDoS-атак: Qrator, Cloudflare и т.д.
@mistertroll0000
@mistertroll0000 5 жыл бұрын
Насколько я гуглил, бротли компилиться под нгинкс отдельно, нету rpm готового под фёдору?
@NickLavlinsky
@NickLavlinsky 5 жыл бұрын
Про федору не знаю. Под дебиан что-то точно есть.
@user-bd1zx6yb2x
@user-bd1zx6yb2x 2 жыл бұрын
Alex, не совету, юзать федору, лучше используй debian, и только debian.
@mistertroll0000
@mistertroll0000 2 жыл бұрын
@@user-bd1zx6yb2x ну, тут смысл такой, что у нас уже федора на серваках 15 лет стоит, и чтобы поменять на что-то надо её долго переставлять, а чтобы федору обновить раз в полгода это минут 10-20 простоя всего. Ну, и федора чаще обновляется (я думаю поэтому Николай везде убунту использует), а дебиан или центос(редхат) тормозные в этом плане, собственно сейчас редхат это поняли и будут выпускать версии центос чаще. Ну, а по поводу систем редхат/дебиан это дело вкуса, мне рх ближе. Что касается модуля бротли из ролика - я отдельно его скомпилил уже 2 года назад (см дату ролика), заменять весь штатный nginx не потребовалось. (два модуля для статики и динамики компилятся в .so и через load_module подключаются в конфиг).
@denispanarin
@denispanarin Жыл бұрын
А если домен делегирован на cloudflare и в момент атаки переключать трафик через их сервера это поможет?
@NickLavlinsky
@NickLavlinsky Жыл бұрын
Возможно, да. Там тоже есть разные настройки. Ну и если IP уже засвечен, то можно напрямую долбить исходный сервер.
@denispanarin
@denispanarin Жыл бұрын
@@NickLavlinsky понял спасибо
@nikitatitov3432
@nikitatitov3432 4 жыл бұрын
Как настроить Limit conn zone, просто написать код Limit conn zone в nginx.confg? Или как?
@NickLavlinsky
@NickLavlinsky 4 жыл бұрын
Смотрите в видео, там есть конкретный пример. Отдельно настраивается зона, дальше уже используется в server или location.
@valerievich1015
@valerievich1015 3 жыл бұрын
Привет, есть способ или программы на заказ с защитой от атак, хочу запустить на своем выделенном домашнем сервере игру по онлайну, а чувствую,что школьники после открытия начнут заниматься фигней ну или прочие пользователи(не доброжелатели) ?
@NickLavlinsky
@NickLavlinsky 3 жыл бұрын
Защита от DDoS-атак только через сервисы.
@valerievich1015
@valerievich1015 3 жыл бұрын
@@NickLavlinsky я имел ввиду,от школьников, чтоб не засоряли интернет канал. одного роутера хватит?
@user-mz5ey9ii4q
@user-mz5ey9ii4q 2 жыл бұрын
В конфигурации выделено 2 зоны ltwo и highspeed, а используется только одна. Думаю конфиг как то не доработан получается.
@NickLavlinsky
@NickLavlinsky 2 жыл бұрын
Правильно, 2 зоны показаны для примера. Дальше уже настраиваете как вам нужно. highspeed нужна для location, где в норме бывает высокая частота запросов (например XHR).
@user-db2th5em3v
@user-db2th5em3v 5 жыл бұрын
А вот размер буферов..? Отмахнулись: «это не важно.». Это так уж неважно?
@NickLavlinsky
@NickLavlinsky 5 жыл бұрын
В этом контексте это действительно не так важно. Единственное - типичный ответ бекенда должен укладываться в proxy_buffers, иначе буферизация будет на диске.
@user-db2th5em3v
@user-db2th5em3v 5 жыл бұрын
Правильно ли я понимаю, что скорость, с которой сервер отдаёт ответ, очень важна в пассивном противодействи атаке типа дос? Оптимизация буферов на обратном прокси улучшает скорость отдачи, особенно когда для ответов нужны большие буфера, поэтому эта часть заслуживает внимания?
@NickLavlinsky
@NickLavlinsky 5 жыл бұрын
@@user-db2th5em3v В общем да, но нужно сопоставлять нагрузку, которую создаёт сам бекенд (Apache, PHP-FPM и т.д.) и ту, которую создаёт работа Nginx, обычно разница в несколько порядков. Другими словами - оптимизация буферов мало что даст.
@user-db2th5em3v
@user-db2th5em3v 5 жыл бұрын
Понял. Спасибо за ответ.
@user-bd1zx6yb2x
@user-bd1zx6yb2x 2 жыл бұрын
Технический директор, ты реально нуб, не компетентен до ужаса, не мог сразу сказать, что речь идёт о защите на уровне L7? Ну с целом, nginx сам по себе дырявый защитник, максимум его плюс только в режиме "чёрная дыра", и не более того. По настройке воркерам и т.д., ты теоретик, не практик, не говори того, чего не знаешь, куча воркеров это минус, даже если у тебя миллион ядер.
@NickLavlinsky
@NickLavlinsky 2 жыл бұрын
Ну как бы из заголовка по L7 уже очевидно. Или ты защищаешся от L3 с помощью Nginx? По воркерам не понял, в чем минус в нескольких воркерах?
Глобальный сбой Cloudflare 2 июля 2019 года
18:09
Ускорение Сайтов :: Метод Лаб
Рет қаралды 537
Nginx + ModSecurity 3.0 - собираем и настраиваем с нуля
38:26
Ускорение Сайтов :: Метод Лаб
Рет қаралды 5 М.
LOVE LETTER - POPPY PLAYTIME CHAPTER 3 | GH'S ANIMATION
00:15
БОЛЬШОЙ ПЕТУШОК #shorts
00:21
Паша Осадчий
Рет қаралды 8 МЛН
Happy 4th of July 😂
00:12
Pink Shirt Girl
Рет қаралды 21 МЛН
When You Get Ran Over By A Car...
00:15
Jojo Sim
Рет қаралды 16 МЛН
Nginx: зачем нужен веб-сервер?
22:00
Поддержка Сайтов :: Метод Лаб
Рет қаралды 75 М.
Защита от DoS атак
13:16
Volodya Mozhenkov
Рет қаралды 14 М.
How To Optimize Largest Contentful Paint
7:24
DebugBear
Рет қаралды 13 М.
MySQL 8.0: используем индексы для ускорения запросов
39:41
Ускорение Сайтов :: Метод Лаб
Рет қаралды 6 М.
Настройка Nginx rewrite: основные правила и директива try_files
27:43
Поддержка Сайтов :: Метод Лаб
Рет қаралды 8 М.
ProxySQL: быстрый кэш запросов в MySQL 8.0 и не только
26:57
Ускорение Сайтов :: Метод Лаб
Рет қаралды 2,9 М.
Jpegli: новая библиотека для оптимизации JPEG-изображений
22:27
Ускорение Сайтов :: Метод Лаб
Рет қаралды 785
Настраиваем fail2ban: защита от DoS и подбора паролей
25:49
Поддержка Сайтов :: Метод Лаб
Рет қаралды 8 М.
LOVE LETTER - POPPY PLAYTIME CHAPTER 3 | GH'S ANIMATION
00:15