- Установка пакетов
- Простейшие меры безопасности
- Аутентификация по ключам
- Настройка клиента
- Настройка выбора алгоритмов защитного преобразования.
- Монтирование удаленной файловой системы по ssh
- Использование алгоритмов защитного преобразования данных ГОСТ
- Проверка используемого алгоритма защитного преобразования
- Настройка сети в Astra Linux «Смоленск»
- Похожие посты:
- Astra Linux. Полезные плюшки.
- Полезные программы.
- Установим WEBMIN.
- Разрешим подключаться к серверу по SSH.
- Аренда серверов.
- 1С:Предприятие «в облаке».
- IP-телефония в офис.
Установка пакетов
Пакеты SSH (сервер — пакет openssh-server и клиент — пакет openssh-client) входит в дистрибутивы Astra Linux. При установке ОС по умолчанию устанавливается только клиент (openssh-client).
Установку сервера можно выполнить:
- при установке ОС, отметив соответствующий пункт в диалоге выбора программного обеспечения. При этом будет установлен пакет openssh-server;
- после установки ОС с помощью графического менеджера пакетов (см. Графический менеджер пакетов synaptic) или из командной строки:
Установленная с помощью графического менеджера пакетов или из командной строки служба запускается автоматически, а также сразу включается перезапуск службы после перезагрузки ОС.
Служба, установленная при установке ОС:
- в Astra Linux Common Edition начиная с обновления 2.12.12 и в Astra Linux Special Edition x.7 сервер SSH запускается после перезагрузки автоматически;
- в более ранних обновлениях автоматический запуск сервера SSH по умолчанию отключен. Автоматический запуск нужно разрешить отдельно командой:
Проверить состояние службы:
Конфигурация службы хранится в файле /etc/ssh/sshd_config. Чтобы изменения конфигурации вступили в силу требуется перезапуск службы:
Если значения параметров конфигурации содержат пробелы, то эти значения должны быть заключены в кавычки, например:
AllowGroups "group name@domain.name"
Описание синтаксиса конфигурации доступно в справочной системе man:
Простейшие меры безопасности
Из соображений повышения безопасности рекомендуется изменить некоторые значения по умолчанию:
- 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: 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) можно командами:
В поставляемый в составе дистрибутивов 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 устанавливается автоматически, при необходимости может быть установлен с помощью графического менеджера пакетов или из командной строки:
Для выполнения монтирования без запроса пароля должна быть настроена авторизация по ключам (см. выше).
- -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 с указанием точки монтирования:
Использование алгоритмов защитного преобразования данных ГОСТ
Сервер и клиент ssh, входящие в состав дистрибутивов Astra Linux, имеют встроенную поддержку работы с алгоритмами защитного преобразования ГОСТ,
причем, если такие алгоритмы поддерживаются и клиентом и сервером, то они используются по умолчанию.
Некоторые подробности про эти алгоритмы можно прочитать в описании библиотеки libgost-astra.
Проверка используемого алгоритма защитного преобразования
Проверку используемого при подключении алгоритма защитного преобразования можно производить как на стороне клиента, так и на стороне сервера.
В обоих случаях для этого нужно включить вывод отладочной информации.
На стороне сервера:
в файле конфигурации сервера /etc/ssh/sshd_config раскомментировать строчки SyslogFacility и LogLevel, заменить уровень отладки INFO на DEBUG
После внесения изменений перезапустить сервер:
Отладочная информация сервера ssh выводится в файл /var/log/auth.log, и отслеживать сообщения о методах защитного преобразования, используемых при подключении клиентов, можно командой:
На стороне клиента:
При выполнении подключения использовать опцию -v для вывода отладочной информации:
И в первом, и во втором случае используемый для подключения метод защитного преобразования будет отображен в виде строчек такого вида:
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
Настройка сети в Astra Linux «Смоленск»
Краткое руководство по настройке сетевого интерфейса и доступа по протоколу SSH, а также установке необходимых сетевых утилит в консольной версии ОС специального назначения Astra Linux Special Edition «Смоленск» версий 1.6 и 1.7.1
Для развёртывания серверов в консольной версии данной ОС в первую очередь необходимо настроить сетевой интерфейс. Для этого при входе в консоль необходимо выставить Integrity Level (уровень целостности) 63. В версии 1.6 он устанавливается принудительно, а в версии 1.7.1 его можно отключить, но в целях безопасности разработчики не рекомендуют его отключать.
Открываем файл /etc/network/interfaces
# sudo nano /etc/network/interfaces
и в конце файла дописываем параметры сети, например:
# Ethernet network interface auto eth0 iface eth0 inet static address 192.168.1.35 netmask 255.255.255.0 network 192.168.1.0 broadcast 192.168.1.255 gateway 192.168.1.1
Затем создадим файл /etc/resolv.conf
и прописываем адреса DNS-серверов, например:
После этого запускаем сетевой интерфейс eth0
Проверяем, применились ли изменения
и пропингуем что-нибудь, например yandex.ru
Если всё прописано правильно, то в консоли должны отображаться ответы.
Что касается сетевых утилит, то в версии 1.7.1 они устанавливаются автоматически. В версии 1.6 их можно выбрать при установке, отметив чекбокс на пункте Средства работы в сети
Если по каким-то причинам они не были установлены, тогда вставляем установочный диск или монтируем ISO-образ установочного диска в /mnt/cdrom/
# mount /home/user/iso/smolensk_image.iso /mnt/cdrom
и устанавливаем пакет net-tools
# sudo apt install net-tools
После установки пакета нам будут доступны различные сетевые утилиты, такие как ifconfig, netstat и другие.
Для использования утилит для работы с DNS типа nslookup и host устанавливаем пакет dnsutils
# sudo apt install dnsutils
Также, если по каким-либо не были установлены Средства удалённого доступа SSH, необходимо установить соответствующие пакеты
# sudo apt install openssh-server openssh-client ssh
В версии 1.6 пакет ssh необходимо установить в любом случае
Проверяем состояние запуска службы
Если она активна, значит всё установилось правильно. Теперь к машине можно подключаться с помощью ssh-клиентов.
Далее нам необходимо включить файрволл UFW. Для этого проверим статус запуска
Он должен показать статус inactive.
Для разрешения подключения по SSH включаем соответствующее правило
Теперь файрволл должен запуститься и загружаться вместе с системой.
Проверяем. Для этого перезагрузим систему. В версии 1.7.1 скомандуем
а в версии 1.6 запускаем команду
и ждём минуту, когда система начнёт перезагружаться.
После перезагрузки всё должно нормально работать.
Похожие посты:
Astra Linux. Полезные плюшки.
Здесь постараюсь собрать полезные «плюшки», которые облегчают жизнь системному администратору.
Полезные программы.
Запускаем терминал и начинаем ставить полезные программы
Установим WEBMIN.
Начинающему системному администратору некоторые вещи удобнее делать при помощи WEBMIN. Установим его.
mkdir /opt/distr/ mkdir /opt/distr/webmin cd /opt/distr/webmin wget --no-check-certificate http://www.webmin.com/download/deb/webmin-current.deb apt -y install ./webmin-current.deb ufw allow 10000/tcp ufw reload
Теперь зайдя по адресу https://127.0.0.1:10000 мы получим удобный web-интерфейс для управления сервером.
Разрешим подключаться к серверу по SSH.
Разрешаем подключаться пользователю root удалённо по SSH.
sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config
Включаем автозапуск службы SSH.
Включаем межсетевой экран
Разрешаем подключаться по SSH
Просим межсетевой экран перечитать правила.
Аренда серверов.
Надёжные сервера с Pro-бегом
У ВАС В ОФИСЕ!
1С:Предприятие «в облаке».
Безопасный доступ к своей 1С из офиса, командировки и т.п.!
IP-телефония в офис.
IP-телефония давно перестала быть роскошью в офисах.
Хотите себе в офис цифровую АТС — обращайтесь. !