Достаточно ли установить очень надежный пароль для защиты SSH на порту 22?

8

Предполагая, что никто не может украсть у меня действительный пароль, практически 99,9% невозможно использовать SSH для взлома моего сервера, работающего по стандартному порту SSH, используя очень сильный (24 символа, содержащие прописные, строчные буквы, круглые скобки, подчеркивания, доллары, периоды и т. д. и без слов на человеческом языке) пароль?

Иван
источник
2
Я бы не стал публиковать это как ответ, потому что многие люди по какой-то причине со мной не согласны, но изменение порта на нечто нестандартное также поможет уменьшить поверхность атаки. Очевидно, вам потребуется использовать надежный пароль и поддерживать сервер в актуальном состоянии, чтобы обеспечить реальную безопасность, но это поможет избежать обычного сканирования открытых портов.
Пол Крон

Ответы:

3

хотя и редки, но все равно есть 0-дневные эксплойты ... так что никогда не знаешь. может быть, вы можете ограничить доступ к порту 22 [на уровне брандмауэра] только несколькими хостами / сетями?

или, может быть, вы можете пойти по пути безопасности, хотя и неясности и реализовать стук портов ?

PQD
источник
1
Я думаю, что стук в порт - лучшая идея. Ограничение сетей / хостов - это эшафот, я очень мобильн и склонен использовать разные сети Wi-Fi и 3G.
Иван
8

Помните, что ваш пароль может быть очень надежным, в то время как другие пользователи могут иметь очень слабые пароли. Поставьте AllowGroupsили AllowUsersв, /etc/ssh/sshd_configчтобы отключить доступ SSH для других пользователей.

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

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

Мориц Оба
источник
1
+1 для AllowUsers ... безусловно, плюс.
Пол Крон
1
И для хорошей меры добавьте fail2ban
tegbains
4

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

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

sysadmin1138
источник
1
«Все зависит от того, насколько быстро злоумышленник может забить ваш порт tcp / 22 для входа в систему. Если вы не используете что-либо для завершения таких повторных подключений» - разве это не установлено во всех распространенных дистрибутивах по умолчанию в настоящее время?
Иван
2
@ Иван К сожалению, нет, это не так. apt-get install denyhosts(основанный на Debian) pkg_add -r denyhosts(FreeBSD) - это одна из первых вещей, которую нужно сделать на новой коробке.
Пит
2
Не всегда. Ubuntu не имеет его по умолчанию, как и openSUSE или Fedora / Centos. Предварительно собранные пакеты существуют для всех трех, но вы должны принять положительные меры, чтобы включить их.
sysadmin1138
3

Используйте денихостов. Также рассмотрите возможность использования входа на основе ключа, а не пароля.

Пит
источник
Да, я использую ключ (и с хорошей случайной символьной парольной фразой, записанной только в моем уме и с датой истечения срока действия, которая имеет смысл). Но для пользователя все еще есть пароль, который я установил так, как я описал.
Иван
1

Перемещение sshd на нестандартный порт, вероятно, будет тривиально добавить в вашу конфигурацию, и это, вероятно, устранит 99% трафика ботов ssh. Зачем подвергать себя всем атакам грубой силы, когда вы можете так легко спрятаться. ;-)

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

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

Патрик Хекенливли
источник