Вопрос: Существуют ли какие-либо преимущества безопасности для развертывания настраиваемых групп SSH DH для клиентских систем?


Одна предлагаемая смягчающая стратегия против заторсвязанные атаки на SSH - генерировать пользовательские группы SSH Diffie-Hellman, используя что-то вроде (ниже для OpenSSH)

ssh-keygen -G moduli-2048.candidates -b 2048
ssh-keygen -T moduli-2048 -f moduli-2048.candidates

с последующим заменой общесистемного файла модулей выходным файлом moduli-2048, (ssh-keygen -G используется для генерации кандидатов DH-GEX простых чисел и ssh-keygen -T для проверки сгенерированных кандидатов на предмет безопасности.)

Это довольно разумно сделать на SSH-серверах, которые в противном случае использовали бы известные группы, которые хорошо поддаются предварительной оценке, но существуют ли какие-либо преимущества безопасности для развертывания настраиваемых групп SSH DH в системах только для клиентов? (То есть, системы, которые подключаются к SSH-серверам, но никогда не действуют как сервер SSH.)

Меня в первую очередь интересуют ответы, связанные с OpenSSH на Linux, но более общие ответы также будут оценены.


16
2018-05-23 12:28


Источник




Ответы:


Вы можете, если хотите, но я бы не стал регенерировать 2048-битные параметры DH для OpenSSH. Есть гораздо более важные вещи, которые вам нужны для сделать, чтобы защитить SSH, например отключить слабый крипто,

Что я бы do - удалить существующие, которые составляют менее 2048 бит.

awk '$5 >= 2000' /etc/ssh/moduli > /etc/ssh/moduli.strong && \
mv /etc/ssh/moduli.strong /etc/ssh/moduli

Если вы не заметили, OpenSSH поставляется с большим количеством предварительно сгенерированных модулей, вплоть до 8192 бит. В то время как мы, конечно же, обеспокоены 1024-битными штрихами, 2048-битные считают безопасными в обозримом будущем. И хотя это в конечном итоге изменится, это может произойти на следующей неделе, но, скорее всего, это будет долго после того, как мы станем пенсионерами ...

Существует также этот любопытный бит в ssh-keygen справочная страница:

Важно, чтобы этот файл содержал модули диапазона бит длины и что оба конца соединения имеют общие модули.

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


17
2018-05-23 17:18



Связанный: Диффи-Хеллман с использованием другого модуля с обеих сторон на криптография, К моему ограниченному пониманию, кажется, что если нет общих модулей желаемой длины, то Диффи-Хеллман с группой этой длины невозможен в общем случае и может оказаться невозможным в любом конкретном случае. Следовательно, наличие модулей, разделяемых между двумя конечными точками, является математическим требованием протокола обмена ключами Диффи-Хелмана, и попытка выполнить обмен ключами Диффи-Хеллмана между двумя конечными точками, которые не имеют общих модулей, не сработает. - Michael Kjörling
RFC 4419 [tools.ietf.org/html/rfc4419] как раз для того, чтобы позволить серверу предоставлять пользовательские параметры DH. Сервер отправляет клиенту параметры кандидата, и если клиент согласен, обе стороны используют предоставленные сервером параметры для генерации разделяемого ключа, который используется в качестве ключа сеанса. Таким образом, отлично, если сервер и клиент не имеют одинаковых записей в своем файле модулей. - Brian Minton