Вопрос: Зачем менять порт ssh по умолчанию? [закрыто]


Я заметил, что многие администраторы меняют порт ssh по умолчанию.

Есть ли разумная причина для этого?


45
2017-10-09 08:05


Источник


Дубликат unix.stackexchange.com/q/2942/9454 - Martin Schröder


Ответы:


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

Если ваш сервер будет являться общим хостом какого-то типа, а не просто обслуживает потребности ваших проектов, использование порта, отличного от стандартного, может быть больно, так как вам придется объяснять его своим пользователям много раз и снова и снова когда они забывают, и их клиентские программы не могут подключиться к порту 22!

Еще одна возможная проблема с SSH на нестандартном порту - это если вы сталкиваетесь с клиентом с ограниченным фильтром исходящих фильтров, который не может подключиться к вашему пользовательскому порту, потому что их фильтр разрешает, например, порты 22, 53, 80 и 443 - местом назначения новых исходящих соединений. Это необычно, но, конечно, не неслыханно. По аналогичному вопросу некоторые интернет-провайдеры могут видеть зашифрованный трафик на другом порту, кроме тех, где он обычно ожидается (порт 443 или HTTPS, 22 для SSH и т. Д.) В качестве попытки скрыть соединение P2P и дросселировать (или блокировать) соединение неудобно.

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

Какой бы порт вы ни выбрали, если вы переходите от 22, убедитесь, что оно меньше 1024. В большинстве конфигураций Unix в конфигурации по умолчанию только root (или пользователи в корневой группе) могут прослушивать порты ниже 1024, но любой пользователь может прослушивать более высокие порты. Запуск SSH на более высоком порту увеличивает вероятность того, что пользователь-мошенник (или взломанный) может сбой вашего SSH-демона и заменит его собственным или прокси-сервером.


62
2018-02-07 16:26



Я единственный пользователь этого сервера. Спасибо за разъяснение вопроса 1024+. Если бы я выбрал, я бы использовал порт 48xxx. Во всяком случае, в этот момент я все равно не получаю, если это полезно или нет = / - dynamic
+1 для> 1024 бит. - MattC


Это простая (но удивительно эффективная) форма безопасность через безвестность,

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

Однако, если кто-то активно нацеливает вас конкретно, он не дает никакой пользы, поскольку простой одноразовый nmap scan покажет порт, на котором он фактически запущен.


27
2017-10-09 08:25



"проверить все 64k возможных портов"... Выполнение SSH в любом порту выше 1023 просто неверно. Это делает систему Больше уязвим, чем оставить его в своем порту по умолчанию. - Juliano
@ Джулиано - объясните пожалуйста. Просто потому, что вы иметь быть root для прослушивания в привилегированном порту не делает (AFAIK) сделать это небезопасный для запуска в непривилегированном порту. - Alnitak
Кстати, это не безопасность через неясность, в противном случае вам также придется вызывать аутентификацию по паролю. Безопасность через неясность - это когда реализация не раскрывается. Здесь четко указано выполнение (это «я изменил служебный порт»), а секрет («какой порт?») По-прежнему остается секретным. - Juliano
@ Джон - на самом деле я вижу пункт @ Джулиано. Это не делает сам демон SSH не менее безопасным, но в общем случае, запущенный на непривилегированном порту, лишает нормальное предположение, что root начал демона. Поэтому, если вы можете каким-то образом остановить этого демона (например, DoSing it), вы можете запустить свой собственный поддельный демон на своем месте без необходимости использования root-эксплойта. Этот поддельный демон мог бы захватить достаточно подробностей, чтобы позволить дальнейшие эксплоиты. - Alnitak
@John, это правда - он все еще требует, чтобы злоумышленник получил достаточный доступ для запуска самого нового демона. Ключевым моментом является то, что они больше не нужны корень доступ для его запуска. - Alnitak


Чтобы действительно избежать нападений с использованием bruteforce, всегда важно выполнить следующие шаги:

  • Установка denyhosts или fail2ban
  • Ограничить количество подключений в секунду на ssh-порту
  • Изменить порт ssh
  • Запрет входа в корневой каталог
  • Включить аутентификацию по ключу, а не пароль

21
2017-11-14 21:29



Кажется хорошим списком, кроме части изменения порта, с которой я не согласен, это слишком много неизвестности. Современный сканер портов найдет его в течение нескольких секунд? (и многие сети не позволят случайному портовому трафику, обычно ограниченным, например, 22, 80 и 443) - Oskar Duveborn
Атака с ограничениями на перенос портов, которые проверяют работу ssh на порту по умолчанию, хорошо, если атака более серьезная, только в этом случае злоумышленник может выполнить проверку портов отверстия в вашей сети / хостах. - Ali Mezgani
В самом деле, я думаю, что за хорошим брандмауэром, если вы будете поддерживать свои службы в актуальном состоянии, и если вы измените их по умолчанию, вы можете быть в безопасности от атак злоумышленников. и может быть не из рейдов 0day или неизвестных атак - Ali Mezgani
Использование denyhosts / fail2ban смягчает необходимость переключения портов или наличия ключей. Если вы не разрешаете пароли, тогда нет смысла использовать denyhosts / fail2ban или менять порты. - Jeremy L
Использование denyhosts / fail2ban не обязательно уменьшает необходимость в дополнительных мерах безопасности. Целью безопасности является создание максимально возможного количества дорожных блоков для пользователей, которые пытаются обойти безопасность. Конечно, вам, вероятно, не нужно менять порт с 22 на 2222, но говорят, что еще один администратор приходит и снова включает пароль ... у вас все еще будет несколько других ударов скорости на месте. Каждый шаг, указанный выше, дает администратору процент, близкий к невозможности 100% -ной безопасности. - Patrick R


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

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

Не разрешая root ssh logins и меняя номер порта и, возможно, что-то вроде fail2ban, и вы должны быть золотыми. добавьте iptables для хорошей оценки и держите себя в курсе последних событий, и у вас не должно быть никаких проблем.


12
2018-02-07 16:13



+1 для «сохранения журналов» - Lekensteyn
Но посмотрите на Ответ Дэвида Спиллетта знать, почему порт 1291 (больше 1024) может быть опасным. - Konerak
Если вы собираетесь посоветовать использовать непривилегированный порт через 2 года после многих других, более лучших ответов - возможно, подготовьте лучшую причину, чем «Я видел, как компании это делают». Я видел, как компании делают много вещей. Я редко хочу следовать их примеру. - underscore_d


Использование нестандартного порта ssh потребует больше объяснений и документации, а также ответов на сообщения «Я не могу войти».

Я считаю следующее выгоды запуска sshd на нестандартный порт важнее проблем, которые он создает:

  • 99.9999% нападений грубой силы выполняются ботами, которые смотрят только на порт 22 и никогда не тратят время на поиск нестандартного порта. Атаки грубой силы и контрмеры, такие как DenyHosts или fail2ban потребляйте ресурсы, которые вы сохраните, просто запустив ssh-сервер на нестандартном порту.
  • Вы избавитесь от всех бесполезных сообщений о ботах, пытающихся проникнуть в вашу систему. Если какой-либо IP-адрес появляется в отчете о неудачных входах в систему, есть вероятность, что это человек.

Более того, если вы хотите быть действительно противным, вы всегда можете запустить поддельный sshd (с DenyUsers * ) на стандартном порту 22, в то время как ваш обычный sshd работает на порту 54321. Это заверит вас, что все боты и злоумышленники будут вечно пытаться войти в службу, которая отрицает все логины, потому что никто никогда не подумает о попытке найти ваш реальный sshd.

Мои 2 цента.


11
2017-11-14 23:17



Это может привести к еще большему количеству вызовов поддержки. - Brad Gilbert
Это верно, но повышенная безопасность идет по цене. :) - Born To Ride


Выполнение этого по любой причине «безопасности» является фиктивным. Это лучший пример безопасности, который не является безопасностью.

Если вы хотите, чтобы ваши журналы были немного легче и чище, тогда да, это полезно, так как вы не получите столько попыток перебора порта / скрипта-кидди.


10
2017-10-09 08:25



Ага. Когда у меня был ssh на порте 22, у меня было> 20000 неудачных попыток пароля, которые показывались в моих журналах в день. Это означало, что каждый день я получаю предупреждение о безопасности. У меня была отключена аутентификация по паролю - у вас должен был быть приватный ключ для входа в систему - поэтому я не беспокоился о том, что кто-то попадает, но я предпочел бы получать электронные письма с предупреждением о безопасности только тогда, когда происходит что-то реальное. - jdege


Я бы запускал ssh на стандартном порту и использовал что-то вроде fail2ban или DenyHosts чтобы ограничить количество атак со словарем.

Другой вариант - отключить логин с помощью паролей alogheter и разрешить только логины с ssh-ключами.


9
2017-11-14 21:27





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


8
2017-10-09 08:08





Я всегда меняю свой SSHd на использование порта 2222, всем, кому нужно будет заходить на мои серверы, это знает, и это не секрет. Это не имеет абсолютно никакого выигрыша в безопасности, если только потенциальный хакер не станет абсолютным дебилом).

Единственное преимущество Я получаю от этого, что в журнале auth нет миллиона неудачных попыток входа для «root», «alice», «bob», «sally», «admin» и т. Д.


7
2018-02-07 20:04





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

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

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


6
2018-02-07 16:16





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


4
2017-11-14 21:28



не говоря уже о том, что сканер портов попытается использовать и другие порты. - Jim Deville