vitus_wagner: My photo 2005 (Default)
vitus_wagner ([personal profile] vitus_wagner) wrote2014-09-30 10:40 am

SSH сертификаты

Тут я задумался над вопросом, что слишком много у меня развелось ключевых пар SSH. Я держу отдельный секретный ключ на каждом устройстве. за экраном которого я могу работать, чтобы иметь возможность отзвать ключ в случае чего.

Раньше как-то меня устраивала схема с authorized_keys. Но сейчас развелось планшетов, ноутбуков, виндовых виртуалок (в которых я держу отдельные ключи, поскольку они более подвержены всяким троянам, и может понадобится отозвать ключ виртуалки, не отзывая ключ хоста). В общем authorized_keys на моей домашней машине содержит уже 15 строчек. И распространять его по всем машинам, на которые приходится заходить, надо как-то слишком часто.

А known_hosts вообще под 200 строчек, и большая часть из них про несуществующие уже машины и их ключи. А с тех пор как ssh стал имена хостов хэшировать, чистить его стало неудобно.

В общемя, ч я призадумался над вопросом, а не стоит ли перейти на использование сертификатов.
Сертификаты появились в OpenSSH довольно давно. Более менее вменяемое описание как ими пользоваться можно найти здесь

В этом случае в authorized_keys и known_hostsо станется по одной строчке со ссылокй на ключ CA (ну в known_hosts может быть две - для домашнего CA и для рабочего, чтобы не подписывать своим CA ключи не принадлежащих мне серверов).

Остаются пока следующие вопросы:

1. Как организовать распространение файла RevokedKeys (учитывая что значительная часть машин не всегда влючены)
2. Поддерживаются ли сертификаты во всяких альтернативных по сравнению с openssh клиентах и серверах, которыми приходится пользоваться - putty, vx-connectbot, dropbear, acrosync? Вот sftp-plugin к total commander по-мему их как раз поддерживает, не поддерживая старой схемы с authorized_keys.

[identity profile] http://users.livejournal.com/_arty/ 2014-09-30 07:05 am (UTC)(link)
набор программ у каждого свой, довольно многие из тех, что я использую, не умеют сертификатов :( навскидку могу вспомнить remmina и webstorm

[identity profile] http://users.livejournal.com/_arty/ 2014-09-30 07:12 am (UTC)(link)
в них ходить, ага, а ещё он выкладывать изменения на сервер сам умеет

[identity profile] http://users.livejournal.com/_arty/ 2014-09-30 07:35 am (UTC)(link)
ну не то, чтобы автомагически, им ведь придётся ещё и UI приделать, чтобы эту возможность задействовать, но задача им облегчится, да

[identity profile] http://users.livejournal.com/_arty/ 2014-09-30 08:30 am (UTC)(link)
и правда, можно

[identity profile] orangeudav.livejournal.com 2014-10-01 03:15 pm (UTC)(link)
для такого есть capistrano вообще-то, не должно ide ничего на сервер выкладывать.

[identity profile] http://users.livejournal.com/_arty/ 2014-10-01 03:55 pm (UTC)(link)
спасибо за желание помочь, но на рабочем месте у меня и так уже полный continuous deployment, а для домашних поделок навороты не нужны

[identity profile] max630.livejournal.com 2014-09-30 07:50 am (UTC)(link)
> ssh стал имена хостов хэшировать

это можно отключить

[identity profile] inkelyad.livejournal.com 2014-09-30 05:21 pm (UTC)(link)
А в чем проблема с чисткой known_hosts? Вроде бы ключик -R у ssh-keygen именно для этого служит?

[identity profile] max630.livejournal.com 2014-10-01 10:14 am (UTC)(link)
в sshd_config должен быть параметр, как называется не помню

[identity profile] beldmit.livejournal.com 2014-10-01 10:50 am (UTC)(link)
Спасибо. Врублю сегодня.

[identity profile] spiritualape.livejournal.com 2014-09-30 08:00 am (UTC)(link)
Во-первых, спасибо за ссылку.
Во-вторых... можно ли попросить составить список, что надо прочитать, чтобы прокачаться в сетях и смежных дистиплинах до Вашего уровня? То есть, практически с нуля, и... Вопрос, наверное, даже не в книгах, а в списке тем, дальше, зная тему, можно уже искать и самому...

[identity profile] p2004r.livejournal.com 2014-09-30 09:58 am (UTC)(link)
Я NAG даже распечатал (на игольчатом принтере ps версию :)

[identity profile] spiritualape.livejournal.com 2014-10-01 09:47 am (UTC)(link)
Перефразирую. Нужен список ключевых слов для поиска учебников. Скажем, "сетевое администрирование" практически не возвращает учебников по настройке фаервола, а "настройка фаервола" не научит вас самостоятельно разбирать слабости технологии GPON... Я подозреваю, что ключевых фраз будет около десятка, но сам их не знаю...

[identity profile] spiritualape.livejournal.com 2014-10-01 03:43 pm (UTC)(link)
Вопрос - что это за ключи :) Если не трудно.

[identity profile] snowman-sailor.livejournal.com 2014-09-30 08:49 am (UTC)(link)
>Как организовать распространение файла RevokedKeys (учитывая что значительная часть машин не всегда влючены)

Выложить публично на гитхаб и прописать на целевых машинах cron/init скрипт который делает git pull.

[identity profile] snowman-sailor.livejournal.com 2014-09-30 09:02 am (UTC)(link)
Файл можно и самому подписать, хоть тем же pgp.

[identity profile] snowman-sailor.livejournal.com 2014-09-30 09:41 am (UTC)(link)
а) PGP вроде умеет X.509, так что сертификаты можно переиспользовать.
б) Проверки при скачивании это + одна команда.

[identity profile] snowman-sailor.livejournal.com 2014-09-30 09:52 am (UTC)(link)
Извиняюсь, не знал что SSH не поддерживает из коробки X509

открытый ключ корневого сертификата в любом случае на машине есть значит проверки сводятся к:
git pull && gpg --verify RevokedKeys.sig RevokedKeys && ln RevokedKeys /etc/openssh/RevokedKeys

Сценарий реагирования: если подпись не совпадает, не делать ничего.

[identity profile] inkelyad.livejournal.com 2014-09-30 05:18 pm (UTC)(link)
Заменить github на обычный http хостинг, создав там небольшой личный репозиторий для любимой системы. В современных пакетных менеджерах средства проверки целостности встроены.

[identity profile] alexkuklin.livejournal.com 2014-09-30 09:19 am (UTC)(link)
там нет, насколько я помню, expiration date.
что есть грустно.

[identity profile] alexkuklin.livejournal.com 2014-09-30 09:37 am (UTC)(link)
хм. видимо, добавили, или я просмотрел.
я изучал тему, как обеспечить смену ключей по времени, и тогда я решил, что ssh-сертификаты для этого не подходят

[identity profile] http://users.livejournal.com/_hellmaus_/ 2014-09-30 10:41 am (UTC)(link)
Оффтопик. Можете прокомментировать новости из Гонконга об использовании протестующими мессенджера FireChat: http://www.snob.ru/profile/28836/blog/81611 ?