Защитный вход в админку, какое-то нестандартное решение [РЕШЕНО]

Главные вкладки

Аватар пользователя Ritka Ritka 2 ноября 2016 в 10:50

Всем привет! Хочу сделать защитный вход в админку, нашла решение — «Разрешить доступ к admin-ке только с вашего IP
Дополнительной защитой сайта от взлома может служить ограничение списка адресов, с которых разрешено заходить в админку. Не забудьте вставить свой IP в строке 2.

RewriteCond %{REQUEST_URI} ^/admin/
RewriteCond %{REMOTE_ADDR} !123.123.123.123
RewriteRule .* - »

Но там не учтены, что сайт мультиязычный и вход можно осуществить и через my-site/user/login.Может есть готовые модули по защите админки от взломщика, можно так сделать, чтобы пользователь заходил через е-mail подтверждение, идентично как через смс подтверждение. Буду очень благодарна за ответ, которыйпоможет не только мне.

Комментарии

Аватар пользователя gun_dose gun_dose 2 ноября 2016 в 11:02

А если айпишник поменятеся?

Но вообще я так вижу, этот код даёт логиниться всем, а левых выкидывает из админки. Что логично - может юзер не админ и в админку не ломится, а просто залогинился.

Аватар пользователя Ritka Ritka 2 ноября 2016 в 12:26

Как я поняла, если юзер не посетил админки, или usser/1 - страницу админа, а просто вошел на сайт, то такого пользователя не выкинет ?

Аватар пользователя gun_dose gun_dose 2 ноября 2016 в 13:32

С юзер1 не выкинет. Тут выкидывает только с путей, где есть слово admin в урл. А юзер/1 - это же просто страница просмотра пользователя.

Аватар пользователя Ritka Ritka 2 ноября 2016 в 20:02

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

Чтобы сработало надо вводить правило с самого начала файла .htaccess иначе ничего не работает.

RewriteCond %{REQUEST_URI} (admin/|/user/1/) [NC]
RewriteCond %{REMOTE_ADDR} !95.69.205.58
RewriteRule .* - [F]

Аватар пользователя FreeLancerPro FreeLancerPro 2 ноября 2016 в 20:01

Если хочешь прям вход подтверждать по email, то здесь как вариант, можно использовать Two-factor Authentication

Вот что я нашел для подтверждения по email:

1. модуль Two-factor Authentication
+
2. модуль TFA Basic plugins
+
3. патч на 2 модуль Expose Email as available two factor authentication method

Сам это настраивать не пробовал

Аватар пользователя Ritka Ritka 2 ноября 2016 в 22:52

Руская инструкция существует к модулю Two-factor Authentication - я только поняла что надо поставить плагины TFA Basic plugins?

Так как дальше для меня непонтно что делать (((

Аватар пользователя FreeLancerPro FreeLancerPro 3 ноября 2016 в 14:31

Попробовал настроить, вроде работает, делал так, рекомендую сперва проверять все на тестовом сайте:

1. Установить и включить модуль Two-factor Authentication (TFA)

Two-factor Authentication (TFA)

2. Установить и включить модуль TFA Basic plugins

TFA Basic plugins

3. Применить патч Expose Email as available two factor authentication method на модуль в пункте 2, как написано здесь Drupal → Как пропатчить Drupal модуль в Windows, там написано для Windows, но для Linux так же нужно все делать

Если модуль пропатчен успешно, то в консоле должно появится что-нибудь типа:

Expose Email as available two factor authentication method

Далее переходим в конфигурация -> пользователи -> Two-factor Authentication

two-factor

и ставим галочку - Enable TFA

two

и выбираем в - Default validation plugin: E-mail codes и сохраняем настройки

two

затем переходим в профиль пользователя и выбираем вкладку - Безопасность и нажимаем - Verify your e-mail address

user

после этого открывается страница, где нужно ввести свой текущий пароль и нажать кнопку - Подтвердить

pass

далее выход страница, где нас просят ввести 6-ти символьный код подтверждения, который отправлен на e-mail адрес

code

на почту приходит

code

вводим код и нажимаем - Verify и получаем сообщение об успешной установки и можем видеть, что Status: TFA enabled, а так же письмо на почту

code

P/s: Хотел приложить уже пропаченый модуль TFA Basic plugins, но что-то не нашел как архив-zip отправить

Аватар пользователя FreeLancerPro FreeLancerPro 3 ноября 2016 в 14:37

Обрати внимание на способ - TOTP, для меня этот способ намного удобнее

totp

Настраивается так же

totp

Только здесь нужно ставить программу себе на телефон

totp

totp

Аватар пользователя Ritka Ritka 3 ноября 2016 в 21:37

Только что попробовала, поставила приложение https://play.google.com/store/apps/details?id=com.authy.authy&hl=en зарегистрировалась, прошла активацию через смс, и теперь при входе ввожу код с приложения, который меняется почти каждныъ 60 секунд и вхожу в админ панель. Но Ище пробовала на другие сайты поставить, не знаю нужно ли там на каждный сайт создавать новый профиль в приложении или как ище там....

Аватар пользователя bsyomov bsyomov 9 ноября 2016 в 13:41

Обычно, взламывают не подбором пароля админки...
Двухфакторная авторизация это плюс к безопасности, конечно, но не панацея и близко.

Аватар пользователя gun_dose gun_dose 9 ноября 2016 в 14:48

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

Аватар пользователя bsyomov bsyomov 9 ноября 2016 в 15:16

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

  • Правильно настроенное окружение, своевременно обновляемое, за которым следит квалифицированный сисадмин. (это, кстати, не обязательно свой сервер или VPS, это может быть и хороший шаред хостинг).
  • Хорошо написанные кастомные модули, использующие API drupal, а не прямые запросы в базу, и обработку параметров из $_GET/$_POST и.т.п. Желателен также независимый аудит безопасности таких модулей.
  • Своевременно обновление модулей и ядра Drupal.

Ну и разные мелочи и хитрости, типа защиты от перебора паролей и скана уязвимостей, например, на основе honneypot и fail2ban интегрированного с syslog.
И вплоть до IDS и HTTP фаерволла, если проект достаточно серьёзный.

Аватар пользователя bsyomov bsyomov 9 ноября 2016 в 15:15

Не пользовался, но по описанию неплохой инструмент. Один из многих, которые нужно использовать.
Если говорить о модулях Drupal, то ещё стоит посмотреть вот на это, как инструмент контроля целостности сайта: https://www.drupal.org/project/hacked