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