Как бороться с кем-то, пытающимся войти в систему как администратор?

14

В эти последние дни я заметил в своем блоге, что кто-то пытается подкрасться.

Человек попытался найти URL-адрес для входа (мой сайт не открыт для регистрации пользователей), поэтому он попробовал все, начиная с my-domain.com/admin, my-domain.com/administrator .., а также my-domain.com/wp- Логин (который указывает, что человек не знаком с drupal ..)

Как только человек оказался в / user, он или она попытался войти в систему как администратор, используя разные имена пользователей: admin, administrator и т. Д. (Я никогда не использую 'admin' в качестве имени пользователя для пользователя root)

Есть ли способ предотвратить / защитить сайт drupal от такого рода вещей?

Благодарность

PS: мне интересно, как это сделать как для d6, так и для d7.

amstram
источник

Ответы:

14

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

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

Модуль проверки безопасности или Droptor может помочь контролировать эти неудачные входы в систему. Если они случаются часто, вам нужно начать предпринимать больше действий. Атаки с применением грубой силы на пароли работают, только если кто-то их много делает, поэтому, если это случится несколько десятков раз, я бы не волновался.

Вы можете отслеживать IP-адрес, используемый этим человеком, используя записи сторожевого таймера, а затем использовать встроенные правила доступа D6 (или эквивалент d7 - http://drupal.org/project/user_restrictions ), чтобы заблокировать доступ через этот IP-адрес. Вы также можете запретить доступ к IP-адресу в Apache или другом брандмауэре уровня сервера. Брандмауэр / веб-сервер является более эффективным средством блокировки пользователей с точки зрения нагрузки на сервер, но обычно для этого требуется немного больше усилий.

Для Drupal 6 и 7 AjitS предоставил ответ с хорошим описанием того, как использовать функцию ограничения скорости для предотвращения повторных попыток входа с одного и того же IP.

greggles
источник
6
Теперь это звучит как ответ парня из команды безопасности Drupal ;-) +1
AjitS 26.12.12
Интересные идеи. Я начну с того, что на несколько дней заблокирую IP-адреса с помощью правил доступа d6 и посмотрю, как это поможет. Всем спасибо !
amstram 26.12.12
Престижность за хорошо написанный ответ, но большая трата времени. Независимо от того, что вы делаете, эти скрипты всегда будут на вашем сайте. Просто обслужите вашу администрацию и страницу входа в https и получите приличный пароль администратора.
stefgosselin
Разве Drupal 7 автоматически не блокирует доступ с определенного IP-адреса после повторных неудачных попыток входа? Однажды мне позвонил клиент, сказавший, что он больше не может войти в систему, так как он попытался 5 раз пройти через своего пользователя / пропустить и не смог, и теперь он больше не может войти в систему, и мне пришлось очистить некоторые таблицы из БД, чтобы вернуть ему доступ. ..
Марио Авад
@stefgosselin https не подходит для многих, хотя я, конечно, согласен, что это хороший шаг. Я также не вижу, как https действительно помогает с проблемой грубой силы. Я думаю, что TFA полезен для людей, которые не могут получить https и / или которые действительно ищут решение для атак методом перебора.
Greggles
3

Для Drupal 6 вы должны проверить модуль безопасности входа .

Модуль безопасности входа улучшает параметры безопасности при входе в систему на сайте Drupal. По умолчанию в Drupal вводится только базовый контроль доступа, запрещающий IP-доступ ко всему контенту сайта.

С помощью модуля безопасности входа администратор сайта может защищать и ограничивать доступ, добавляя функции контроля доступа к формам входа (форма входа по умолчанию в / user и блок, называемый «блок формы входа»). Включив этот модуль, администратор сайта может ограничить количество недопустимых попыток входа в систему до блокировки учетных записей или отказа в доступе по IP-адресу, временно или навсегда. Набор уведомлений может помочь администратору сайта узнать, когда что-то происходит с формой входа на сайт: угадывание пароля и учетной записи, попытки входа в систему bruteforce или просто неожиданное поведение при операции входа в систему.

Для Drupal 7, как сказал @saadlulu, уже есть функция блокировки доступа после 5 неудачных попыток входа в систему. Если вы хотите больше контроля, вы можете попробовать модуль Flood Control .

Этот проект предназначен для добавления интерфейса администрирования для скрытых переменных управления потоком в Drupal 7, таких как ограничители попыток входа в систему и любые будущие скрытые переменные.

AjitS
источник
3

Возможно, использование переименования путей администратора поможет?

Цель этого модуля - защитить друпал бэкэнд путем переопределения пути администратора.

Джон
источник
Да, я знаю, что «безопасность через безвестность» вовсе не является безопасностью, но на самом деле я стремился ответить на вопрос ...
Джон
хороший ответ, переименование / user / login в custom / login / path может быть очень эффективным, чтобы предотвратить попытки ботов войти в систему по URL-
адресу
3

Я бы хотел обработать это так же, как обрабатываются неудачные входы в систему из других источников (например, ssh, ftp), поэтому все они обрабатываются согласованно. Для этого я бы посмотрел на fail2ban , который я с большим успехом использовал против SSH логинов с перебором. Он также прекрасно подходит для инструментов мониторинга и блоков на уровне брандмауэра, что, как правило, более безопасно, чем предотвращение только входа в Drupal, потому что обычно несколько векторов атак приходят из одного места, например, если они запускают такие вещи, как metasploit ,

Синхронная
источник
Я согласен, но эта установка «drupal», которая является «целевой», выполняется на сервере общего хостинга, который не позволяет мне иметь доступ к настройкам уровня сервера, я могу только попытаться защитить его изнутри Drupal, но я рассматриваю возможность переключения на выделенный сервер в ближайшие несколько недель. Спасибо
amstram
Одним из преимуществ перехода на уровень брандмауэра является то, что Drupal является лишь частью поверхности атаки вашего сайта. Если кто-то не может войти через Drupal, он, вероятно, увидит, работают ли ssh или ftp или ... другие сервисы, а затем попытается войти через эти методы.
greggles
3

На самом деле это абсолютно ожидаемое поведение. Всякий раз, когда вы публикуете веб-сайт на общедоступном IP-адресе, в течение нескольких часов / дней вы начинаете получать подобный трафик. В 99,99% случаев это просто боты, которые запускают общий скрипт, ищущий непатентованные приложения или простые пароли. Это объясняет, почему вы видите хиты на domain.com/wp-login, (автоматически) атакующий хост даже не знает, изначально вы используете Drupal, он пробует все пути популярных CMS, Wordpress, Drupal и т. Д ... ,

Я говорю, не тратьте слишком много времени на беспокойство по этому поводу. Что бы вы ни делали, вы всегда найдете эти скрипты, очищающие ваш сайт ... со всего мира.

Две простые вещи сделают ваше приложение относительно безопасным:

  1. Обслуживание страниц входа и администрирования через https

  2. Приличный пароль для администратора

Какую бы схему безопасности вы ни внедрили, ВСЕГДА у вас есть резервная копия ваших вещей.

Удачи, счастливого новогоднего друга.

stefgosselin
источник
2

То, что вы просите, не логично, если вы имеете в виду удаление или запрет доступа к странице пользователя.

Если вам удастся как-то предотвратить эту страницу, как вы собираетесь получить к ней доступ?

Плюс Drupal уже предоставляет способ остановить такие атаки, блокируя доступ к пользователю после 5 попыток.

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

saadlulu
источник
Здравствуйте, спасибо за ответ. Я не прошу ничего конкретного. Я просто ищу идеи о том, как с этим бороться. Я думаю, что «5 неудачных попыток блокировки» - это функция только для drupal 7, я прав? Возможно ли реализовать подобную функцию в Drupal 6?
amstram 26.12.12
Я понятия не имею, поскольку мой фон - только Frupal 7. Я оставлю это моим братьям из Drupal 6 :). Вы можете сделать мне одолжение и принять мой ответ, если вам это нравится.
saadlulu
Вы также можете проверить безопасность входа в
saadlulu
Этот «ответ» не очень хороший, так как блокировка с 5 попытками - это только Drupal 7, и всегда есть что сделать, чтобы предотвратить проблему, даже за ее пределами.
greggles