Операционная система должна обеспечивать возможность создания ssh-туннелей, использующих контроль целостности заголовков IP-пакетов в соответствии с ГОСТ Р 34.12-2015.
Поддержка шифрования по ГОСТ в OpenSSL
Для включения поддержки шифрования ГОСТ в OpenSSL необходимо выполнить следующие действия:
Установить пакет openssl-gost-engine (он уже должен быть установлен):
apt-get install openssl-gost-engine
Для дистрибутов отличных от СП необходимо установить также:
apt-get install openssh-gostcrypto openssh-clients-gostcrypto openssh-server-gostcrypto openssh-server-control-gostcrypto openssh-common-gostcrypto openssh-askpass-common-gostcrypto
Изменить конфигурационный файл OpenSSL, выполнив команду:
control openssl-gost enabled
Проверить, доступны ли шифры ГОСТ для OpenSSL:
openssl ciphers | tr ':' '\n' | grep GOST
Список поддерживаемых алгоритмов шифрования трафика:
ssh -Q cipher
Список поддерживаемых MAC (коды аутентификации сообщений):
ssh -Q mac
Настройка ssh сервера
Добавить в файл /etc/openssh/sshd_config
строки:
Ciphers grasshopper-ctr@altlinux.org
MACs grasshopper-mac@altlinux.org,hmac-streebog-512@altlinux.org
Перезапустить службу sshd:
service sshd restart
Подключение к серверу ssh
Зайти на сервер по ssh:
ssh <пользователь@сервер> -oCiphers=grasshopper-ctr@altlinux.org -oMACs=grasshopper-mac@altlinux.org,hmac-streebog-512@altlinux.org
Пробросить порт с сервера на локальную машину (для демонстрации туннеля):
ssh <пользователь@сервер> -oCiphers=grasshopper-ctr@altlinux.org -oMACs=grasshopper-mac@altlinux.org,hmac-streebog-512@altlinux.org -L 127.0.0.1:2222:127.0.0.1:22
Зайти на тот же сервер через туннель (в другом окне терминала):
ssh <пользователь>@127.0.0.1 -p 2222 -oCiphers=grasshopper-ctr@altlinux.org -oMACs=grasshopper-mac@altlinux.org,hmac-streebog-512@altlinux.org