The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги ]

Настройка SSH для использования наиболее защищённых алгоритмов шифрования
В свете появления сведений об организации АНБ атак, направленных на
получение контроля над SSH-соединениями, подготовлено руководство с
рекомендациями по усилению защищённости SSH. АНБ может получить контроль за
SSH-соединением  в случае использования уязвимых методов шифрования или в
результате захвата приватных ключей. Ниже представлены советы по отключению
потенциально проблемных алгоритмов и усилению защиты.


Обмен ключами.

Применяемые в SSH методы обмена ключей  DH (Diffie-Hellman) и ECDH (Elliptic
Curve Diffie-Hellman) можно считать безопасными. Из 8 поддерживаемых в SSH
протоколов обмена ключами вызывают подозрения три,  основанные на рекомендациях
NIST: ecdh-sha2-nistp256, ecdh-sha2-nistp384, ecdh-sha2-nistp521. Не
заслуживающими полного доверия также можно считать протоколы, использующие
потенциально проблемный SHA1. Протоколы curve25519-sha256 и diffie-hellman-group-exchange-sha256
 пока не вызывают сомнений в безопасности.

Для использования только заслуживающих доверия протоколов обмена ключами в
/etc/ssh/sshd_config  для сервера следует указать:

    KexAlgorithms curve25519-sha256@libssh.org,diffie-hellman-group-exchange-sha256

Аналогичные настройки для клиента, в /etc/ssh/ssh_config:

   Host *
      KexAlgorithms curve25519-sha256@libssh.org,diffie-hellman-group-exchange-sha256

В /etc/ssh/moduli можно указать (или удалить строки с размером ключа, менее 2048):

   ssh-keygen -G /tmp/moduli -b 4096
   ssh-keygen -T /etc/ssh/moduli -f /tmp/moduli


Аутентификация.

В SSH поддерживается четыре алгоритма аутентификации по открытым ключам: DSA,
ECDSA,  Ed25519 и RSA. ECDSA завязан на технологиях NIST и должен быть
отключен. К сожалению, если просто удалить ключ ECDSA, он будет повторно
сгенерирован, поэтому можно воспользоваться обходным путём с создать заведомо
нерабочую символическую ссылку, которая помешает сгенерировать и использовать ключ:

   cd /etc/ssh
   rm ssh_host_ecdsa_key*
   rm ssh_host_key*
   ln -s ssh_host_ecdsa_key ssh_host_ecdsa_key
   ln -s ssh_host_key ssh_host_key

Так как размер ключей DSA  не может превышать 1024, его тоже следует отключить тем же способом:

   cd /etc/ssh
   rm ssh_host_dsa_key*
   ln -s ssh_host_dsa_key ssh_host_dsa_key

Далее, следует позаботиться о RSA, сгенерировав ключ большего размера:

   cd /etc/ssh
   rm ssh_host_rsa_key*
   ssh-keygen -t rsa -b 4096 -f ssh_host_rsa_key < /dev/null

Для создания клиентских ключей лучше использовать команды:

   ssh-keygen -t ed25519
   ssh-keygen -t rsa -b 4096


Симметричные шифры.

Из 15 поддерживаемых в SSH алгоритмов симметричного шифрования, используемых
для организации защиты установленного канала связи, безопасными можно считать
chacha20-poly1305, aes*-ctr и aes*-gcm. Шифры 3des-cbc и arcfour потенциально
уязвимы в силу использования DES и RC4, cast128-cbc применяет слишком короткий
размер блока (64 бит).

В итоге, в /etc/ssh/sshd_config рекомендуется добавить:

   Ciphers aes256-gcm@openssh.com,aes128-gcm@openssh.com,chacha20-poly1305@openssh.com,aes256-ctr,aes192-ctr,aes128-ctr

В /etc/ssh/ssh_config:

   Host *
      Ciphers aes256-gcm@openssh.com,aes128-gcm@openssh.com,chacha20-poly1305@openssh.com,aes256-ctr,aes192-ctr,aes128-ctr

Код аутентичности сообщения (MAC).

Для шифров в режиме  CTR для гарантирования  целостности передаваемых блоков
доверия заслуживает только метод Encrypt-then-MAC ("*-etm", MAC добавляется  к
уже зашифрованному блоку). Методы MAC-then-encrypt и Encrypt-and-MAC
потенциально подвержены атакам. Из 18 доступных в SSH алгоритмов MAC  сразу
следует отбросить основанные на хэшах  MD5 и SHA1, не стойких к выявлению
коллизий, а также алгоритмы использующие размеры ключей менее 128 бит и размеры
тегов менее 256 бит. В итоге, наиболее безопасными MAC  можно считать
hmac-sha2-512-etm и hmac-sha2-256-etm.

В /etc/ssh/sshd_config:

   MACs hmac-sha2-512-etm@openssh.com,hmac-sha2-256-etm@openssh.com

В /etc/ssh/ssh_config:

   # Для GitHub в качестве исключения добавляем mac-sha2-512, так как он не поддерживает Encrypt-then-MAC.
   Host github.com
       MACs hmac-sha2-512-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512

   Host *
      MACs hmac-sha2-512-etm@openssh.com,hmac-sha2-256-etm@openssh.com


Защита от утечки ключей.

Наиболее простым способом получения контроля за SSH-соединением является захват
ключей на стороне клиента или сервера. Рекомендации сводятся к соблюдению
типовых правил поддержания безопасности системы: оперативная установка
обновлений, установка программ только из надёжных источников, установка только
действительно необходимых программ и сервисов, использование программ для
которых доступны исходные тексты, включение дополнительных механизмов защиты
(Grsecurity, сборка с флагом -fstack-protector).

Для защиты ключей следует выбрать надёжный пароль доступа к клиентским файлам
ключей. При формировании ключа для увеличения числа итераций хэширования можно
использовать опцию "ssh-keygen -o -a число", что  усложнит подбор пароля. Также
можно сохранить ключи только на внешнем носителе, подключая его только во время
соединения по SSH.

Защита от анализа транзитного трафика.

SSH-сервер можно настроить в виде скрытого сервиса Tor, что скроет IP, а также
добавит дополнительный слой шифрования и аутентификации.

Для приема соединений только через скрытый сервис Tor можно использовать следующие настройки:

В /etc/ssh/sshd_config (для приема соединений из LAN следует вместо привязки к
127.0.0.1 использовать для ограничения доступа межетевой экран):

   ListenAddress 127.0.0.1:22

В /etc/tor/torrc добавим:

   HiddenServiceDir /var/lib/tor/hidden_service/ssh
   HiddenServicePort 22 127.0.0.1:22

Имя скрытого хоста для подключения можно найти в файле /var/lib/tor/hidden_service/ssh/hostname. 

Для настройки подключения клиента к скрытому сервису Tor в  /etc/ssh/ssh_config можно добавить:

   Host *.onion
       ProxyCommand socat - SOCKS4A:localhost:%h:%p,socksport=9050
 
07.01.2015 , Источник: https://stribika.github.io/2015/01/...
Ключи: ssh, crypt, setup, security, nsa / Лицензия: CC-BY
Раздел:    Корень / Безопасность / Шифрование, PGP

Обсуждение [ Линейный режим | Показать все | RSS ]
 
  • 1.1, Аноним, 21:54, 07/01/2015 [ответить] [смотреть все]
  • +/
    1 Хотелось бы видеть какие-то более разумные основания для выбора тех или иных ... весь текст скрыт [показать]
     
     
  • 2.12, charon, 18:45, 13/01/2015 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Разумные основания есть в полной версии статьи https stribika github io 2015 ... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.17, Аноним, 23:04, 13/01/2015 [^] [ответить] [смотреть все]  
  • +/
    Степень их разумности подвергается ряду сомнений Например, автор не в курсе чт... весь текст скрыт [показать]
     
     
  • 4.19, charon, 15:19, 14/01/2015 [^] [ответить] [смотреть все]  
  • +/
    Это лишь уточнение общих положений Кстати, во второй предоставленной мной ссылк... весь текст скрыт [показать]
     
  • 1.2, Аноним, 23:26, 07/01/2015 [ответить] [смотреть все]  
  • +/
    Настраивать клиент обязательно Клиент с сервером же договариваются при подключе... весь текст скрыт [показать]
     
     
  • 2.3, Аноним, 05:24, 08/01/2015 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Тоже не пользовался, но думаю это поможет Имя скрытого хоста для подключения мо... весь текст скрыт [показать] [показать ветку]
     
  • 2.5, Аноним, 17:26, 09/01/2015 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Посмотришь адрес hidden сервиса в файле - и все, можно ходить по нему Он уникал... весь текст скрыт [показать] [показать ветку]
     
  • 2.13, charon, 18:47, 13/01/2015 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    конечно, обязательно Предполагается, что вы будете своим клиентом лазить на сер... весь текст скрыт [показать] [показать ветку]
     
  • 1.4, Hammer, 11:24, 08/01/2015 [ответить] [смотреть все]  
  • –1 +/
    Это паранойя, господа.
    https://ru.wikipedia.org/wiki/%D0%9F%D0%B0%D1%80
     
     
  • 2.6, Аноним, 17:27, 09/01/2015 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Не, не так. "А с пустою головою легче прыгать по земле".
     
  • 2.14, charon, 18:48, 13/01/2015 [^] [ответить] [смотреть все] [показать ветку]  
  • –1 +/
    ну да, Сноуден параноик, Брюс Шнайер - параноик А можно поинтересоваться вашей ... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.16, Hammer, 22:09, 13/01/2015 [^] [ответить] [смотреть все]  
  • –2 +/
    Не вижу связи между ssh, Сноуденом и Шнайером Вы сами то, собственно говоря, кт... весь текст скрыт [показать]
     
     
  • 4.18, charon, 15:17, 14/01/2015 [^] [ответить] [смотреть все]  
  • +/
    Связь между Сноуденом, Шнайером и ssh прямая, потому что эта вся затея с оптимиз... весь текст скрыт [показать]
     
     
  • 5.20, Hammer, 02:26, 17/01/2015 [^] [ответить] [смотреть все]  
  • +/
    Поведайте не евреям Я не эксперт по формационной безопасности, как не эксперт с... весь текст скрыт [показать]
     
  • 2.21, Protector, 22:25, 19/01/2015 [^] [ответить] [смотреть все] [показать ветку]  
  • –1 +/
    Вы перед тем как такие заключения делать, изучите тему Желательно включив перед... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.24, Hammer, 01:32, 30/01/2015 [^] [ответить] [смотреть все]  
  • +1 +/
    Еще один Может я не теми буквами пишу Поясните мне, связь то какая ... весь текст скрыт [показать]
     
     
  • 4.26, Аноним, 18:18, 04/03/2015 [^] [ответить] [смотреть все]  
  • +/
    ты не тем местом делаешь то, что в иной ситуациии, с большими натяжками, можно б... весь текст скрыт [показать]
     
     
  • 5.28, Hammer, 03:15, 14/03/2015 [^] [ответить] [смотреть все]  
  • +/
    Вы это, видимо, про себя К то му же Вы хам Послушайте Вы, ехсьперт , вы на в... весь текст скрыт [показать]
     
  • 1.7, Аноним, 22:06, 09/01/2015 [ответить] [смотреть все]  
  • +/
    А почему у меня в файле etc ssh moduli только последние несколько байт модуля о... весь текст скрыт [показать]
     
  • 1.8, Hmmmmm, 12:58, 10/01/2015 [ответить] [смотреть все]  
  • +/
    а потом люди попытаются подключится через распространенного клиента Putty и что же они увидят?
     
     
  • 2.9, Аноним, 14:40, 10/01/2015 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Putty пользователи, должны страдать!
     
  • 2.11, Аноним, 13:25, 13/01/2015 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    http://ttssh2.sourceforge.jp/
     
  • 2.15, charon, 18:51, 13/01/2015 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    > а потом люди попытаются подключится через распространенного клиента Putty и что же
    > они увидят?

    я даже проверил - я вчера оптимизировал свой сервер с учётом части рекомендаций. Только что зашел путти - всё сработало, всё отлично.

     
     
  • 3.22, pavlinux, 18:04, 20/01/2015 [^] [ответить] [смотреть все]  
  • +/
    >> а потом люди попытаются подключится через распространенного клиента Putty и что же
    >> они увидят?
    > я даже проверил - я вчера оптимизировал свой сервер с учётом части
    > рекомендаций. Только что зашел путти - всё сработало, всё отлично.

    Низдипи hmac-sha2-512-etm@openssh.com,hmac-sha2-256-etm@openssh.com пуття не умеет

     
  • 1.10, pavlinux, 16:39, 11/01/2015 [ответить] [смотреть все]  
  • +/
    Ой, тут косяк в тексте про файлик moduli
     
  • 1.23, Аноним, 10:39, 23/01/2015 [ответить] [смотреть все]  
  • +/
    ЕС алгоритмы я бы не выбрасывал.
     
  • 1.25, Аноним, 11:45, 31/01/2015 [ответить] [смотреть все]  
  • +/
    Большинство этих параметров ssh не переваривает и не запускается ВИдать скомпил... весь текст скрыт [показать]
     
  • 1.29, anon2112, 14:52, 17/12/2015 [ответить] [смотреть все]  
  • +/
    https://cipherli.st/
     

    Ваш комментарий
    Имя:         
    E-Mail:      
    Заголовок:
    Текст:




      Закладки на сайте
      Проследить за страницей
    Created 1996-2017 by Maxim Chirkov  
    ДобавитьРекламаВебмастеруГИД  
    Hosting by Ihor