Рейтинг:0

Превышено максимальное время выполнения PHP - признак атаки?

флаг jp

Сегодня мы столкнулись с очень высокой загрузкой процессора на нашем веб-сервере. Наше приложение зависало, а не реагировало. Мы могли бы уменьшить нагрузку, установив максимальное время выполнения от 180 до 90 секунд.

Однако файлы журнала теперь заполнены следующей ошибкой:

Превышено максимальное время выполнения 90 секунд {"exception":"[object] (Symfony\Component\ErrorHandler\Error\FatalError(code: 0):

И примерно каждые 10 секунд в логе появляется новая ошибка такого типа.

Ни одна из форм и сценариев нашего приложения не должна занимать такое время выполнения. Поэтому мой вопрос: могут ли эти журналы ошибок быть признаком атаки (например, DDoS)? Кроме того, есть ли шанс узнать IP-адрес клиента, вызвавшего ошибку?

флаг us
должны не важно, важно то, что они делают. Когда-то SX потерпел неудачу из-за плохо написанного регулярного выражения.
arety_ avatar
флаг jp
Он остановился ровно в 12:42 вчера и продолжился сегодня в 7:19. Так что проблема не в самом приложении.
Nikita Kipriyanov avatar
флаг za
И так, вы повторили запросы, которые вызывают тайм-аут выполнения PHP, действительно ли они всегда выполняются так долго и почему? Что заставляет их работать так долго, связаны ли они с процессором, базой данных и так далее? Атаки случаются, в общем, ваша лучшая стратегия — исключить URI, которые ведут себя подобным образом, или как-то ограничить доступ к ним.
Рейтинг:1
флаг pk

Вы должны отлаживать скрипт, размещать элементы синхронизации и добавлять в какой-то журнал отладки. Я сомневаюсь, что это атака, возможно, это какая-то непредвиденная петля в сценарии. Я писал сценарии, в которых ошибка не была перехвачена и создавала непредвиденный цикл. Мое обоснованное предположение, что это именно то, что происходит.

Рейтинг:1
флаг ru

Однако файлы журнала теперь заполнены следующей ошибкой:

Вы сказали PHP убивать все сценарии, которые выполняются дольше 90 секунд, вот что вы получили.

Ни одна из форм и сценариев нашего приложения не должна занимать такое время выполнения.

Теория и практика иногда расходятся. Вы должны серьезно отладить проблему - точно определить долго работающий скрипт и выяснить, почему он это делает - глубокий анализ журнала и URL / файлов cookie / заголовков, возможно, с повышенным уровнем журнала.

Так что проблема не в самом приложении.

Это очень опасное предположение. Вполне возможно, что атака все еще продолжается.В настоящее время еще может быть время исправить проблему до того, как злоумышленник действительно найдет брешь в системе безопасности (высокая нагрузка может вызвать состояние гонки, что, в свою очередь, может открыть лазейки). По крайней мере, ваш сайт получит некоторую защиту от DoS.

Рейтинг:0
флаг us

Учитывая, что ваше приложение идеально, и нет никакого способа определить, что вызывает проблему, ваша единственная надежда — это коммерческая служба сохранения безотказной работы, такая как Akamai или Cloudflare.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.