Google опублікував HIBA, надбудову над OpenSSH для авторизації на основі сертифікатів

Компанія Google опублікувала вихідні тексти проекту HIBA (Host Identity Based Authorization), що пропонує реалізацію додаткового механізму авторизації для організації доступу користувачів по SSH у прив'язці до хостів (перевірки, чи дозволено доступ до конкретного ресурсу при аутентифікації за відкритими ключами). Інтеграція з OpenSSH забезпечується через вказівку обробника HIBA у директиві AuthorizedPrincipalsCommand у /etc/ssh/sshd_config. Код проекту написаний мовою Сі та поширюється під ліцензією BSD.

HIBA використовує штатні механізми аутентифікації на основі сертифікатів OpenSSH для гнучкого та централізованого управління авторизацією користувачів у прив'язці до хостів, але не вимагає при цьому періодичної зміни файлів authorized_keys та authorized_users на стороні хостів, до яких здійснюється підключення. Замість зберігання списку допустимих публічних ключів та умов доступу у файлах authorized_(keys|users), HIBA інтегрує відомості про прив'язку користувачів до хостів безпосередньо до сертифікатів. Зокрема, запропоновано розширення для сертифікатів хостів та сертифікатів користувачів, у яких зберігаються параметри хостів та умови надання доступу користувачів.

Перевірка на стороні хоста ініціюється через виклик обробника hiba-chk, прописаного в директиві AuthorizedPrincipalsCommand. Цей обробник декодує інтегровані в сертифікати розширення та на їх основі приймає рішення про надання або блокування доступу. Правила доступу визначаються централізовано на рівні центру, що засвідчує (CA) і інтегруються в сертифікати на етапі їх генерації.

На стороні центру, що засвідчує, ведеться загальний список доступних повноважень (хостів до яких дозволено підключення) і список користувачів, яким дозволено скористатися цими повноваженнями. Для генерації завірених сертифікатів з інтегрованою інформацією про повноваження запропонована утиліта hiba-gen, а функціональність необхідна для створення центру, що засвідчує, винесена в скрипт iba-ca.sh.

Під час підключення користувача зазначені в сертифікаті повноваження підтверджуються цифровим підписом центру, що засвідчує, що дозволяє виконати всі перевірки повністю на стороні цільового хоста, до якого здійснюється підключення, без звернення до зовнішніх служб. Список відкритих ключів центру, що засвідчує SSH-сертифікати, вказується через директиву TrustedUserCAKeys.

Крім прямої прив'язки користувачів до хостів, HIBA дозволяє визначити гнучкіші правила доступу. Наприклад, до хостів можна прив'язати таку інформацію як місцезнаходження та тип сервісу, а при визначенні правил доступу користувачів дозволити підключення до всіх хостів із заданим типом сервісу або до хостів у зазначеному місці.

Google опублікував HIBA, надбудову над OpenSSH для авторизації на основі сертифікатів
Google опублікував HIBA, надбудову над OpenSSH для авторизації на основі сертифікатів


Джерело: opennet.ru

Додати коментар або відгук