Перейти к основному содержимому
Версия: 7.3

Подключение к узлу исследуемой сети

Для подключения к узлу исследуемой сети, функционирующему на базе ОС семейства Windows, необходима предварительная настройка сервисов SSH. Настройка сервисов описана в «Настройка сервисов SSH с помощью встроенного приложения «Параметры»», «Настройка сервисов SSH с помощью Windows PowerShell», «Запуск и настройка OpenSSH Server». Для инвентаризации соблюдайте требования «Условия выполнения программы». Для задач инвентаризации и аудита по SSH проверьте настройку оболочки по «Настройка оболочки cmd.exe для OpenSSH».

Для подключения к узлу исследуемой сети, функционирующему на базе ОС семейства Windows необходимо выполнить следующие действия:

  1. Запустить Windows PowerShell от имени администратора.

  2. Проверить статус компонента «Сервер OpenSSH» с помощью команды:

Get-WindowsCapability -Online | ? Name -like 'OpenSSH.Ser*'
  1. В результате выполнения команды должно быть отображено «Installed» в поле «State» (State : Installed).

  2. Изменить тип запуска службы sshd на автоматический и запустить ее с помощью следующих команд:

Set-Service -Name sshd -StartupType 'Automatic'
Start-Service sshd
  1. Убедиться в том, что Сервер OpenSSH запущен и разрешены подключения через порт 22 с помощью следующей команды:
netstat -na| find ":22"
  1. В результате выполнения команды должна отобразится следующая строка:
TCP 0.0.0.0.22 0.0.0.0 LISTENING

Проверка правила межсетевого экрана​

  1. Проверить статус правила Windows Defender Firewall, разрешающее подключения по порту TCP/22 с помощью команды:
Get-NetFirewallRule -Name *OpenSSH-Server* |select Name, DisplayName, Description, Enabled
  1. В том случае, если правило по каким-либо причинам отключено (состояние Enabled=False) или отсутствует, необходимо добавить новое правило используя команду:
New-NetFirewallRule -Name sshd -DisplayName 'OpenSSH Server (sshd)' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22

Конфигурация и ключи SSH​

  1. Настроить конфигурационный файл sshd_config и перезапустить сервис sshd с помощью команды:
restart-service sshd
  1. Конфигурационный файл после внесения изменений должен выглядеть следующим образом:
# This is the sshd server system-wide configuration file. See
# sshd_config(5) for more information.

# The strategy used for options in the default sshd_config shipped with
# OpenSSH is to specify options with their default value where
# possible, but leave them commented. Uncommented options override the
# default value.

Port 22
AddressFamily any
ListenAddress 0.0.0.0
#ListenAddress ::

#HostKey __PROGRAMDATA__/ssh/ssh_host_rsa_key
#HostKey __PROGRAMDATA__/ssh/ssh_host_dsa_key
#HostKey __PROGRAMDATA__/ssh/ssh_host_ecdsa_key
#HostKey __PROGRAMDATA__/ssh/ssh_host_ed25519_key

# Ciphers and keying
#RekeyLimit default none

# Logging
#SyslogFacility AUTH
#LogLevel INFO

# Authentication:

#LoginGraceTime 2m
#PermitRootLogin prohibit-password
StrictModes no
#MaxAuthTries 6
#MaxSessions 10

PubkeyAuthentication yes

# The default is to check both .ssh/authorized_keys and .ssh/authorized_keys2
# but this is overridden so installations will only check .ssh/authorized_keys
AuthorizedKeysFile .ssh/authorized_keys

#AuthorizedPrincipalsFile none

# For this to work you will also need host keys in %programData%/ssh/ssh_known_hosts
#HostbasedAuthentication no
# Change to yes if you don't trust ~/.ssh/known_hosts for
# HostbasedAuthentication
#IgnoreUserKnownHosts no
# Don't read the user's ~/.rhosts and ~/.shosts files
#IgnoreRhosts yes

# To disable tunneled clear text passwords, change to no here!
PasswordAuthentication yes
#PermitEmptyPasswords no

# GSSAPI options
#GSSAPIAuthentication no

#AllowAgentForwarding yes
#AllowTcpForwarding yes
#GatewayPorts no
#PermitTTY yes
#PrintMotd yes
#PrintLastLog yes
#TCPKeepAlive yes
#UseLogin no
#PermitUserEnvironment no
#ClientAliveInterval 0
#ClientAliveCountMax 3
#UseDNS no
#PidFile /var/run/sshd.pid
#MaxStartups 10:30:100
#PermitTunnel no
#ChrootDirectory none
#VersionAddendum none

# no default banner path
#Banner none

# override default of no subsystems
Subsystem sftp sftp-server.exe

# Example of overriding settings on a per-user basis
#Match User anoncvs
# AllowTcpForwarding no
# PermitTTY no
# ForceCommand cvs server

#Match Group administrators
# AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys
примечание

Пример конфигурации приведен целиком. Изменения включают параметры аутентификации и путь к файлу авторизованных ключей; строки с символом # являются комментариями.

  1. Запустить командную строку от имени администратора и сгенерировать пару ключей используя команду:
ssh-keygen
  1. В папке, в которой была создана пара ключей (C:\Users\ %User%\.ssh) создать файл «authorized_keys.CRLF».

  2. В папке C:\ProgramData\ssh\ создать файл «administrators_authorized_keys.CRLF».

  3. Изменить права доступа на созданные файлы (удалить всех пользователей кроме «Система» и текущего пользователя) и сохранить изменения.

  4. В Windows PowerShell поочерёдно выполнить следующие скрипты из состава OpenSSH для ОС семейства Windows:

powershell.exe -ExecutionPolicy Bypass -File fixhostfilepermissions.ps1
powershell.exe -ExecutionPolicy Bypass -File fixuserfilepermissions.ps1
  1. Перезапустить сервис sshd с помощью следующей команды:
Restart-Service sshd
примечание

Необходимые для настройки подключения по протоколу SSH, а также отмены внесенных изменений скрипты при установке Сканер-ВС по умолчанию сохраняются в папке /opt/echelon/scanner/scripts.