ProCloud Yandex
08.02.2024
читать 5 минут

SSH-туннелирование: примеры, команды, конфигурация сервера

/upload/iblock/2b6/zk1o7cf3kd05499t1661tfzuyq1jd09n/Sover_1_opt.jpeg

SSH расшифровывается как "Secure Shell" (безопасная оболочка). Это криптографический протокол, который обеспечивает защищенную передачу данных между клиентом и сервером через небезопасную сеть, такую как интернет. SSH широко используется для удаленного управления компьютерами и передачи файлов в сети.

Не каждый разбирается в том, как настроить доступ по SSH, его применение и связанные с этим риски. Поэтому важно изучить все эти аспекты, чтобы научиться правильно создавать SSH туннели и уменьшить возможные угрозы для безопасности сервера.

Переадресация портов SSH или SSH туннелирование?

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

Локальное перенаправление портов

Для перенаправления соединений с устройства клиента на сервер используется функция локального перенаправления портов. Настроенный порт позволяет прослушивать соединения и перенаправлять их на сервер после проброса порта. Это позволяет установить подключения к данному порту с других устройств.

Вот некоторые примеры использования локального перенаправления портов:

  • Установка туннельной связи и передача пакетов через серверы прокси.
  • Доступ к сервису внутри сети извне.
  • Подключение к удаленному файловому ресурсу через интернет.

Этот подход основан на стандартной системе Linux/Unix с использованием средств безопасности, предотвращения вторжений и ведения журналов. Перенаправление портов SSH обеспечивает доступ технически подготовленных пользователей к внутренним ресурсам после подтверждения подлинности соединения через туннели. Часто создается туннель к порту SSH на внутреннем сервере, что позволяет пробросить порты SSH с вашего устройства на веб-сервер компании или на сервер IMAP.

В OpenSSH настройка локального перенаправления портов осуществляется с использованием опции –L:

ssh -L 80:intra.example.com:80 gw.example.com

Ограничение доступа к указанному порту возможно путем программной привязки адреса на одном хосте. По умолчанию используется gw.example.com, где происходит перенаправление любого соединения с портом 80 с локального устройства на порт 80 компьютера intra.example.com.

ssh -L 127.0.0.1:80:intra.example.com:80 gw.example.com

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

Удаленное перенаправление портов

В OpenSSH удаленный редирект портов SSH настраивается с помощью опции -R. Например:

ssh -R 8080:localhost:80 public.example.com

На удаленном сервере пользователь может подключиться к TCP-порту 8080, что позволяет установить соединение через SSH туннель обратно на клиентский хост. Затем можно установить TCP-соединение с портом 80 на localhost, при этом возможно использование другого имени хоста или IP-адреса для подключения. Это обеспечивает доступ к внутреннему или общедоступному серверу с использованием интернета. Такую возможность может использовать сотрудник, работающий из дома, но также это может быть использовано и злоумышленником.

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

  • Возможность использования опции GatewayPorts, чтобы подключаться через хост сервера.
  • Дополнительная функциональность, предоставляемая OpenSSH для управления подключениями.
  • Альтернативные способы настройки конфигурации sshd_config, чтобы управлять удаленными подключениями.

Примеры использования опции GatewayPorts:

GatewayPorts no

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

GatewayPorts yes

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

GatewayPorts clientspecified

Для разрешения подключений к порту клиенту предоставляется возможность указать IP-адрес. Синтаксис данной опции следующий:

ssh -R 52.194.1.73:8080:localhost:80 host147.aws.example.com

При использовании опции -O forward, OpenSSH также может указать значение 0 для пересылаемого удаленного порта. Когда это происходит, клиент получает информацию о динамически выделенном сервером порте и выводит его в стандартный вывод.

Бэкдоры

Часто сотрудники используют удаленное перенаправление портов SSH для создания бэкдоров. Например, они могут настроить бесплатный сервер для доступа из офиса и перенаправить порт на сервер или приложение внутри предприятия. Также возможно указать несколько портов SSH для доступа к различным приложениям.

Для этого сотруднику необходимо установить на сервере опцию GatewayPorts в значение yes.

Конфигурация сервера

Для корректной работы SSH туннеля на Linux необходимо активировать опцию AllowTcpForwarding в конфигурационном файле сервера OpenSSH. По умолчанию перенаправление разрешено. Эта опция может иметь значения: yes или all (разрешить), no (запретить), local (разрешить локальное) и remote (разрешить удаленное).

Также существует опция под названием AllowStreamLocalForwarding, которая позволяет перенаправлять сокеты Unix-домена. Эта опция по умолчанию установлена в значение yes.

AllowTcpForwarding remote
AllowStreamLocalForwarding no

Чтобы предотвратить несанкционированный доступ к серверу, необходимо правильно настроить SSH туннель. Опция GatewayPorts может принимать значения: no, yes и clientspecified, определяющие доступ к удаленным портам. Если значение установлено в no, то разрешено только локальное подключение. Если установлено значение yes, то подключение доступно из интернета. Если значение установлено в clientspecified, то клиент может указать IP-адрес, с которого возможно подключение.

Предотвращение перенаправления портов SSH для обхода брандмауэров

Для обеспечения безопасности и устранения потенциальных рисков связанных с бэкдорами, рекомендуется отключать перенаправление портов SSH, когда оно не требуется. Разрешение серверу передачи файлов по SFTP на перенаправление портов может представлять угрозу для внутренней сети и создать возможность несанкционированного доступа изнутри интрасети.

Управление перенаправлением портов является проблематичной задачей на практике. Единственным способом предотвратить его является использование сервера или брандмауэра. Однако, контроль над всеми серверами в интернете представляет сложность для компании. К тому же, управление через брандмауэр может быть затруднительным. Это особенно актуально при использовании облачной инфраструктуры, поскольку доступ к ней осуществляется через SSH.

Решение с использованием SSH

SSH предоставляет доступ к клиенту/серверу Tectia. Это надежное программное обеспечение, которое обеспечивает безопасное туннелирование в соответствии с принятыми в компании стандартами. Tectia отличается простотой в использовании и считается надежным инструментом.



Хотите узнавать больше о технологиях и наших облачных продуктах? Подписывайтесь на нашу рассылку и следите за новостями: Телеграм и Вконтакте.

Новости
13 сентября 202413.09.2024
читать 2 минутычитать 2 мин
Дайджест обновлений продуктов
18 апреля 202418.04.2024
читать 2 минутычитать 2 мин
Дайджест обновлений продуктов Q1
5 апреля 202405.04.2024
читать 1 минутучитать 1 мин
ProCloud CPO Диана Беда в рейтинге ИТ-лидеров от Global CIO
Создать учетную
запись ProCloud
arrow
arrow hover
 
Имя, Фамилия*
Номер телефона
Электронный адрес*
Ваше сообщение*
Файл
Файл
Файл
Файл
Файл
Файл
Файл
Файл
Файл
Файл
Тип формы
ID тикета Zendesk
Продукт
IP
 

Создайте бесплатную учетную запись или напишите нам, чтобы узнать больше.

Нажимая «Отправить заявку» вы даете свое согласие на обработку своих персональных данных