Компания Google публикува исходните текстове на проекта HIBA (Host Identity Based Authorization), който предлага допълнителен механизъм за авторизация за управление на достъпа на потребителите през SSH, свързан с хостове (проверка дали достъпът до конкретен ресурс е разрешен или не при удостоверяване с публични ключове). Интеграцията с OpenSSH се осъществява чрез указване на обработчика HIBA в директивата AuthorizedPrincipalsCommand в /etc/ssh/sshd_config. Кодът на проекта е написан на езика C и е разпространен под лиценз BSD.
HIBA използва стандартните механизми за удостоверяване на основата на сертификати на OpenSSH за гъвкаво и централизирано управление на авторизацията на потребителите, свързана с хостовете, но не изисква периодична промяна на файловете authorized_keys и authorized_users на сторните хостове, към които се свързват. Вместо да съхранява списък с допустими публични ключове и условия за достъп във файловете authorized_(keys|users), HIBA интегрира информация за привързването на потребителите към хостовете директно в самите сертификати. В частност, предложени са разширения за сертификатите на хостовете и сертификатите на потребителите, в които се съхраняват параметрите на хостовете и условията за предоставяне на достъп на потребителите.
Проверки на страната на хоста се инициират чрез повикване на обработчика hiba-chk, указан в директивата AuthorizedPrincipalsCommand. Този обработчик декодира интегрираните в сертификатите разширения и на тяхна основа взема решение за предоставяне или блокиране на достъп. Правилата за достъп се определят централно на ниво удостоверяващ център (CA) и се интегрират в сертификатите по време на тяхното генериране.
На страната на удостоверяващия център се съхранява общ списък на наличните пълномощия (хостове, към които е разрешено свързването) и списък на потребителите, на които е разрешено да използват тези пълномощия. За генериране на заверени сертификати с интегрирана информация за пълномощията е предложена утилита hiba-gen, а необходимата функционалност за създаване на удостоверяващ център е изнесена в скрипта iba-ca.sh.
При свързване на потребителя удостоверените в сертификата права се потвърдват чрез цифровия подпис на удостоверяващия център, което позволява извършването на всички проверки напълно от страната на целевия хост, към който се извършва свързването, без необходимост от достъп до външни услуги. Списъкът с публичните ключове на удостоверяващия център, който удостоверява SSH сертификатите, се указва чрез директивата TrustedUserCAKeys.
Освен директната привързаност на потребителите с хостовете, HIBA позволява определяне на по-гъвкави правила за достъп. Например, към хостовете може да се привърже информация като местоположение и тип услуга, а при определяне на правилата за достъп на потребителите да се разреши свързването с всички хостове с зададен тип услуга или с хостове в указаното място.


Източник: opennet.ru
