Перестаем пользоваться паролями в Plesk

в 3:07, , рубрики: Plesk, аутентификация, безопасность, Блог компании Parallels, информационная безопасность, системное администрирование, хостинг, метки: ,

Зачем это нужно?

imageИспользование паролей для аутентификации имеет свои нюансы. Сложные пароли трудно запомнить, легкий пароль — могут подобрать. Если паролей нужно несколько десятков, то запоминать их все становится мучительно. Пароли начинают записывать. Хорошо, если это что-то типа программы 1password, а то ведь может быть и “бумажка на монитор/под клавиатуру” или начинают использовать один и тот же пароль для разных сервисов (пускай даже и сложный). Кто-то может справедливо считать, что его пароли не стоят 3-х тысяч рублей за 1password (столько стоит программа в Mac App Store). В итоге возникает мысль: как бы сократить количество паролей, которые нужно помнить и, желательно, без особого ущерба безопасности.

В Plesk, начиная с версии 12.0, появился ряд опций, которые позволяют не пользоваться паролями, хранящимися непосредственно в продукте. В основном, все рассмотренные ниже варианты представляют собой расширения для Plesk. Найти и поставить каждое из них можно, если зайти в панель под администратором и далее в Extensions (в левом меню), после чего перейти в Extensions Catalog. Но я, для наглядности, буду приводить ссылки на сайт Extensions Catalog’а.

LDAP Auth

Самое первое и, пожалуй, самое простое расширение, которое хотелось бы рассмотреть — это LDAP Auth. Это расширение позволяет научить Plesk аутентифицировать клиентов по LDAP. Предварительно клиент должен уже быть создан в Plesk и не находиться в заблокированном состоянии.

После установки расширения заходим в настройки, включаем его, указываем хост и префикс для логина. Пример, как это может выглядеть в интеграции с Active Directory — на скриншоте ниже:

image

Этим расширением мы активно пользуемся на тех Plesk, которые установлены внутри компании.

Social Auth

Следующее расширение — это Social Auth. Оно позволяет организовать аутентификацию через социальные сервисы. С точки зрения администратора, настройка этого расширения заметно сложнее. Но конечный результат того стоит.

Допустим, хочется организовать аутентификацию в Plesk с помощью Google Account. Интеграция делается не напрямую с каждым сервисом, а с помощью агрегатора oneall.com. Этот способ в ряде случаев гораздо проще и быстрее позволяет добиться нужного результата. Регистрируем аккаунт в oneall, настраиваем нужный сервис или сервисы, возвращаемся в Plesk и в настройках расширения включаем аутентификацию, указываем ключи для oneall и выбираем нужные сервисы:

image

Как только все настройки выполнены, на логин-странице появятся дополнительные кнопки для входа в панель через социальные сервисы.

image

Этим расширением я активно пользуюсь на Plesk, которые установлены на внешних серверах (вне локального интранета), где я являюсь администратором.

Google Authenticator

Двухфакторная аутентификация представлена в виде расширения Google Authenticator.

На телефон нужно установить приложение с аналогичным названием. Далее устанавливаем расширение в панель и включаем его в настройках. Для того, чтобы сконфигурировать расширение, нужно отсканировать приложением на телефоне QR-код:

image

Далее при входе в панель вас спросят verification code, узнать который можно в приложении Google Authenticator на телефоне:

image

Clef

Яркое впечатление на разного рода презентациях производит демонстрация работы расширения Clef. Это расширение позволяет, используя мобильный телефон, выполнить аутентификацию в панели.

Устанавливаем приложение на телефон, устанавливаем расширение в панель и связываем. Связывание делается очень просто, буквально в пару кликов. После этого на логин-странице появляется еще одна кнопка “Войти с помощью телефона”. Работает это примерно так:

image

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

Узнать дополнительную информацию о самом 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.

image

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

image

Для того, чтобы была возможность воспользоваться SSH’ем, нужно включить у конкретного пользователя возможность использования шелла. Делается это на Websites & Domains -> Web Hosting Access. Выбираем, например, /bin/bash и сохраняем форму.

image

Этим расширением я активно пользуюсь практически на всех инсталляциях Plesk. Запоминать множество паролей от самых разных доменов (системных пользователей) — выше моих сил :)

Создание собственного механизма

Если, по каким-то причинам, всего вышеописанного оказалось мало, то можно создать собственный механизм аутентификации. Для этого нужно воспользоваться Extensions SDK. В частности полезным будет API Authentication Hook.

В качестве примера можно посмотреть исходники расширения LDAP Auth — они открыты.

Резюме

Таким образом, если вы пользуетесь Plesk и вам надоела аутентификация с использованием паролей, то есть возможность попробовать другие варианты. Некоторые из них могут показаться весьма любопытными и понравиться для ежедневного использования.

Автор: SibProgrammer

Источник


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js