[devel] Новый control для sshd: sshd-allow-gssapi
Alexey V. Vissarionov
gremlin на altlinux.org
Чт Окт 10 09:31:42 MSK 2019
On 2019-10-09 23:54:55 +0400, Evgeny Sinelnikov wrote:
>>> В нашем случае, смысл в этом следующий. У нас довольно активно
>>> пользователи из домена (то бишь админы), начинающие управлять
>>> рабочими станциями, ходят через пароль/логин. Такой вот
>>> windows-подход в домене на базе samba - ничего особенного.
>> Аааа... оно для локалки. Тогда вероятность атаки падает до очень
>> низкой, и тогда даже при неизменном очень высоком уровне
>> ущерба уровень риска падает до приемлемого среднего.
> Ну, вот и хорошо.
Ну, не прям "хорошо", но приемлемо.
>>>> Есть же PubkeyAuthentication - его достаточно для всего (в
>>>> том числе для сертификатов ssh-rsa-cert-v01 на openssh.com и
>>>> ssh-ed25519-cert-v01 на openssh.com).
>>> Причём тут сертификаты?
>> Прежде всего, это штатное средство SSH. Ну и сами сертификаты
>> на определенный ключ можно выписывать хоть одноразовые или
>> со сроком действия в единицы-десятки секунд.
На всякий случай: здесь я описываю реальную практическую задачу.
> Прежде всего, речь идёт не только об админах, но и о любом
> пользователе в домене. Кроме того, если уж говорить о
> сертификатах в таком ключе, то это тоже кромпромиссный
> случай. Дело в том, что GSSAPI через Kerberos рулится
> централизованно,
Дык и CA (а лучше RA) управляется централизованно.
> а разбросанные по узлам публичные ключи в разных файлах
> настройки поди ещё вычисти при необходимости забрать быстро
> доступ.
Ключей там при такой настройке нет - только сертификат CA.
> Да, можно разные ключи можно делать, но всё равно это не даёт
> необходимого функционала.
Ключ в этом случае нужен один. Открытый. Принадлежащий CA (тот
самый сертификат, упомянутый чуть выше).
>>> Кроме включения GSSAPI для серверной стороны (sshd-allow-gssapi),
>>> нужен аналогичный - для клиентской (ssh-allow-gssapi).
>> Оно требует каких-то сборочных зависимостей? Если да - есть
>> смысл собирать отдельно openssh и openssh-featured
> Никаких сборочных зависимостей это не требует. Всё уже давно
> как нужно собрано и работает из коробки.
Вот как раз "из коробки" оно должно быть выключено напрочь.
>>> Ещё одна настройка, которая кажется интересной и которой я
>>> постоянно пользуюсь - это группа remote [...]
>> А еще можно просто выкинуть этот параметр и пускать всех,
>> у кого есть ключ.
> Нет, нельзя так сделать, есть такая категория пользователей,
> которым нужен ssh, а рулить ими нужно из домена.
Эта категория все же маргинальна. И как раз для нее я предложил
openssh-featured
>>> Эти настройки - суть политики. Какие-то из них предполагается
>>> включать сразу при вводе компьютеров в домен. Но, в целом, они
>>> самоценны и вне контекста какой-либо инфраструктуры.
>> В локалке пофигу, но может выйти боком на оборудовании,
>> торчащем голой жопой в дикий интернет.
> Да нет же. Это предубеждение. Kerberos создан для работы в диком
> интернете, как раз.
Помню я этот интернет 20-летней давности...
>>> Так вот. Как лучше поступить? Держать их в отдельном пакете
>>> или сразу интегрировать, в openssh?
>> Все же в openssh-featured :-)
>> Или, соответственно, в openssh-featured-control-gssapi
> Нет, нет, нет. Речь не в том, что необходимо пересобирать
> openssh бинарно. На основании чего вы это решили?
Мы - это кто? Я здесь пишу исключительно от собственного имени.
А разные сборки мне видятся вполне естественным решением.
> Далее хочу пояснить всё это детально (для тех, кто в танке).
> 1) У нас для настройки локальных политик безопасности уже
> давно используется такой инструмент, как control.
Ээээ... Да я в общем-то уже почти 20 лет лично знаком с автором.
> 2) Этот инструмент позволяет задавать настройки, которые
> позволяют понизить или повысить уровень закрученных гаек,
> что-то включить или выключить.
> 3) Реально эти политики у нас упакованы в разных пакетах,
> для ssh - в пакете openssh-server-control
> 4) По уму, эти политики есть резон расширить, как минимум
> двумя: sshd-allow-gssapi и ssh-allow-gssapi
> 5) Таких штук придумано уже достаточно много, но сейчас
> нужно запилить ещё больше для конкретных, узких задач.
> Так вот. Как лучше поступить? Держать их в отдельном пакете
> local-policy или сразу интегрировать, в соответствующие пакеты?
В таком случае - совершенно точно в отдельном пакете.
> Понятно, что нужно делать и предлагать по каждому пакету
> отдельно. Пока речь шла об openssh и том, что новые control'ы
> можно сразу туда и добавить. Технически, это не столь важно,
> как организационно. Тут, скорее, вопрос ставится так: "Мы
> хотим напилить много новых control'ов. Просим и предлагаем
> подключиться к их разработке и тестированию."
Да сколько угодно. Только в основную систему их не тащите - они
очень уж маргинальны.
--
Alexey V. Vissarionov
gremlin ПРИ altlinux ТЧК org; +vii-cmiii-ccxxix-lxxix-xlii
GPG: 0D92F19E1C0DC36E27F61A29CD17E2B43D879005 @ hkp://keys.gnupg.net
Подробная информация о списке рассылки Devel