Дерево страниц

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

Ключ

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

Оглавление


Информация
titleДанная статья применима к:
  • ОС СН Смоленск 1.6
    • 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  входит в дистрибутивы ОС ОН Орёл 2.12 и ОС СН Смоленск 1.6, но Astra Linux. При установке ОС по умолчанию устанавливается только клиент (openssh-client).

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

    • при
    инсталляции системы
    • установке ОС, отметив соответствующий пункт в диалоге выбора программного обеспечения
    ,
    либо
    • . При этом будет установлен пакет openssh-server;
    • после установки

    системы
    • ОС с помощью графического менеджера

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

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

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

    • в Astra Linux Common Edition начиная с обновления 2.12.12 и в Astra Linux Special Edition x.7 сервер 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

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

    При стандартной установке ОС СН Орёл 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 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