Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

Оглавление


Информация
titleДанная статья применима к:
  • Astra Linux Special Edition РУСБ.10015-01 и РУСБ.10015-10 (очередное обновление 1.7)
  • Astra Linux Special Edition РУСБ.10015-37 (очередное обновление 7.7)
  • Astra Linux Special Edition РУСБ.10152-02 (очередное обновление 4.7)
  • Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6)
  • Astra Linux Special Edition РУСБ.10015-16 исп. 1 и исп. 2
  • Astra Linux Special Edition РУСБ.10265-01 (очередное обновление 8.1)
  • Astra Linux Common Edition 2.12


Установка

пакета

пакетов

Пакеты SSH (сервер — пакет openssh-server и клиент — пакет openssh-client) Пакет SSH  входит в дистрибутивы Astra Linux, но . При установке ОС по умолчанию устанавливается только клиент (openssh-client).

Установку сервера можно выполнить:

  • При инсталляции системыпри установке ОС, отметив соответствующий пункт в диалоге выбора программного обеспечения. При этом будет установлен пакет openssh-server;
  • после установки ОС После установки системы с помощью графического менеджера пакетов (см. Графический менеджер пакетов synaptic) или из командной строки:

    Command
    sudo apt install ssh

    При установке пакета ssh устанавливаются и клиент и сервер.

Установленная После установки с помощью графического менеджера пакетов или из командной строки сервис служба запускается автоматически, а также сразу включается перезапуск службы после перезагрузки ОС.

Служба, установленная при установке ОС:

  • в Astra Linux Common Edition начиная с обновления 2.12.12 и в Astra Linux Special Edition x.7
сервис SSH, установленный при инсталляции операционной системы,
  • сервер SSH запускается после перезагрузки автоматически
. В
  • ;
  • в более ранних обновлениях

после установки при инсталляции ОС сервис ssh будет отключен, и его нужно будет включить и запустить отдельно командами
  • автоматический запуск сервера SSH по умолчанию отключен. Автоматический запуск нужно разрешить отдельно командой:

    Command

    sudo systemctl enable

 ssh
  • ssh

    а также для включения службы SSH без перезагрузки запустить службу:

    Command

    sudo systemctl start ssh


Настройка пакетаслужбы ssh

Проверить состояние сервисаслужбы:

Command
systemctl status ssh

Конфигурация сервера службы хранится в файле /etc/ssh/sshd_config. Чтобы изменения конфигурации вступили в силу необходимо перезапустить сервистребуется перезапуск службы:

Command

systemctl restart sshd


Информация

Если значения параметров конфигурации содержат пробелы, то эти значения должны быть заключены в кавычки, например:

Блок кода
AllowGroups "group name@domain.name"



Описание синтаксиса конфигурации доступно в справочной системе 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: PARANOID

    SSHD: 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
ssh -Q mac

В поставляемый в составе дистрибутивов 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

В поставляемый в составе дистрибутивов 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
MACs hmac-md5,hmac-sha1,umac-64@openssh.com,hmac-ripemd160,hmac-gost2012-256-etm

Монтирование

удалённой

удаленной файловой системы по ssh

SSHFS (Secure Shell FileSystem) - программа, позволяющая монтировать удаленную файловую систему и взаимодействовать с удаленными файловыми ресурсами как с обычными файлами.

Для монтирования SSHFS использует SSH File Transfer Protocol (SFTP) — безопасный протокол передачи данных, обеспечивающий полный доступ к файловым ресурсам через протокол Secure Shell.

От сервера, предоставляющего удалённый ресурс для монтирования, требуется только работающий сервис SSH.

При стандартной установке 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, входящие в состав дистрибутивов Astra Linux, имеют встроенную поддержку работы с алгоритмами защитного преобразования ГОСТ,
причем, если такие алгоритмы поддерживаются и клиентом и сервером, то они используются по умолчанию.
Некоторые подробности про эти алгоритмы можно прочитать в описании библиотеки libgost-astra.

Проверка используемого алгоритма защитного преобразования

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

На стороне сервера:
в файле конфигурации сервера  /etc/ssh/sshd_config раскомментировать строчки SyslogFacility и LogLevel, заменить уровень отладки INFO на DEBUG

Информация
# Logging
SyslogFacility AUTH
LogLevel INFO
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