Перестаем пользоваться паролями в Plesk’е
Зачем это нужно? Использование паролей для аутентификации имеет свои нюансы. Сложные пароли трудно запомнить, легкий пароль — могут подобрать. Если паролей нужно несколько десятков, то запоминать их все становится мучительно. Пароли начинают записывать. Хорошо, если это что-то типа программы 1password, а то ведь может быть и «бумажка на монитор/под клавиатуру» или начинают использовать один и тот же пароль для разных сервисов (пускай даже и сложный). Кто-то может справедливо считать, что его пароли не стоят 3-х тысяч рублей за 1password (столько стоит программа в Mac App Store). В итоге возникает мысль как бы сократить количество паролей, которые нужно помнить и, желательно, без особого ущерба безопасности.Начиная с Plesk 12.0 появился ряд опций, которые позволяют не пользоваться паролями, хранящимися непосредственно в продукте. В основном, все рассмотренные ниже варианты представляют собой расширения для Plesk«а. Найти и поставить каждое из них можно, если зайти в панель под администратором и далее в Extensions (в левом меню), после чего перейти в Extensions Catalog. Но я, для наглядности, буду приводить ссылки на сайт Extensions Catalog«а.
LDAP Auth Самое первое и, пожалуй, самое простое расширение, которое хотелось бы рассмотреть — это LDAP Auth. Это расширение позволяет научить Plesk аутентифицировать клиентов по LDAP. Предварительно клиент должен уже быть создан в Plesk«е и не находиться в заблокированном состоянии.После установки расширения заходим в настройки, включаем его, указываем хост и префикс для логина. Пример как это может выглядеть в интеграции с Active Directory — на скриншоте ниже:
Этим расширением мы активно пользуемся на Plesk«ах, которые установлены внутри компании.Social Auth Следующее расширение — это Social Auth. Оно позволяет организовать аутентификацию через социальные сервисы. С точки зрения администратора, настройка этого расширения заметно сложнее. Но конечный результат того стоит.Допустим хочется организовать аутентификацию в Plesk«е с помощью Google Account. Интеграция делается не напрямую с каждым сервисом, а с помощью агрегатора oneall.com. Этот способ в ряде случаев гораздо проще и быстрее позволяет добиться нужного результата. Регистрируем аккаунт в oneall, настраиваем нужный сервис или сервисы, возвращаемся в Plesk и в настройках расширения включаем аутентификацию, указываем ключи для oneall и выбираем нужные сервисы:
Как только все настройки выполнены, на логин-странице появятся дополнительные кнопки для входа в панель через социальные сервисы. Этим расширением я активно пользуюсь на Plesk«ах, которые установлены на внешних серверах (вне локального интранета), где я являюсь администратором.Google Authenticator Двухфакторная аутентификация представлена в виде расширения Google Authenticator.На телефон нужно установить приложение с аналогичным названием. Далее устанавливаем расширение в панель и включаем его в настройках. Для того, чтобы сконфигурировать расширение нужно отсканировать приложением на телефоне QR-код:
Далее при входе в панель вас спросят verification code, узнать который можно в приложении Google Authenticator на телефоне: Clef Яркое впечатление на разного рода презентациях производит демонстрация работы расширения Clef. Это расширение позволяет, используя мобильный телефон, выполнить аутентификацию в панели.Устанавливаем приложение на телефон, устанавливаем расширение в панель и связываем. Связывание делается очень просто, буквально в пару кликов. После этого на логин-странице появляется еще одна кнопка «Войти с помощью телефона». Работает это примерно так:
В следующий момент мы попадаем в панель. Причем все произошло без касания клавиатуры :)
Узнать дополнительную информацию о самом Clef«е можно на официальном сайте.
Пользуюсь этим расширением иногда на одном из серверов. Но, обычно лень пересиливает в пользу, может быть менее безопасного, но более удобного для меня варианта через расширение Social Auth и аутентификацию с помощью Google Account.
Использование токенов Еще одним вариантом аутентификации клиентов в панели может быть использование токенов. Речь уже не о каком-то конкретном расширении, а об интеграции. Допустим мы являемся хостинг-провайдером и у нас есть личный кабинет пользователя. В личном кабинете мы хотим иметь кнопку «Войти в Plesk».Вместо того, чтобы пользователь попадал на login-страницу Plesk«а и был вынужден вводить свой логин и пароль, можно организовать процедуру автологина (в предположении, что пользователь проходил уже аутентификацию в некоем «Личном кабинете»).
Механизм автологина выглядит следующим образом: запрашиваем по API под администратором токен для клиента, формируем URL для автологина и предоставляем его браузеру пользователю.
Ссылка на официальную документацию по данной теме с подробностями — Automatic Logging In to Plesk.
SSH Keys Последнее расширение, которое хотелось бы рассмотреть — это SSH Keys. Выше шла речь об аунтентификации клиентов в панели управления. Однако одна из главных вещей в панели — это все-таки управление хостингом и файлами на домене. Для управления файлами можно использовать веб-интерфейс, FTP-доступ или SSH-доступ. Вместо того, чтобы запоминать пароли системных пользователей, можно установить расширение SSH Keys, добавлять ключи и использовать их для аутентификации.После установки расширения идем в необходимую нам подписку. На Websites & Domains справа появилась новая кнопка SSH Keys.
Там присутствует список ключей и возможность добавить новый ключ. Для того, чтобы была возможность воспользоваться SSH«ем, нужно включить у конкретного пользователя возможность использования шелла. Делается это на Websites & Domains → Web Hosting Access. Выбираем, например, /bin/bash и сохраняем форму. Этим расширением я активно пользуюсь практически на всех инсталляциях Plesk«а. Запоминать множество паролей от самых разных доменов (системных пользователей) — выше моих сил :)Создание собственного механизма Если, по каким-то причинам, всего вышеописанного оказалось мало, то можно создать собственный механизм аутентификации. Для этого нужно воспользоваться Extensions SDK. В частности полезным будет API Authentication Hook.В качестве примера можно посмотреть исходники расширения LDAP Auth — они открыты.
Резюме Таким образом, если вы пользуетесь Plesk«ом и вам надоела аутентификация с использованием паролей, то есть возможность попробовать другие варианты. Некоторые из них могут показаться весьма любопытными и понравиться для ежедневного использования.