Rails gem или код, чтобы пометить злонамеренное поведение пользователя в режиме реального времени? - PullRequest
0 голосов
/ 29 января 2010

Существует ли существующий гем или код, который будет отмечать злонамеренное поведение пользователя в режиме реального времени? то есть не то, где я вручную прочесываю файлы журналов для 404-х или подозрительных обращений (например, попытки внедрения sql, вставки js в текстовые поля и т. д .?)

Например, сегодня я заметил подобные запросы в журнале.

ActionController :: RoutingError (Нет подходящих маршрутов "///scripts/setup.php" с {: method =>: get}):

Мне бы очень хотелось узнать в режиме реального времени по оповещениям или по электронной почте, если кто-то сканирует сайт на наличие уязвимостей - то есть, чтобы отличить безвредные 404 от вредоносных 404, пометить инъекции sql или js и т. Д.

Существуют ли гемы или код для этого или я должен свернуть свой собственный?

Спасибо за мысли.

1 Ответ

0 голосов
/ 29 января 2010

Если бы существовала такая система и ваш сайт был даже умеренно заполнен, вы бы получили лот обновлений в реальном времени.

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

Проблема в том, как узнать, является ли ваш ввод вредоносным? В зависимости от вашего сайта, только что упомянутые вами данные могут быть совершенно правильными.

Если вы беспокоитесь о внедрении SQL-кода, вам следует документально подтвердить и тщательно протестировать свои find_by_sql заявления.

Если вы беспокоитесь о неэкранированном пользовательском вводе, вы можете перейти на erubis и включить экранирование по умолчанию.

Более актуальной проблемой для большинства сайтов является неправильное использование предоставляемых вами функций, например, отправка слишком большого количества сообщений, размещение слишком большого количества вопросов, слишком частое голосование, удаление содержимого и т. Д. ... для этого вы можете настроить свой веб-сервер так, чтобы он прекращал пользователь делает слишком много запросов (вы можете легко настроить это с помощью nginx) и накладывает ограничение скорости в коде вашего приложения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...