Compania Google a publicat codurile sursă ale proiectului HIBA (Host Identity Based Authorization), care propune implementarea unui mecanism suplimentar de autorizare pentru organizarea accesului utilizatorilor prin SSH, legat de gazde (verificări, dacă accesul la un anumit resurs este permis sau nu în cadrul autentificării cu chei publice). Integrarea cu OpenSSH se face prin specificarea handler-ului HIBA în directiva AuthorizedPrincipalsCommand din /etc/ssh/sshd_config. Codul proiectului este scris în limbajul C și este distribuit sub licența BSD.
HIBA utilizează mecanismele standard de autentificare bazate pe certificate OpenSSH pentru un management flexibil și centralizat al autorizării utilizatorilor legat de gazde, dar nu necesită modificarea periodică a fișierelor authorized_keys și authorized_users pe gazdele la care se conectează. În loc să păstreze o listă de chei publice permise și condiții de acces în fișierele authorized_(keys|users), HIBA integrează informațiile despre legătura utilizatorilor cu gazdele direct în certificate. În particular, sunt propuse extensii pentru certificatele gazdelor și certificatele utilizatorilor, care stochează parametrii gazdelor și condițiile de acordare a accesului utilizatorilor.
Verificarea pe partea gazdei este inițiată prin apelarea handler-ului hiba-chk, specificat în directiva AuthorizedPrincipalsCommand. Acest handler decodează extensiile integrate în certificate și pe baza lor ia decizia de a permite sau de a bloca accesul. Regulile de acces sunt definite centralizat la nivelul autorității de certificare (CA) și sunt integrate în certificate în timpul generării acestora.
Pe partea autorității de certificare se menține o listă comună a puterilor disponibile (gazde la care conectarea este permisă) și o listă a utilizatorilor care au permisiunea de a utiliza aceste puteri. Pentru generarea certificatelor verificate cu informații integrate despre puteri, este propusă utilitarul hiba-gen, iar funcționalitatea necesară pentru crearea unei autorități de certificare a fost scoasă într-un script iba-ca.sh.
At the connection of the user, the credentials specified in the certificate are verified by the digital signature of the certification authority, allowing all checks to be performed entirely on the target host to which the connection is made, without referring to external services. The list of public keys of the certification authority that issues SSH certificates is specified through the TrustedUserCAKeys directive.
In addition to directly linking users to hosts, HIBA allows for more flexible access rules. For example, information such as location and type of service can be linked to hosts, and when determining access rules for users, connections can be allowed to all hosts with a given type of service or to hosts in a specified location.


Sursa: opennet.ro
