Как настроить ssh-туннелирование (перенаправление портов)

Настройка ssh клиента

В Debian настройки клиентской части ssh делятся на глобальные и пользовательские. Глобальные клиентские настройки находятся в файле /etc/ssh/ssh_config и применяются ко всем пользователям. Пользовательские настройки могут находиться в домашнем каталоге пользователя, в ~/.ssh/config и применяются к одному пользователю. Файл пользовательских настроек не создаётся автоматически в отличие от файла глобальных настроек клиентской части ssh. Для большинства выполняемых задач подойдут настройки по умолчанию, но для удобства использования, так сказать для тюнинга или для выполнения нестандартных задач клиентские настройки изменяются. Рассмотрим вкратце некоторые из этих настроек. Полезно помнить о приоритетах настроек: высший приоритет имеют ключи командной строки, затем следуют настройки пользователя, а после них используются глобальные настройки клиентской части.

Параметр Host. Ограничивает множество хостов, к которым применяются последующие (до ближайшей новой директивы Host) директивы, по указанным шаблонам (хост должен соответствовать хотя бы одному шаблону). Шаблон, состоящий из одного символа *, соответствует любому хосту. Под хостом в данном контексте понимается аргумент имя_хоста передаваемый в командной строке (т.е. никаких преобразований перед сравнением не выполняется).

Параметр HostName. Устанавливает соответствие между псевдонимами, сокращениями и настоящими именами хостов. По умолчанию используется имя, передаваемое в командной строке. Допустимо непосредственное указание IP-адресов.

Параметр Port. Порт на удалённой машине, к которому следует подключаться. Значение по умолчанию — 22

Параметр User. Имя пользователя, которое следует использовать при регистрации в удалённой системе. Полезно, когда на разных серверах используются разные имена, т.к. избавляет от надобности вспоминать каждый раз нужное имя.

В качестве примера я создам файл пользовательских настроек /home/selifan/.ssh/config следующего содержания:

Host sunup

HostName sunup.aitishnik.local

Port 2203

User andrey

Host windbag

HostName windbag.nnov.ru

Port 2280

User joker

Host 212.177.65.1

HostName 212.177.65.1

Port 2222

User forester

Теперь при подключении к компьютерам sunup.aitishnik.local, windbag или по ip адресу 212.177.65.1 мне не нужно вспоминать, ни имя пользователя, ни ssh порт подключения, достаточно после ssh набрать имя сервера. Просто и удобно! Описания всех параметров, значений и некоторых примеров находятся в man ssh_config. Продолжаем настраивать SSH и читаем «Генерация ключей SSH».

Об авторе:

Меня зовут Андрей Золкин. Из более, чем пятнадцати лет работы в сфере информационных технологий, десять лет работаю с системами, базирующимися на открытом исходном коде. На страницах сайта Aitishnik.Ru веду блоги по CMC Joomla и Debian GNU/Linux.

Подключение к Linux через SSH

Наряду с правильным IP-адресом у вас также должны быть имя пользователя и пароль для доступа к удаленному компьютеру.

Для инструментов SSH командной строки используйте

ssh username@REMOTE.IP.ADDRESS.HERE

Обязательно замените имя пользователя фактическим именем пользователя, а REMOTE.IP.ADDRESS.HERE — IP-адресом удаленного устройства. Нажмите Enter, и вам будет предложено ввести пароль.

С правильным паролем вы получите работающую подсказку терминала — теперь вы вошли на удаленный компьютер.

Используете настольный клиент SSH, например PuTTY?

Введите имя хоста или IP-адрес , выберите тип подключения SSH , затем « Открыть». Когда будет предложено ввести имя пользователя и пароль, введите их в окне командной строки, чтобы завершить подключение и получить удаленный доступ.

How to Prevent SSH Port Forwarding from Circumventing Firewalls

We recommend that port forwarding be expressly disabled when not needed. Leaving port forwarding enabled can expose the organization to security risks and backdoors. For example, if a server intended to only provide SFTP file transfers allows port forwardings, those forwardings might be used to gain unintended access into the internal network from the Intranet.

The problem is that port forwarding can in practice only be prevented by a server or firewall. An enterprise cannot control all servers on the Internet. Firewall-based control can also be tricky, as most organizations have servers in Amazon AWS and other cloud services, and those servers are usually accessed using SSH.

Как создать SSH-пользователя на VPS

На VPS можно создать неограниченное количество SSH-пользователей. Пользователи создаются из-под суперпользователя «root» по SSH и в панели управления ISPmanager. Рассмотрим создание пользователя в ISPmanager.

Обратите внимание! Если внешний вид вашей панели управления отличается от представленного в инструкции, кликните в левом нижнем углу «Старый интерфейс»

  1. 1.
    Откройте панель управления ISPmanager под root-пользователем по инструкции.
  2. 2.

    Перейдите в раздел «Пользователи» и нажмите Создать:

  3. 3.

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

  4. 4.

    В блоке «Доступ» ниже установите галочку Доступ к shell:

  5. 5.
    Нажмите Далее. И следуйте инструкциям в панели.

Готово, созданный таким образом пользователь будет иметь домашний каталог /var/www/имя_пользователя и иметь полный контроль над файлами внутри домашнего каталога.
Устанавливать или удалять системные пакеты такой пользователь не сможет.

Настроить SSH-туннелирование в Windows

  1. Запустите Putty и введите IP-адрес SSH-сервера в поле .

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

    • При настройке локальной переадресации введите локальный порт пересылки в поле « а в поле « введите хост и IP-адрес назначения, например .
    • Для перенаправления удаленного порта введите порт перенаправления удаленного SSH-сервера в поле а в поле введите целевой хост и IP-адрес, например .
    • При настройке динамической пересылки введите только локальный порт SOCKS в поле .
  3. Нажмите кнопку « , как показано на изображении ниже.

  4. Вернитесь на страницу чтобы сохранить настройки, чтобы не вводить их каждый раз. Введите имя сеанса в поле « и нажмите кнопку « .

  5. Выберите сохраненный сеанс и войдите на удаленный сервер, нажав кнопку « .

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

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

Общие опции подключений

Вот несколько широко применяемых опций (чаще всего они используются в разделе Host *).

ServerAliveInterval: Этот параметр указывает SSH, когда отправлять пакет для проверки ответа от сервера. Это полезно, если ваше соединение ненадежно, и вы хотите узнать, доступен ли сервер.LogLevel: Настраивает уровень детализации, с которым SSH будет регистрироваться на стороне клиента. Это позволяет отключить регистрацию в определенных ситуациях или увеличить уровень детализации при отладке. Уровни по возрастанию детализации: QUIET, FATAL, ERROR, INFO, VERBOSE, DEBUG1, DEBUG2 и DEBUG3.StrictHostKeyChecking: Этот параметр настраивает автоматическое добавление хостов в файл ~/.ssh/known_hosts. По умолчанию для этого параметра будет задано значение «ask», что означает, что он предупредит вас, если Host Key, полученный с удаленного сервера, не соответствует найденному в файле known_hostsfile. Если вы постоянно подключаетесь к большому числу эфемерных хостов, вы можете переключить его на «no». Тогда SSH автоматически добавит в файл все хосты. Это может иметь последствия для безопасности, поэтому тщательно подумайте, прежде чем включать этот параметр.UserKnownHostsFile: Этот параметр указывает расположение, в котором SSH будет хранить информацию о том, к каким хостам он подключился. Обычно этот параметр не используется, но вы можете установить его в /dev/null, если вы отключили проверку хоста.VisualHostKey: Этот параметр позволяет SSH отображать ASCII-представление ключа удаленного хоста при подключении. Включив его, вы получите простой способ узнать ключ вашего хоста, что позволит вам легко распознать его, если вам понадобится подключиться с другого компьютера в будущем.Compression: Этот параметр полезен при создании очень медленных соединений. Он используется очень редко.
Учитывая перечисленные выше элементы, можно внести в конфигурации несколько полезных настроек.

Например, если вы очень быстро создаете и удаляете хосты у провайдера облачных вычислений, вам может пригодиться такой раздел:

Host homeVisualHostKey yesHost cloud*StrictHostKeyChecking noUserKnownHostsFile /dev/nullLogLevel QUIETHost *StrictHostKeyChecking askUserKnownHostsFile ~/.ssh/known_hostsLogLevel INFOServerAliveInterval 120

Это включит визуальный ключ хоста для домашнего подключения, что позволит вам ознакомиться с ним, чтобы вы могли узнать, меняется ли он или при подключении с другого компьютера. Также любой хост, который начинается с cloud*, не будет проверять хосты и регистрировать ошибки в логах.

Параметры безопасности

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

Во-первых, подключение с правами суперпользователя (root) и подключение с пустым паролем должны быть запрещены.

Во-вторых, настоятельно рекомендуется изменить стандартный 22 порт SSH-сервера на любой нестандартный. Также хорошей защитой от злоумышленников является закрытие порта (port knocking) — технология, при которой все порты сервера закрыты для подключения, а доступ осуществляется путем установленной последовательности пересылки IP-пакетов.

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

Этими параметрами настройка безопасного SSH-подключения не ограничивается, здесь приведены лишь базовые сведения. Существует еще множество настроек, предназначенных для того чтобы сделать протокол SSH по-настоящему безопасным методом подключения к удаленному серверу (например, арендованному или размещенному в дата-центре, VPS/VDS, виртуальной машине в облаке и т.п.) через небезопасную среду (Интернет).

Установка на стороне клиента

Установить и настроить SSH на клиенте очень просто. В некоторых случаях вам даже не понадобится дополнительное программное обеспечение:

  • Пользователи Linux должны найти SSH-клиент, встроенный в терминал.
  • На компьютерах с macOS в терминале предустановлен SSH.
  • На компьютерах с Windows потребуется использовать инструмент командной строки PowerShell или установить PuTTY.
  • Чтобы подключиться к Linux через SSH с iPhone и iPad, попробуйте iTerminal (4,99 доллара США).
  • Если вы используете Android для SSH, попробуйте JuiceSSH (бесплатно)

SSH не установлен в вашей системе Linux? Добавьте, обновив пакеты и обновив, а затем установив:

sudo apt update && sudo apt upgrade
sudo apt install openssh-client

Раньше использовали SSH в Windows, но перешли на рабочий стол Linux? Возможно, вы пропустите настольное приложение SSH PuTTY с простым интерфейсом мыши. К счастью, его можно установить на рабочий стол Linux:

sudo apt install putty

Установив клиентское программное обеспечение SSH, вы готовы установить соединение с удаленным компьютером или сервером.

Как правило, для всех настольных и мобильных клиентов все, что вам нужно, — это IP-адрес или имя хоста и соответствующие данные для входа. Хотя внешний вид приложений может отличаться, а имя порта может потребоваться ввести вручную, клиенты SSH в основном неразличимы.

Настройка SSH в Ubuntu

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

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

Дальше вы можете перейти к настройке конфигурационного файла:

Первым делом желательно сменить порт, на котором работает ssh, возможный злоумышленник не знал включен ли у вас этот сервис. Найдите в конфигурационном файле строчку Port и замените ее значение на любое число, например, Port 2222:

По умолчанию вход от имени суперпользователя включен, рекомендуется отключить такую возможность. Для этого найдите строчку PermitRootLogin и замените ее значение на no:

Чтобы разрешить аутентификацию по ключу, а не по паролю найдите строку PubkeyAuthentication и убедитесь, что ее значение yes.

Как настроить авторизацию по ключу в SSH читайте здесь. После того как все настройки будут завершены, сохраните изменения нажав :w и перезапустите службу SSH:

Более подробно про настройку и использование различных тонкостей ssh рассказано в статье как использовать ssh.

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

К тому же, если на компьютере установлен и настроен брандмауэр, то в нем тоже нужно разрешить доступ к новому порту ssh, для этого выполните:

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

Настройка ssh Ubuntu 20.04 полностью завершена.

Перенаправление удаленного порта

Перенаправление удаленного порта противоположно перенаправлению локального порта. Это позволяет вам перенаправить порт на удаленном (ssh-сервере) компьютере на порт на локальном (ssh-клиент) компьютере, который затем перенаправляется на порт на конечном компьютере.

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

В Linux, macOS и других системах Unix для создания удаленного перенаправления портов передайте параметр клиенту :

Используются следующие параметры:

  • — IP-адрес и номер порта на удаленном SSH-сервере. Пустой означает, что удаленный SSH-сервер будет связываться со всеми интерфейсами.
  • — IP или имя хоста и порт конечного компьютера.
  • — удаленный пользователь SSH и IP-адрес сервера.

Удаленная переадресация портов в основном используется для предоставления доступа к внутренней службе кому-либо извне.

Допустим, вы разрабатываете веб-приложение на своем локальном компьютере и хотите показать его предварительный просмотр своему коллеге-разработчику. У вас нет общедоступного IP-адреса, поэтому другой разработчик не может получить доступ к приложению через Интернет.

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

Приведенная выше команда заставит ssh-сервер прослушивать порт и туннелировать весь трафик с этого порта на ваш локальный компьютер через порт .

Теперь ваш коллега-разработчик может ввести в своем браузере и просмотреть ваше замечательное приложение.

Если у вас возникли проблемы с настройкой перенаправления удаленного порта, убедитесь, что для параметра установлено значение « в конфигурации удаленного сервера SSH.

Automate with SSH keys, but manage them

SSH keys can be used to automate access to servers. They are commonly used in scripts, backup systems, configuration management tools, and by developers and sysadmins. They also provide single sign-on, allowing the user to move between his/her accounts without having to type a password every time. This works even across organizational boundaries, and is highly convenient.

However, unmanaged SSH keys can become a major risk in larger organizations.

  • ssh-keygen — Create keys

  • ssh-copy-id — Provision access on servers

  • authorized_keys — Authorized keys file format

The PrivX On-Demand Access Manager can be used as an alternative for SSH keys, eliminating the need for permanent keys and passwords on servers entirely.

Другая переадресация

Наряду с переадресацией соединений SSH также поддерживает другие виды переадресации.

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

ForwardAgent: Эта опция позволяет передавать ключи аутентификации, хранящиеся на локальном компьютере, в систему, к которой вы подключаетесь. Она позволяет переходить от хоста к хосту с помощью домашних ключей.ForwardX11: Если вы хотите перенаправить графический экран приложения, работающего в удаленной системе, вы можете включить этот параметр.
Эти опции используют значения yes и no.

Динамическое перенаправление портов: используем SSH-сервер в качестве прокси

Также существует «динамическое перенаправление портов», которое работает по тому же принципу что прокси или VPN-сервер. SSH-клиент создаёт SOCKS-прокси, который можно настраивать под собственные приложения. Весь трафик, отправляемый через прокси, будет отправляться через SSH-сервер. Принцип здесь схож с локальным перенаправлением – берётся локальный трафик, отправленный на определённый порт на вашем ПК, и перенаправляется через SSH-соединение на удалённый адрес.

Предположим, что вы используете общедоступную Wi-Fi сеть. Но хочется делать это безопасно. Если у вас есть доступ к SSH-серверу из дома, то можно подключиться к нему и использовать динамическое перенаправление. SSH-клиент создаст SOCKS-прокси на вашем ПК. Весь трафик, отправленный на этот прокси, будет отправляться через подключение к SSH-серверу. Никто из тех, кто использует общедоступную Wi-Fi сеть, не сможет отслеживать ваши перемещения в сети или закрывать доступ к сайтам. С перспективы сайтов, которые посещаете, будет казаться, что вы заходите на них с домашнего ПК.

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

Например, если медиа-сервер находится по адресу 192.168.1.123 в вашей домашней сети, то можно добавить адрес 192.168.1.123 в любое приложение при помощи SOCKS-прокси и получить доступ к медиа-серверу, как будто вы находитесь внутри домашней сети.

Чтобы воспользоваться динамическим перенаправлением, запустите ssh-команду с аргументом —D:

ssh -D local_port username@server.com

Предположим, что у вас есть доступ к SSH-серверу по адресу ssh.yourhome.com, а ваш логин на SSH-сервере – bob. Нужно использовать динамическое перенаправление для того, чтобы открыть SOCKS-прокси по порту 8888 на текущем ПК. Тогда команда для SSH туннелирования будет выглядеть следующим образом:

ssh -D 8888 bob@ssh.yourhome.com

После этого можно настроить браузер или другое приложение на использование локального IP-адреса (127.0.0.1) и порта 8888. Весь трафик этого приложения будет перенаправляться через туннель:

Чтобы сделать это в PuTTY для Windows, выберите опцию Connection > SSH > Tunnels. Далее – опцию «Dynamic». В поле «Source Port» укажите локальный порт.

Например, если вам нужно настроить SOCKS-прокси на порт 8888, то введите 8888 в качестве порта-источника. После этого нажмите «Add» и затем «Open», чтобы открыть SSH-подключение.

После этого можно настроить приложение на подключение через SOCKS-прокси на вашем локальном ПК (то есть, по IP-адресу 127.0.0.1, который ведёт на ваш локальный ПК) и указать корректный порт для работы:

К примеру, можно настроить браузер Firefox на использование SOCKS-прокси. Это удобно, так как у Firefox могут быть отдельные настройки прокси, и поэтому не обязательно использовать базовые параметры для всей системы. Firefox будет отправлять трафик через SSH туннелирование, а другие приложения будут использовать интернет-подключение в обычном режиме.

Туннель будет оставаться активным и открытым до тех пор, пока открыта сессия SSH-соединения. Когда вы завершите SSH-сессию и отключаетесь от сервера, туннель тоже закроется. Чтобы снова открыть туннель, переподключитесь при помощи соответствующей команды или нужной функции в PuTTY.

Настройка сервера SSH

Настройки сервера SSH находятся в файле /etc/ssh/sshd_config. Многие из них мы тоже трогать не будем. Рассмотрим только самые интересные. Сначала откройте файл /etc/ssh/sshd.conf

Порт ssh

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

Поменяйте значение порта на нужное.

Протокол SSH

По умолчанию сервер ssh может работать по двум версиям протокола, для совместимости. Чтобы использовать только протокол версии два раскомментируйте строчку:

И приведите ее к такому виду:

Доступ только определенного пользователя к SSH

Мы можем разрешить доступ к ssh только для определенного пользователя или группы. Для этого  добавьте строчки:

Здесь User1 и Group1 — пользователь и группа к которым нужно разрешить доступ.

Выполнение X11 приложений

Не все знают но есть возможность использовать ssh для запуска полноценных X11 приложений. Об этом мы поговорим ниже, но чтобы все заработало необходимо разрешить эту возможность на стороне сервера, добавьте такую строчку:

Основные опции рассмотрели, перед тем как переходить дальше, не забудьте перезагрузить ssh сервер чтобы сохранить изменения:

Шаг 4: Защита демона sshd

После установки сервера SSH, первым делом исправить файл sshd_config. В нем запретить удалённый доступ пользователя root и разрешить доступ только для доверенных пользователей. Настраиваем от непривилегированного пользователя, используя sudo.

Первое действие перед правкой любого файла — это бекап этого файла, делаем:

remuserbak@vps:~$ sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.orig
 password for remuserbak:

Посмотреть текущее настройки демона ssh

sudo sshd -T

Отключение SSH-логин для пользователя root, используя параметр PermitRootLogin no.

remuserbak@vps:~$ sudo nano etcsshsshd_config
 
# Authentication:
PermitRootLogin no # запретить удалённый доступ для root
AllowUsers user1 user2 # список пользователей, которым разрешён доступ по SSH

После внесения изменений в sshd_config — перегружаем демона SSH

$ sudo systemctl restart ssh.service

Теперь при попытке залогинеться с пользователем root, в логах вы увидите запись:

User root from 222.187.238.57 not allowed because not listed in AllowUsers

Всё, у вас демон SSH минимально защищен!

Дополнительные параметры sshd_config, которые можно менять, под ваши задачи и условия, но не делайте это без нужды и предварительно изучите руководство man 5 sshd_config

  • LoginGraceTime 120: Сервер отключается по истечении этого времени, если пользователю не удалась регистрация в системе. Если стоит значение 0, то время ожидания не ограничено. Значение по умолчанию — 120 секунд.
  • StrictModes yes: Проверять наборы прав доступа и принадлежность конфигурационных файлов и домашнего каталога пользователя перед разрешением регистрации в системе. Это рекомендуется выполнять потому, что новички иногда оставляют свои каталоги или файлы доступными для записи всем. Значение по умолчанию — yes.
  • AddressFamily inet: Семейство адресов которое должна использовать служба sshd, допустимые значения: any, inet (только IPv4) и inet6 (только IPv6). Значение по умолчанию — any.
  • Port 22: Порт, на котором следует ожидать запросы на ssh соединение. Значение по умолчанию — 22.

Какие настройки SSH по умолчанию стоит заменить

К сожалению, интернет-среда буквально пропитана мифами и легендами. После появления очередной “утки” все программисты реагируют, а со временем люди уже забывают, что это всего лишь миф и продолжают делать все по предписанным правилами, которые, возможно, и не правила вовсе. И как же разобраться в этой пучине надуманных законов и ложных советов? Лучший помощник в этом вопросе – это практика и мудрость опытных программистов.

К примеру, вам стоит сразу же отредактировать данные по root-пользователю. Никак нельзя его подпускать к серверу SSH – это чревато необратимыми последствиями. Мало того, что хакер может проникнуть к вам на компьютер через аккаунт суперадминистратора, так и вы сами способны нанести вред серверу SSH, ведь у root неограниченные права. Никак нельзя допускать кому-либо выполнять команды sudo удаленно, а по умолчанию суперадмину дозволено входить на сервер SSH. Так что начните с того, что запретите ему доступ.

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

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

Но стоит ли менять порты? Точнее стоит ли менять стандартный порт, который прописан в SSH по умолчанию? Как известно, это значение равно – Port 22. И по поводу этой строки у многих программистов возникает масса вопросов. Одни уверенно твердят, что нельзя поддавать себя такой опасности и лучше просто заменить порт. Другие говорят, что и Port 22 – это нормально и ничего страшного произойти не может, если игнорировать стандартный порт в настройках.

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

Кроме того, ходят слухи, догадки и даже утверждения о том, что Port 22 вовсе не стоит заменять на другой порт. А все потому, что Port 22 считается универсальным и его уже используют большинство серверов. Если вы сисадмин, и хотите настроить сервер для массового использования, то применение другого значения вместо Port 22 может навредить процессу взаимодействия с клиентом. Ведь все привыкли, что в командах нужно писать именно Port 22. А в случае замены придется каким-то образом сообщать клиентам об этом, что весьма неудобно.

Еще одна неприятность, которая подстерегает тех, кто решился заменить port 22 на другое значение – это возможные сбои в работе. Все-таки, не зря разработчики протокола SSH выбрали именно Port 22 для стандартных настроек. Видимо, этот порт лучше других подходит для обеспечения взаимодействия сервера и клиента, и если заменить port 22 на другой, можно поплатиться потерей функциональности, вплоть до потери возможности работать с сервером. Но если вы все же не боитесь приведенных предостережений, то разберем следующие вопросы: как изменить port 22 и как создать forwarding (переадресацию) портов.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector