Оглавление |
---|
Информация | ||
---|---|---|
|
- ОС ОН Орёл 2.12;
- ОС СН Смоленск 1.6;
- ОС СН Ленинград 8.1.
|
Установка пакетов
Пакеты SSH (сервер — пакет openssh-server и клиент — пакет openssh-client) входит в дистрибутивы Astra Linux. При установке ОС по умолчанию устанавливается только клиент (openssh-client)
Установка пакета
Пакет SSH входит в дистрибутивы ОС ОН Орёл 2.12 и ОС СН Смоленск 1.6, но по умолчанию устанавливается только клиент.
Установку сервера можно выполнить:
- при
- установке ОС, отметив соответствующий пункт в диалоге выбора программного обеспечения
либо
- . При этом будет установлен пакет openssh-server;
после установки
ОС с помощью графического менеджера пакетов
(см. Графический менеджер пакетов synaptic) или из командной строки:
Command sudo apt install ssh При установке пакета ssh
устанавливаются и клиент и сервер.
Установленная с помощью После установки с помощью графического менеджера пакетов или из или из командной строки сервис служба запускается автоматически, а также сразу включается перезапуск службы после перезагрузки ОС.В ОС ОН
Служба, установленная при установке ОС:
- в Astra Linux
- Common Edition начиная с
- обновления 2.12.12
- и в Astra Linux Special Edition x.7 сервер SSH запускается после перезагрузки автоматически
- ;
в более ранних обновлениях автоматический запуск сервера SSH по умолчанию отключен. Автоматический запуск нужно разрешить отдельно командой:
Command sudo systemctl enable
ssh
а также для включения службы SSH без перезагрузки запустить службу:
Command sudo systemctl start ssh
Настройка пакетаслужбы ssh
Проверить состояние сервисаслужбы:
Command |
---|
systemctl status ssh |
Конфигурация сервера службы хранится в файле /etc/ssh/sshd_config. Чтобы изменения конфигурации вступили в силу необходимо перезапустить сервистребуется перезапуск службы:
Command |
---|
systemctl restart sshd |
Информация | ||
---|---|---|
Если значения параметров конфигурации содержат пробелы, то эти значения должны быть заключены в кавычки, например:
|
Описание синтаксиса конфигурации доступно в справочной системе man:
Command |
---|
man sshd_config |
Простейшие меры безопасности
Из соображений повышения безопасности рекомендуется изменить некоторые значения по умолчанию:
- Port - номер порта, который слушает сервис (22) - изменить значение на любое другое и в дальнейшем использовать этот номер порта;
- MaxAuthTries - количество попыток подключения (6) - уменьшить, например, до 3;
- LoginGraceTime - время, дающееся для подключения (2m) - уменьшить, например до 30s.
Дополнительно, можно ограничить IP-адреса, с которых возможно подключение, например:
в файле /etc/hosts.deny запретить все подключения:
Информация # /etc/hosts.deny: list of hosts that are _not_ allowed to access the system.
# See the manual pages hosts_access(5) and hosts_options(5).
#
# Example: ALL: some.host.name, .some.domain
# ALL EXCEPT in.fingerd: other.host.name, .other.domain
#
# If you're going to protect the portmapper use the name "rpcbind" for the
# daemon name. See rpcbind(8) and rpc.mountd(8) for further information.
#
# The PARANOID wildcard matches any host whose name does not match its
# address.
#
# You may wish to enable this to ensure any programs that don't
# validate looked up hostnames still leave understandable logs. In past
# versions of Debian this has been the default.
# ALL: PARANOIDSSHD: ALL
а в файле /etc/hosts.allow разрешить только необходимые подключения:
Информация # /etc/hosts.allow: list of hosts that are allowed to access the system.
# See the manual pages hosts_access(5) and hosts_options(5).
#
# Example: ALL: LOCAL @some_netgroup
# ALL: .foobar.edu EXCEPT terminalserver.foobar.edu
#
# If you're going to protect the portmapper use the name "rpcbind" for the
# daemon name. See rpcbind(8) and rpc.mountd(8) for further information.
#SSHD: 192.168.1.1
SSHD: 192.168.0.0/16
Аутентификация по ключам
См. раздел "В помощь администратору"
Настройка клиента
Конфигурация клиента хранится в файле /etc/ssh/ssh_config. Клиент работоспособен сразу после установки ОС , и настроек не требуетс настройками "по-умолчанию".
Настройка выбора алгоритмов защитного преобразования.
Проверить список поддерживаемых алгоритмов защитного преобразования (параметр cipher) и выработки имитовставки (параметр mac) можно командами:
Command |
---|
ssh -Q cipher |
В поставляемый в составе дистрибутивов ОС ОН Орёл 2.12 и ОС СН Смоленск 1.6 Astra Linux пакет ssh встроены следующие алгоритмы защитного преобразования:
Информация |
---|
3des-cbc blowfish-cbc cast128-cbc arcfour arcfour128 arcfour256 aes128-cbc aes192-cbc aes256-cbc rijndael-cbc@lysator.liu.se aes128-ctr aes192-ctr aes256-ctr grasshopper-cbc (ГОСТ Р 34.13–2015 "Кузнечик") grasshopper-ctr (ГОСТ Р 34.13–2015 "Кузнечик") aes128-gcm@openssh.com aes256-gcm@openssh.com chacha20-poly1305@openssh.com |
В поставляемый в составе дистрибутивов ОС ОН Орёл 2.12 и ОС СН Смоленск 1.6 Astra Linux пакет ssh встроены следующие алгоритмы выработки имитовставки:
Информация |
---|
hmac-sha1 hmac-sha1-96 hmac-sha2-256 hmac-sha2-512 hmac-md5 hmac-md5-96 hmac-ripemd160 hmac-ripemd160@openssh.com umac-64@openssh.com umac-128@openssh.com hmac-sha1-etm@openssh.com hmac-sha1-96-etm@openssh.com hmac-sha2-256-etm@openssh.com hmac-sha2-512-etm@openssh.com hmac-md5-etm@openssh.com hmac-md5-96-etm@openssh.com hmac-ripemd160-etm@openssh.com umac-64-etm@openssh.com umac-128-etm@openssh.com hmac-gost2012-256-etm (ГОСТ Р 34.11-2012) |
При этом в список алгоритмов защитного преобразования (параметр конфигурации Ciphers) и выработки имитовставок (параметр конфигурации MACs), допустимых к использованию, по умолчанию включены следующие алгоритмы (перечислены в порядке убывания приоритетов применения):
Информация |
---|
# Ciphers grasshopper-ctr,aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc # MACs hmac-gost2012-256-etm,hmac-md5,hmac-sha1,umac-64@openssh.com,hmac-ripemd160 |
Выше приведены строчки из конфигурационного файла клиента /etc/ssh/ssh_config, аналогичные строчки имеются в конфигурационном файле сервера /etc/ssh/sshd_config.
Если возникает необходимость изменить набор допустимых алгоритмов, или изменить их приоритеты, следует раскомментировать эту строчку, и указать нужные алгоритмы в нужном порядка приоритета.
Например, для приоритетного выбора более простых, а значит, более быстрых алгоритмов можно использовать в файле /etc/ssh/ssh_config следующую конфигурацию:
Информация |
---|
Ciphers aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc,grasshopper-ctr |
Монтирование
удалённойудаленной файловой системы по ssh
SSHFS (Secure Shell FileSystem) - программа, позволяющая монтировать удаленную файловую систему и взаимодействовать с удаленными файловыми ресурсами как с обычными файлами.
Для монтирования SSHFS использует SSH File Transfer Protocol (SFTP) — безопасный протокол передачи данных, обеспечивающий полный доступ к файловым ресурсам через протокол Secure Shell.
От сервера, предоставляющего удалённый ресурс для монтирования, требуется только работающий сервис SSH.
При стандартной установке ОС СН Орёл 2.12 и ОС ОН Смоленск 1.6 Astra Linux пакет sshfs устанавливается автоматически, при необходимости может быть установлен с помощью графического менеджера пакетов или из командной строки:
Command |
---|
sudo apt install sshfs |
Для выполнения монтирования без запроса пароля должна быть настроена авторизация по ключам (см. выше).
Команда монтирования:
Command |
---|
sshfs -o allow_other,IdentityFile=~local_user/.ssh/id_rsa remote_user@server:/home/remote_user /mnt |
Пояснения к команде:
- -o - ключ, указывающий, что далее следуют параметры подключения/монтирования;
- allow_other - разрешить доступ к примонтированному ресурсу непривилегированным пользователям (необязательный параметр);
- IdentityFile=~local_user/.ssh/id_rsa - файл с ключом доступа (необязательный параметр, если его нет - будет запрошен пароль);
- remote_user@server:/home/remote_user - указание на ресурс, который будем монтировать;
(в данном случае на сервере server от имени пользователя remote_user монтируем домашний каталог этого пользователя /home/remote_user) - /mnt - локальная точка монтирования
Автоматическое монтирование может быть задано в файле /etc/fstab:
Информация |
---|
sshfs#remote_user@server:/home/remote_user/ /mnt fuse defaults,allow_other,IdentityFile=~local_user/.ssh/id_rsa 0 0 |
Для выполнения автоматического монтирования без запроса пароля должна быть настроена авторизация по ключам (см. выше).
Демонтировать ресурс можно обычной командой umount с указанием точки монтирования:
Command |
---|
umount /mnt |
В случае ошибок монтирования для демонтирования может понадобиться отдельная команда:
Command |
---|
fusermount -u /mnt |
Использование алгоритмов защитного преобразования данных ГОСТ
Сервер и клиент ssh, входящие в состав дистрибутивов ОС ОН Орёл 2.12 и ОС СН Смоленск 1.6Astra Linux, имеют встроенную поддержку работы с алгоритмами защитного преобразования ГОСТ,
причем, если такие алгоритмы поддерживаются и клиентом и сервером, то они используются по умолчанию.
Некоторые подробности про эти алгоритмы можно прочитать в описании библиотеки libgost-astra.
Проверка используемого алгоритма защитного преобразования
Проверку используемого при подключении алгоритма защитного преобразования можно производить как на стороне клиента, так и на стороне сервера.
В обоих случаях для этого нужно включить вывод отладочной информации.
На стороне сервера:
в файле конфигурации сервера /etc/ssh/sshd_config раскомментировать строчки SyslogFacility и LogLevel, заменить уровень отладки INFO на DEBUG
Информация |
---|
# Logging SyslogFacility AUTH LogLevel DEBUG |
После внесения изменений перезапустить сервер:
Command |
---|
systemctl restart ssh |
Отладочная информация сервера ssh выводится в файл /var/log/auth.log, и отслеживать сообщения о методах защитного преобразования, используемых при подключении клиентов, можно командой:
Command |
---|
tail -f | grep cipher /var/log/auth.log |
На стороне клиента:
При выполнении подключения использовать опцию -v для вывода отладочной информации:
Command |
---|
ssh -v ServerSSH |
И в первом, и во втором случае используемый для подключения метод защитного преобразования будет отображен в виде строчек такого вида:
Информация |
---|
debug1: kex: server->client cipher: grasshopper-ctr MAC: hmac-gost2012-256-etm compression: none debug1: kex: client->server cipher: grasshopper-ctr MAC: hmac-gost2012-256-etm compression: none |