![]() |
Здравствуйте, гость ( Авторизация | Регистрация )
![]() |
![]() Сообщение
#1
|
|
![]() Почетный ![]() ![]() ![]() ![]() ![]() ![]() ![]() Текущее настроение: ![]() Вст. ник | Цитата Группа: Супер Стар Сообщений: 3097 Регистрация: 29.12.2009 Пользователь №: 33839 Награды: 15 Подарки: 41 Пол: М Репутация: ![]() ![]() ![]() |
Ни думал, ни гадал, что когда-нибудь возьмусь за такое занятие. Во-первых, у меня не было идеи, о чём должен быть сайт. Во-вторых, я никогда не делал сайты, и у меня нет соответствующих навыков. Но тут у друга появилась идея для сайта, которая мне понравилась. А у меня начало появляться свободное время, которое нужно было использовать. Начинать что-то новое я никогда не боялся, поэтому решил начать. Тем более, что общие навыки программирования у меня есть. Сразу скажу: Идею сайта пока рассказывать не буду, не просите! Даже если просто поржать
![]() Честно говоря, я уже начал делать сайт, и есть кое-какие наработки. Можно было, конечно, не создавать эту тему, а просто продолжать делать своё дело. Но я человек ленивый, и если не с кем пообщаться на эту тему, то работоспособность у меня почему-то снижается. А если на форуме в теме будет с кем поговорить, то это дело должно стать более захватывающим для меня и пойти веселее ![]() Обычно я веду беседы совсем на другие темы, не связанные с техникой, что может стать неожиданностью для участников, знакомых со мной на форуме. В связи с этим я считаю необходимым сделать следующее предупреждение. ПРЕДУПРЕЖДЕНИЕ: В данной теме предполагается углубленное рассмотрение информационно-алгоритмических подробностей с использованием сложных и неоднозначных для обычных людей понятий, применяемых в этой области. Это способно вызвать у неподготовленного читателя состояние трудно-идентифицируемой дезориентации, во избежание чего, во время прочтения данной темы рекомендуется не пытаться осознать сразу всё, что написано, а также рекомендуется делать перерывы и пить больше жидкости. За психическое состояние читателей автор ответственности не несёт. Продолжение следует... -------------------- -------------------- Подарки: (Всего подарков: 41 ) |
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
|
|
|
![]() |
![]() Сообщение
#2
|
|
![]() Почетный ![]() ![]() ![]() ![]() ![]() ![]() ![]() Текущее настроение: ![]() Вст. ник | Цитата Группа: Супер Стар Сообщений: 3097 Регистрация: 29.12.2009 Пользователь №: 33839 Награды: 15 Подарки: 41 Пол: М Репутация: ![]() ![]() ![]() |
Спасибо за тёплые комментарии. Очень приятно, что в эту тему хоть кто-то ещё заглядывает, кроме меня.
![]() Продолжаем... Файрвол мы настроили, а именно, закрыли все внешние порты, кроме тех, что нам нужны. В дальнейшем мы, возможно, будем вносить какие-то дополнения в эти правила, но пока этого нам достаточно. Теперь давайте сделаем защиту от той самой кнопки F5, с помощью которой любой дурак может задудосить наш сайт. Защита эта делается в настройках веб-сервера nginx. Именно из-за таких возможностей и был выбран nginx вместо более широко известного apache. Каким способом делается? Просто ограничивается частота запросов от одного клиента, например, максимум один запрос в секунду. Открываем файл /etc/nginx.nginx/conf для редактирования и в разделе http добавляем одну строку: Код limit_req_zone $binary_remote_addr zone=max:10m rate=1r/s; Эта строка означает, что создана зона под названием "max", в которой от одного клиента разрешён максимум один запрос в секунду. Название зоны можно выбрать другое, количество запросов в секунду тоже на Ваше усмотрение. Теперь в эту зону нужно включить наши сайты. Открываем настройки сайта site1.ru — файл /etc/nginx/sites-available/site1.ru. И добавляем в него две одинаковые строки:Код limit_req zone=max burst=3; в два раздела location. В результате файл получается следующим:» Кликните сюда для просмотра оффтоп текста.. « Значение burst=3 в каждой из этих строк означает, что допустимы кратковременные всплески в 3 раза больше, т.е. 3 запроса в секунду. Но среднее значение частоты запросов всё равно будет не более чем 1r/s. Теперь сохраняем файл и перезапускаем nginx:Код systemctl restart nginx Заходим на наш сайт site1.ru и пробуем зажать кнопку F5 на клавиатуре. В результате получаем на экране сообщение:» Кликните сюда для просмотра оффтоп текста.. « То есть, при частом обновлении сайт становится нам недоступен. Вопрос: доступен ли он в это время для других? Пробуем... Заходим на сайт с телефона. Теперь снова зажимаем кнопку F5 на клавиатуре компьютера и держим. Пока держим F5, обновляем страницу на телефоне и видим, что с телефона сайт доступен. Продолжаем держать F5, снова обновляем на телефоне и снова видим, что для других клиентов сайт вполне доступен. То есть, сайт становится недоступен только для того, кто его атакует. Для другого сайта защиту делаем точно так же. Всё, защиту от самой примитивной DDoS-атаки мы сделали.Продолжение следует... -------------------- -------------------- Подарки: (Всего подарков: 41 ) |
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
|
|
|
![]() ![]() |
Текстовая версия | Сейчас: 16.06.2025 - 7:09 |