- PVSM.RU - https://www.pvsm.ru -

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

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

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

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

LDAP Auth

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

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

image

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

Social Auth

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

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

image

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

image

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

Google Authenticator

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

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

image

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

image

Clef

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

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

image

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

Узнать дополнительную информацию о самом Clef’е можно на официальном сайте [8].

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

Использование токенов

Еще одним вариантом аутентификации клиентов в панели может быть использование токенов. Речь уже не о каком-то конкретном расширении, а об интеграции. Допустим мы являемся хостинг-провайдером и у нас есть личный кабинет пользователя. В личном кабинете мы хотим иметь кнопку “Войти в Plesk”.

Вместо того, чтобы пользователь попадал на login-страницу Plesk и был вынужден вводить свой логин и пароль, можно организовать процедуру автологина (в предположении, что пользователь проходил уже аутентификацию в некоем “Личном кабинете”).

Механизм автологина выглядит следующим образом: запрашиваем по API под администратором токен для клиента, формируем URL для автологина и предоставляем его браузеру пользователю.

Ссылка на официальную документацию по данной теме с подробностями — Automatic Logging In to Plesk [9].

SSH Keys

Последнее расширение, которое хотелось бы рассмотреть, — это SSH Keys [10]. Выше шла речь об аунтентификации клиентов в панели управления. Однако одна из главных вещей в панели — это все-таки управление хостингом [11] и файлами на домене. Для управления файлами можно использовать веб-интерфейс, 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 [12].

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

Резюме

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

Автор: SibProgrammer

Источник [13]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/bezopasnost/82128

Ссылки в тексте:

[1] сайт Extensions Catalog’а: https://ext.plesk.com

[2] LDAP Auth: https://ext.plesk.com/packages/c29ddd7c-cccc-4588-84c8-ac95ee559e69-ldap-auth

[3] Social Auth: https://ext.plesk.com/packages/0612ab49-80ae-4be4-9381-2225a27daa4a-social-auth

[4] oneall.com: http://oneall.com

[5] Google Authenticator: https://ext.plesk.com/packages/d6d6e361-b55d-467f-8b97-6426174c77a1-google-authenticator

[6] аналогичным названием: https://support.google.com/accounts/answer/1066447/

[7] Clef: https://ext.plesk.com/packages/fa0b2434-3c65-40e3-a2ca-2745099f35f3-clef

[8] официальном сайте: https://getclef.com/

[9] Automatic Logging In to Plesk: http://download1.parallels.com/Plesk/Doc/en-US/online/plesk-linux-advanced-administration-guide/index.htm?fileName=73873.htm

[10] SSH Keys: https://ext.plesk.com/packages/2f00d082-7349-4d0b-bfd4-b4c624955806-ssh-keys

[11] хостингом: https://www.reg.ru/?rlink=reflink-717

[12] Authentication Hook: http://download1.parallels.com/Plesk/PP12/12.0/Doc/en-US/online/plesk-extensions-guide/73623.htm

[13] Источник: http://habrahabr.ru/post/250015/