- PVSM.RU - https://www.pvsm.ru -
Использование паролей для аутентификации имеет свои нюансы. Сложные пароли трудно запомнить, легкий пароль — могут подобрать. Если паролей нужно несколько десятков, то запоминать их все становится мучительно. Пароли начинают записывать. Хорошо, если это что-то типа программы 1password, а то ведь может быть и “бумажка на монитор/под клавиатуру” или начинают использовать один и тот же пароль для разных сервисов (пускай даже и сложный). Кто-то может справедливо считать, что его пароли не стоят 3-х тысяч рублей за 1password (столько стоит программа в Mac App Store). В итоге возникает мысль: как бы сократить количество паролей, которые нужно помнить и, желательно, без особого ущерба безопасности.
В Plesk, начиная с версии 12.0, появился ряд опций, которые позволяют не пользоваться паролями, хранящимися непосредственно в продукте. В основном, все рассмотренные ниже варианты представляют собой расширения для Plesk. Найти и поставить каждое из них можно, если зайти в панель под администратором и далее в Extensions (в левом меню), после чего перейти в Extensions Catalog. Но я, для наглядности, буду приводить ссылки на сайт Extensions Catalog’а [1].
Самое первое и, пожалуй, самое простое расширение, которое хотелось бы рассмотреть — это LDAP Auth [2]. Это расширение позволяет научить Plesk аутентифицировать клиентов по LDAP. Предварительно клиент должен уже быть создан в Plesk и не находиться в заблокированном состоянии.
После установки расширения заходим в настройки, включаем его, указываем хост и префикс для логина. Пример, как это может выглядеть в интеграции с Active Directory — на скриншоте ниже:
Этим расширением мы активно пользуемся на тех Plesk, которые установлены внутри компании.
Следующее расширение — это Social Auth [3]. Оно позволяет организовать аутентификацию через социальные сервисы. С точки зрения администратора, настройка этого расширения заметно сложнее. Но конечный результат того стоит.
Допустим, хочется организовать аутентификацию в Plesk с помощью Google Account. Интеграция делается не напрямую с каждым сервисом, а с помощью агрегатора oneall.com [4]. Этот способ в ряде случаев гораздо проще и быстрее позволяет добиться нужного результата. Регистрируем аккаунт в oneall, настраиваем нужный сервис или сервисы, возвращаемся в Plesk и в настройках расширения включаем аутентификацию, указываем ключи для oneall и выбираем нужные сервисы:
Как только все настройки выполнены, на логин-странице появятся дополнительные кнопки для входа в панель через социальные сервисы.
Этим расширением я активно пользуюсь на Plesk, которые установлены на внешних серверах (вне локального интранета), где я являюсь администратором.
Двухфакторная аутентификация представлена в виде расширения Google Authenticator [5].
На телефон нужно установить приложение с аналогичным названием [6]. Далее устанавливаем расширение в панель и включаем его в настройках. Для того, чтобы сконфигурировать расширение, нужно отсканировать приложением на телефоне QR-код:
Далее при входе в панель вас спросят verification code, узнать который можно в приложении Google Authenticator на телефоне:
Яркое впечатление на разного рода презентациях производит демонстрация работы расширения Clef [7]. Это расширение позволяет, используя мобильный телефон, выполнить аутентификацию в панели.
Устанавливаем приложение на телефон, устанавливаем расширение в панель и связываем. Связывание делается очень просто, буквально в пару кликов. После этого на логин-странице появляется еще одна кнопка “Войти с помощью телефона”. Работает это примерно так:
В следующий момент мы попадаем в панель. Причем все произошло без касания клавиатуры :)
Узнать дополнительную информацию о самом Clef’е можно на официальном сайте [8].
Пользуюсь этим расширением иногда на одном из серверов. Но обычно лень заставляет обратиться к, может быть, менее безопасному, но более удобному для меня варианту через расширение Social Auth и аутентификацию с помощью Google Account.
Еще одним вариантом аутентификации клиентов в панели может быть использование токенов. Речь уже не о каком-то конкретном расширении, а об интеграции. Допустим мы являемся хостинг-провайдером и у нас есть личный кабинет пользователя. В личном кабинете мы хотим иметь кнопку “Войти в Plesk”.
Вместо того, чтобы пользователь попадал на login-страницу Plesk и был вынужден вводить свой логин и пароль, можно организовать процедуру автологина (в предположении, что пользователь проходил уже аутентификацию в некоем “Личном кабинете”).
Механизм автологина выглядит следующим образом: запрашиваем по API под администратором токен для клиента, формируем URL для автологина и предоставляем его браузеру пользователю.
Ссылка на официальную документацию по данной теме с подробностями — Automatic Logging In to Plesk [9].
Последнее расширение, которое хотелось бы рассмотреть, — это SSH Keys [10]. Выше шла речь об аунтентификации клиентов в панели управления. Однако одна из главных вещей в панели — это все-таки управление
После установки расширения идем в необходимую нам подписку. На Websites & Domains справа появилась новая кнопка SSH Keys.
Там присутствует список ключей и возможность добавить новый ключ.
Для того, чтобы была возможность воспользоваться SSH’ем, нужно включить у конкретного пользователя возможность использования шелла. Делается это на Websites & Domains -> Web Hosting Access. Выбираем, например, /bin/bash и сохраняем форму.
Этим расширением я активно пользуюсь практически на всех инсталляциях 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/
Нажмите здесь для печати.