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

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

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

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

Күн бұрын

Пікірлер: 46
@egorgorbachev
@egorgorbachev 5 жыл бұрын
оххх вот это материал ... больше больше готовых разжованных решений ))
@NickLavlinsky
@NickLavlinsky 5 жыл бұрын
Всегда пожалуйста!
@egorgorbachev
@egorgorbachev 5 жыл бұрын
@@NickLavlinsky вот я как пвседо админ серверов. вобше не могу понять как это оптимизация фронтенда. Да я смотрю видео как оптимизация проектов идет и их касеки торморезки. Но вот как в пратике это выглядит ? вы пишите код? оптимизацию темы сайта делаете ? вот итересно увидить лайв как это происходить пускай оно длится хоть 5 часов ))
@NickLavlinsky
@NickLavlinsky 5 жыл бұрын
@@egorgorbachev На практике это выглядит так: анализ - оптимизация - измерение и так много раз по кругу.
@hiaylindom9605
@hiaylindom9605 5 ай бұрын
Спасибо, очень понятный гайд
@InverserPro
@InverserPro 4 жыл бұрын
Благодарю! Очень интересно и полезно! Качественный материал и отличные знания.
@jostanise
@jostanise 5 ай бұрын
Спасибо!
@egorkomarov4719
@egorkomarov4719 4 жыл бұрын
Благодарю от души! Супер понятно и интересно!
@alxblum3438
@alxblum3438 3 жыл бұрын
Микола Дуже дякую, за допомогу!
@alexfilus
@alexfilus 4 жыл бұрын
Очень полезное видео, спасибо!
@dmytro_vr
@dmytro_vr 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? Заранее спасибо!
@egorgorbachev
@egorgorbachev 5 жыл бұрын
Николай раскажи на примере как делается оптимизация сайта вот не теорио а лайв видео работы )
@NickLavlinsky
@NickLavlinsky 5 жыл бұрын
Вообще-то именно об этом весть канал. По процессу оптимизации есть мысли, как-нибудь реализуем.
@javavision73
@javavision73 2 жыл бұрын
Спасибо за видео. А ссылочки на github с демонстрируемым файлом не прилагается?
@NickLavlinsky
@NickLavlinsky 2 жыл бұрын
Положили: github.com/Nickmob/nginx_conf/blob/master/nginx-dos.conf
@javavision73
@javavision73 2 жыл бұрын
@@NickLavlinsky Спасибо!
@sec4428
@sec4428 2 жыл бұрын
Спасибо за видео. Не совсем понятно про лимиты. Не уточняется - эти лимиты для отдельного ip адреса или в целом по системе?
@NickLavlinsky
@NickLavlinsky 2 жыл бұрын
Лимиты применяются по ключу, по умолчанию это IP-адрес.
@Pavelbrov
@Pavelbrov Жыл бұрын
Здравствуйте, а есть ли какой-то более продвинутый инструмент для защиты от парсинга, чтоб гибче настраивался, блокировал явных ботов, чтоб можно было посмотреть, кого он заблокировал? Есть такие на рынке? Если да, можете несколько примеров привести? Может быть даже на уровне приложения (для Laravel, например)
@NickLavlinsky
@NickLavlinsky Жыл бұрын
Да, этим занимаются сервисы защиты от DDoS-атак: Qrator, Cloudflare и т.д.
@denispanarin
@denispanarin Жыл бұрын
А если домен делегирован на cloudflare и в момент атаки переключать трафик через их сервера это поможет?
@NickLavlinsky
@NickLavlinsky Жыл бұрын
Возможно, да. Там тоже есть разные настройки. Ну и если IP уже засвечен, то можно напрямую долбить исходный сервер.
@denispanarin
@denispanarin Жыл бұрын
@@NickLavlinsky понял спасибо
@koteich_live
@koteich_live 4 жыл бұрын
а у меня стрим сервис через nginx для меня какие настройки нужны?
@mistertroll0000
@mistertroll0000 5 жыл бұрын
Насколько я гуглил, бротли компилиться под нгинкс отдельно, нету rpm готового под фёдору?
@NickLavlinsky
@NickLavlinsky 5 жыл бұрын
Про федору не знаю. Под дебиан что-то точно есть.
@АнтонЯрин-о2ь
@АнтонЯрин-о2ь 3 жыл бұрын
Alex, не совету, юзать федору, лучше используй debian, и только debian.
@mistertroll0000
@mistertroll0000 3 жыл бұрын
@@АнтонЯрин-о2ь ну, тут смысл такой, что у нас уже федора на серваках 15 лет стоит, и чтобы поменять на что-то надо её долго переставлять, а чтобы федору обновить раз в полгода это минут 10-20 простоя всего. Ну, и федора чаще обновляется (я думаю поэтому Николай везде убунту использует), а дебиан или центос(редхат) тормозные в этом плане, собственно сейчас редхат это поняли и будут выпускать версии центос чаще. Ну, а по поводу систем редхат/дебиан это дело вкуса, мне рх ближе. Что касается модуля бротли из ролика - я отдельно его скомпилил уже 2 года назад (см дату ролика), заменять весь штатный nginx не потребовалось. (два модуля для статики и динамики компилятся в .so и через load_module подключаются в конфиг).
@nikitatitov3432
@nikitatitov3432 4 жыл бұрын
Как настроить Limit conn zone, просто написать код Limit conn zone в nginx.confg? Или как?
@NickLavlinsky
@NickLavlinsky 4 жыл бұрын
Смотрите в видео, там есть конкретный пример. Отдельно настраивается зона, дальше уже используется в server или location.
@Дмитрий-я4ц8ю
@Дмитрий-я4ц8ю 2 жыл бұрын
В конфигурации выделено 2 зоны ltwo и highspeed, а используется только одна. Думаю конфиг как то не доработан получается.
@NickLavlinsky
@NickLavlinsky 2 жыл бұрын
Правильно, 2 зоны показаны для примера. Дальше уже настраиваете как вам нужно. highspeed нужна для location, где в норме бывает высокая частота запросов (например XHR).
@Devof-n9i
@Devof-n9i 5 жыл бұрын
А вот размер буферов..? Отмахнулись: «это не важно.». Это так уж неважно?
@NickLavlinsky
@NickLavlinsky 5 жыл бұрын
В этом контексте это действительно не так важно. Единственное - типичный ответ бекенда должен укладываться в proxy_buffers, иначе буферизация будет на диске.
@Devof-n9i
@Devof-n9i 5 жыл бұрын
Правильно ли я понимаю, что скорость, с которой сервер отдаёт ответ, очень важна в пассивном противодействи атаке типа дос? Оптимизация буферов на обратном прокси улучшает скорость отдачи, особенно когда для ответов нужны большие буфера, поэтому эта часть заслуживает внимания?
@NickLavlinsky
@NickLavlinsky 5 жыл бұрын
@@Devof-n9i В общем да, но нужно сопоставлять нагрузку, которую создаёт сам бекенд (Apache, PHP-FPM и т.д.) и ту, которую создаёт работа Nginx, обычно разница в несколько порядков. Другими словами - оптимизация буферов мало что даст.
@Devof-n9i
@Devof-n9i 5 жыл бұрын
Понял. Спасибо за ответ.
@valerievich1015
@valerievich1015 3 жыл бұрын
Привет, есть способ или программы на заказ с защитой от атак, хочу запустить на своем выделенном домашнем сервере игру по онлайну, а чувствую,что школьники после открытия начнут заниматься фигней ну или прочие пользователи(не доброжелатели) ?
@NickLavlinsky
@NickLavlinsky 3 жыл бұрын
Защита от DDoS-атак только через сервисы.
@valerievich1015
@valerievich1015 3 жыл бұрын
@@NickLavlinsky я имел ввиду,от школьников, чтоб не засоряли интернет канал. одного роутера хватит?
@АнтонЯрин-о2ь
@АнтонЯрин-о2ь 3 жыл бұрын
Технический директор, ты реально нуб, не компетентен до ужаса, не мог сразу сказать, что речь идёт о защите на уровне L7? Ну с целом, nginx сам по себе дырявый защитник, максимум его плюс только в режиме "чёрная дыра", и не более того. По настройке воркерам и т.д., ты теоретик, не практик, не говори того, чего не знаешь, куча воркеров это минус, даже если у тебя миллион ядер.
@NickLavlinsky
@NickLavlinsky 3 жыл бұрын
Ну как бы из заголовка по L7 уже очевидно. Или ты защищаешся от L3 с помощью Nginx? По воркерам не понял, в чем минус в нескольких воркерах?
@TheNimmortal
@TheNimmortal 5 жыл бұрын
Спасибо. Интересный материал.
Глобальный сбой Cloudflare 2 июля 2019 года
18:09
Ускорение Сайтов :: Метод Лаб
Рет қаралды 580
Nginx: зачем нужен веб-сервер?
22:00
Поддержка Сайтов :: Метод Лаб
Рет қаралды 79 М.
Human vs Jet Engine
00:19
MrBeast
Рет қаралды 184 МЛН
How Strong is Tin Foil? 💪
00:25
Brianna
Рет қаралды 61 МЛН
😜 #aminkavitaminka #aminokka #аминкавитаминка
00:14
Аминка Витаминка
Рет қаралды 2,7 МЛН
Оптимальная настройка TLS/SSL в Nginx
34:58
Поддержка Сайтов :: Метод Лаб
Рет қаралды 17 М.
Быстрый анализ серверной скорости сайта
40:22
Ускорение Сайтов :: Метод Лаб
Рет қаралды 1,9 М.
How To Protect Your Linux Server From Hackers!
20:38
LiveOverflow
Рет қаралды 304 М.
Nginx: Балансировка. Апстримы
22:43
ЗАЩИТА ОТ DDOS
29:13
Андрей Иванов | Python
Рет қаралды 9 М.
Human vs Jet Engine
00:19
MrBeast
Рет қаралды 184 МЛН