Почему рут над SSH плох
Есть много ботов, которые пытаются войти в ваш компьютер через SSH. Эти боты работают следующим образом.
Они выполняют что-то вроде, ssh root@$IP
а затем они пробуют стандартные пароли, такие как «root» или «password123». Они делают это так долго, как могут, пока не найдут правильный пароль. На всемирно доступном сервере вы можете увидеть множество записей в ваших файлах журналов. Я могу идти до 20 в минуту или больше.
Когда злоумышленникам повезет (или хватит времени), и они найдут пароль, у них будет root-доступ, и это будет означать, что у вас проблемы.
Но когда вы не разрешаете root входить через SSH, бот должен сначала угадать имя пользователя, а затем соответствующий пароль. Допустим, список правдоподобных паролей содержит N
записи, а список вероятных пользователей - M
большие записи. У бота есть набор N*M
записей для тестирования, так что это немного усложняет бот по сравнению с корневым случаем, когда он имеет только набор размеров N
.
Некоторые люди скажут, что это дополнительное M
не реальное повышение безопасности, и я согласен, что это лишь небольшое улучшение безопасности. Но я думаю об этом больше как об этих маленьких замках, которые сами по себе небезопасны, но они мешают многим людям легко получить доступ. Это, конечно, допустимо только в том случае, если на вашем компьютере нет других стандартных имен пользователей, таких как tor или apache.
Лучшая причина запрета root - это то, что root может нанести гораздо больший урон машине, чем обычный пользователь. Таким образом, если по счастливой случайности они найдут ваш пароль, вся система будет потеряна, в то время как со стандартной учетной записью пользователя вы сможете манипулировать только файлами этого пользователя (что все еще очень плохо).
В комментариях было упомянуто, что обычный пользователь может иметь право на использование, sudo
и если пароль этого пользователя будет угадан, система также полностью потеряна.
В заключение я бы сказал, что не имеет значения, какой пароль пользователя получает злоумышленник. Когда они угадывают один пароль, вы больше не можете доверять системе. Злоумышленник может использовать права этого пользователя для выполнения команд sudo
, злоумышленник также может использовать уязвимость в вашей системе и получить права root. Если у злоумышленника был доступ к вашей системе, вы больше не можете ему доверять.
Здесь следует помнить, что каждый пользователь в вашей системе, которому разрешено входить через SSH, является дополнительным недостатком. Отключая root, вы устраняете одну очевидную слабость.
Почему пароли через SSH плохие
Причина отключения паролей действительно проста.
- Пользователи выбирают плохие пароли!
Вся идея пробовать пароли работает только тогда, когда пароли являются предположительными. Поэтому, когда у пользователя есть пароль «pw123», ваша система становится небезопасной. Другая проблема с паролями, выбранными людьми, состоит в том, что их пароли никогда не бывают действительно случайными, потому что тогда их будет трудно запомнить.
Кроме того, пользователи часто используют свои пароли для входа в Facebook или в свои учетные записи Gmail и на ваш сервер. Поэтому, когда хакер получает пароль учетной записи этого пользователя Facebook, он может попасть на ваш сервер. Пользователь может легко потерять его из-за фишинга, иначе сервер Facebook может быть взломан.
Но когда вы используете сертификат для входа в систему, пользователь не выбирает свой пароль. Сертификат основан на случайной строке, которая очень длинная от 1024 до 4096 бит (пароль ~ 128 - 512 символов). Кроме того, этот сертификат предназначен только для входа на ваш сервер и не используется никакими внешними сервисами.
связи
http://bsdly.blogspot.de/2013/10/the-hail-mary-cloud-and-lessons-learned.html
Эта статья взята из комментариев, и я хотел дать ей немного более заметную позицию, поскольку она немного глубже касается ботнетов, которые пытаются войти через SSH, как они это делают, как выглядят файлы журналов и что можно сделать, чтобы остановить их. Это было написано Питером Хэнстином.