Skip to content

Операционная система должна обеспечивать возможность создания ssh-туннелей, использующих контроль целостности заголовков IP-пакетов в соответствии с ГОСТ Р 34.12-2015.


Поддержка шифрования по ГОСТ в OpenSSL

Для включения поддержки шифрования ГОСТ в OpenSSL необходимо выполнить следующие действия:

Установить пакет openssl-gost-engine (он уже должен быть установлен):

bash
apt-get install openssl-gost-engine

Для дистрибутов отличных от СП необходимо установить также:

bash
apt-get install openssh-gostcrypto openssh-clients-gostcrypto openssh-server-gostcrypto openssh-server-control-gostcrypto openssh-common-gostcrypto openssh-askpass-common-gostcrypto

Изменить конфигурационный файл OpenSSL, выполнив команду:

bash
control openssl-gost enabled

Проверить, доступны ли шифры ГОСТ для OpenSSL:

bash
openssl ciphers | tr ':' '\n' | grep GOST

Список поддерживаемых алгоритмов шифрования трафика:

bash
ssh -Q cipher

Список поддерживаемых MAC (коды аутентификации сообщений):

bash
ssh -Q mac

Настройка ssh сервера

Добавить в файл /etc/openssh/sshd_config строки:

bash
Ciphers grasshopper-ctr@altlinux.org
MACs grasshopper-mac@altlinux.org,hmac-streebog-512@altlinux.org

Перезапустить службу sshd:

bash
service sshd restart

Подключение к серверу ssh

Зайти на сервер по ssh:

bash
ssh <пользователь@сервер> -oCiphers=grasshopper-ctr@altlinux.org -oMACs=grasshopper-mac@altlinux.org,hmac-streebog-512@altlinux.org

Пробросить порт с сервера на локальную машину (для демонстрации туннеля):

bash
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

Зайти на тот же сервер через туннель (в другом окне терминала):

bash
ssh <пользователь>@127.0.0.1 -p 2222 -oCiphers=grasshopper-ctr@altlinux.org -oMACs=grasshopper-mac@altlinux.org,hmac-streebog-512@altlinux.org

Контакты: bystrovno@basealt.ru