Перестаємо користуватися паролями в Plesk'е

Навіщо це потрібно?

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'е з допомогою Goolge Account. Інтеграція робиться не безпосередньо з кожним сервісом, а з допомогою агрегатора oneall.com Цей спосіб у ряді випадків набагато простіше і швидше дозволяє домогтися потрібного результату. Реєструємо акаунт у oneall, налаштовуємо потрібний сервіс або сервіси, повертаємося в Plesk і в налаштуваннях розширення включаємо аутентифікацію, вказуємо ключі для oneall і вибираємо потрібні сервіси:

image
Як тільки всі налаштування виконані, на логін-сторінці з'являться додаткові кнопки для входу в панель через соціальні сервіси.

image
Цим розширенням я активно користуюся на Plesk'ах, які встановлені на зовнішніх серверах (поза локального інтранету), де я є адміністратором.

Google Authenticator

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

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

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

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'ом і вам набридла аутентифікація з використанням паролів, тобто можливість спробувати інші варіанти. Деякі з них можуть здатися досить цікавими і сподобатися для щоденного використання.

Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.