X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

> Мини-DoS и защита от него?
FRUTALITY
FRUTALITY
Topic Starter сообщение 30.5.2013, 15:41; Ответить: FRUTALITY
Сообщение #1


Доброго времени суток.

Есть VPS. Там несколько сайтов. Пара из них на WP. Думаю, большинству известно, что админка WP использует немало ОЗУ сервера. Провел небольшой эксперимент. Зашел в админку, зажал кнопку F5 (обновление страницы) на несколько секунд.

Попробовал открыть пару сайтов, расположенных на этой VPS. Открывались довольно долго, ибо ОЗУ занята.

Внимание, вопрос: как-нибудь можно защититься от такой довольно банальной "атаки"? Сейчас обычному пользователю сложно так подвесить сервер (ибо все закэшировано, а к админке у юзеров доступа нет). Но в будущем планируется сервис, где не все можно будет закэшировать. И не хотелось бы, чтобы таким банальным действием можно было подвесить сервер.

Конечно, варианты "купить железо получше" и "переписать приложение так, чтобы кушало меньше ОЗУ" рассмотрены. Нужны варианты на случай, если этого не хватит.

Для тех, кто ничего не понял, но хочется: DoS-атака на wiki.


--------------------
Magic 8 ball как в фильме "Трасса 60". Онлайн.
Мой скромный бложе.
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
2 страниц V   1 2 >  
Открыть тему
Ответов (1 - 9)
adkot
adkot
сообщение 30.5.2013, 16:32; Ответить: adkot
Сообщение #2


По моему, пользователи, будь их 10 000 не могут создать ddos атаку. Ее порой бот-нет не может организовать.
Можно только ограничить одновременное подключение от одного пользователя до минимум. Или использовать скрипт, но не знаю, поможет ли он Вам. Мне помог от настоящего ддоса, не от бот-нета конечно, но от LOICа, легко спасет.
Скачать
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
FRUTALITY
FRUTALITY
Topic Starter сообщение 30.5.2013, 16:50; Ответить: FRUTALITY
Сообщение #3


Этот скрипт, судя по комментариям автора, защищает от 100%-ой загрузки процессора.

Я говорю о том, что не хватает ОЗУ. И, серьезно, на VPS с 512 мб ОЗУ, одной только админкой WP можно подвесить сервер на несколько секунд.

А про 10000 пользователей - смешно, учитывая, что нагрузка от каждого может быть разной и зависит от скрипта, который запускается для пользователя. Просмотр блога - ерунда. А, к примеру, обработка изображений? Работа с огромными многомерными массивами? Все это "съедает" немало ОЗУ.


--------------------
Magic 8 ball как в фильме "Трасса 60". Онлайн.
Мой скромный бложе.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
adkot
adkot
сообщение 30.5.2013, 17:00; Ответить: adkot
Сообщение #4


А что мешает взять машину немного по мощнее? Или в эту добавить ОЗУ. Если проект ресурсоёмкий, то лучше уж поступить так. Это как играть на компьютере с 512 мб озу в современные игры.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
FRUTALITY
FRUTALITY
Topic Starter сообщение 30.5.2013, 17:15; Ответить: FRUTALITY
Сообщение #5


adkot, уважаемый, благодарю за внимание к теме, но я в первом сообщении написал, что такая мера рассмотрена; рассматривается вариант, когда добавлять ОЗУ уже нецелесообразно. Т.е,. каким-то образом, не давать пользователю выполнять тот или иной скрипт чаще, чем N раз в единицу времени. Видимо, тут нужно при каждом запросе проверять, а не запрашивал ли пользователь этот скрипт полсекунды назад. И если запрашивал - не выполнять. Пока я вижу только такое решение.

З.Ы. Та же пресловутая админка WP занимает около 40 мб (кажется) ОЗУ, просто, если ее открыть. Казалось бы, обычная операция, ничего ресурсоемкого. Вот и получается, ну увеличу я ОЗУ еще в 2 раза. И все равно смогу подвесить сервер обычным зажатием клавиши F5. Просто проверьте, если есть возможность. Хотя бы на Денвере.

Сообщение отредактировал FRUTALITY - 30.5.2013, 17:18


--------------------
Magic 8 ball как в фильме "Трасса 60". Онлайн.
Мой скромный бложе.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
cadedic
cadedic
сообщение 30.5.2013, 17:17; Ответить: cadedic
Сообщение #6


(FRUTALITY @ 30.5.2013, 5:50) *
VPS с 512 мб ОЗУ, одной только админкой WP можно подвесить сервер на несколько секунд.

VPS с RAM от 1024 + nginx + скрипт barf = что? какой-такой ддос???? я не в курсе.

P.S. не от всех ддос защитит. но от F5 срабатывает на раз-два.


--------------------
CaDedic - VPS от $5,45/мес, дедики от $45/мес


Поблагодарили: (1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
FRUTALITY
FRUTALITY
Topic Starter сообщение 30.5.2013, 17:19; Ответить: FRUTALITY
Сообщение #7


cadedic, во, уже интересно. У меня apache в качестве веб-сервера. nginx реально "спасает"? Сложно перейти с апача на nginx?


--------------------
Magic 8 ball как в фильме "Трасса 60". Онлайн.
Мой скромный бложе.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Pepper
Pepper
сообщение 30.5.2013, 17:52; Ответить: Pepper
Сообщение #8


У меня стоит связка nginx+apache - работает отлично.

nginx обрабатывает статику (картинки, css, js и т.д.), а запросы к php переправляет на апач. Апач тяжелый слон, поэтому незачем его тревожить из-за такой мелочи, как картинки и прочая статичная ерунда.

Недавно обновил mysql. Внезапно сервер базы данных стал жрать аж под 800% ресурсов. F5 убивало сайт точно так же.
Я подумал, что в обновлении что-то не так. Дня два пробовал разные конфиги. Временно помогало, но потом снова все висло.

Оказалось, что сервер убивал все один SQL запрос. Мне трудно было в это поверить, но факт есть факт. Не знаю, почему он до этого работал несколько лет, а тут вдруг обделался. Я оптимизировал этот запрос и добавил в cron для кеширования, и загрузка машины (linux) упала с 50.0+ до 0.01. Выше 0.05 уже не поднимается несколько недель.

Стоит отметить, что на сервере 4 ядра и 8МБ оперативки. Wordpress я перековырял вдоль и поперек, почти переписал ядро. Там столько мусора, что трудно поверить, что такое убожество могли сделать человеческие руки. Я ярый юзер WP, но этот движок абсолютный антоним слова "оптимизация".
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
FRUTALITY
FRUTALITY
Topic Starter сообщение 30.5.2013, 18:14; Ответить: FRUTALITY
Сообщение #9


Pepper, любопытно. Как нашли этот запрос? Есть какой-то софт для этих целей, или внимательно вручную изучали?

>>8МБ оперативки
Вы хотели сказать 8 Гб? smile.gif


--------------------
Magic 8 ball как в фильме "Трасса 60". Онлайн.
Мой скромный бложе.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Pepper
Pepper
сообщение 30.5.2013, 18:44; Ответить: Pepper
Сообщение #10


(FRUTALITY @ 30.5.2013, 18:14) *
Вы хотели сказать 8 Гб?

Да, конечно. laugh.gif

(FRUTALITY @ 30.5.2013, 18:14) *
Как нашли этот запрос?

При помощи логов. В MySQL в файле конфига (my.cnf) нужно прописать что-то вроде:
log_slow_queries    = /var/log/mysql/mysql-slow.log
long_query_time = 2


log_slow_queries - путь к файлу, куда будут записываться ошибки
long_query_time - если обработка запроса занимает больше секунд, чем значение этой переменной, то запрос будет записан в лог


Поблагодарили: (2)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
2 страниц V   1 2 >
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Горячая тема (нет новых ответов) WordPress: ускорение, защита, оптимизация
35 wp01 20052 9.11.2022, 14:24
автор: wp01
Открытая тема (нет новых ответов) Делаю мини сайты под Алиэкспресс
0 abafons 1360 8.7.2022, 16:49
автор: abafons
Открытая тема (нет новых ответов) Бесплатный мини-аудит вашего сайта
Небольшие аудиты интернет-магазинов за отзывы
17 kmddru 9777 31.12.2020, 11:22
автор: kmddru
Горячая тема (нет новых ответов) WordPress: ускорение, защита, оптимизация
41 wp01 9611 21.9.2020, 16:44
автор: wp01
Открытая тема (нет новых ответов) Нужна защита сайта от парсинга
Сайт парсит WpGrabber, нужна защита
18 Limonadik 4975 20.5.2020, 0:18
автор: pyaterka


 



RSS Текстовая версия Сейчас: 24.4.2024, 1:03
Дизайн