Основы безопасности SSH | Othniel.Ru Othniel.Ru Администрирование и безопасность Unix Основы безопасности SSH Август 23rd, 2011 Размещено в категории security Комментариев много. Целых 2 »

SSH без преувеличения является наиболее популярным средством администрирования unix-серверов, благодаря чему тяжело встретить серьёзный сервер под FreeBSD или Linux без настроенного сервиса Security SHell, что в свою очередь делает его наиболее часто атакуемым злоумышленниками сервисом удалённого управления. OpenSSH на данный момент является наиболее развитой и безопасной реализацией этого замечательного протокола, и поставляется в базовой поставке большинства сетевых операционных систем семейства *nix, а удалённые уязвимости в OpenSSH в наше время встречаются нечасто, тем не менее большое количество проникновений осуществляется именно через SSH. Почему? Потому что кто-то не удосужился соблюсти несколько базовых правил при конфигурировании этого сервиса. Эти правила, начиная с самых значимых, мы рассмотрим ниже.

Правило первое и самое главное: не использовать пустые и уязвимые пароли. Самой большой опасностью для вашего сервера является использование пустых и уязвимых паролей. Почему-то все уверены что именно их сервер останется нетронутым. А зря, практика показывает, что активный брутфорс SSH начинается через 10-12 часов после выставки сервиса в Интернет. Вот интересная статистика из Википедии: В таблице представлено оценочное время полного перебора паролей в зависимости от их длины. Предполагается, что в пароле могут использоваться 36 различных символов (латинские буквы одного регистра + цифры), а скорость перебора составляет 100 000 паролей в секунду.

Символы Количество вариантов Время перебора 1 36 менее секунды 2 1296 менее секунды 3 46 656 менее секунды 4 1 679 616 17 секунд 5 60 466 176 10 минут 6 2 176 782 336 6 часов 7 78 364 164 096 9 дней 8 2,821 109 9x1012 11 месяцев 9 1,015 599 5x1014 32 года 10 3,656 158 4x1015 1 162 года 11 1,316 217 0x1017 41 823 года 12 4,738 381 3x1018 1 505 615 лет

Таким образом, пароли длиной до 6 символов в общем случае не являются надежными. Необходимо заметить, что пароли целиком состоящие из словарных слов не менее уязвимы и с лёгкостью подбираются всё тем же брутфорсом по словарю.

Правило второе, не менее важное: не использовать учётную запись суперпользователя. Ни в коем случае не использовать для входа учётную запись root. Большинство неправомерных попыток входа производится именно через эту учётную запись, именно она даёт неограниченный контроль над системой злоумышленнику. Для входа используйте непривилегированную учётную запись, а затем повышайте ваши права до суперпользователя при помощи утилит su и sudo. Проверьте значение параметра PermitRootLogin в конфигурационном файле sshd, значение для запрета доступа root должно быть установлено «no«.

Правило третье, обязательное для исполнения: используйте протокол SSH только версии 2. Никогда и ни при каких обстоятельствах не используйте протокол версии 1. Первая версия уязвима, для неё разработано великое множество эксплойтов. Вы удивитесь как быстро ваш сервер станет проходным двором. Проверьте значение параметра Protocol, он должен быть установлен в значение «2«.

 

Правило четвертое, для успокоения вашей же совести: используйте нестандартный порт SSH. В целом это не столько правило безопасности, сколько способ сберечь свои и без того расшатанные нервы (вы же системный администратор, не так ли?). Дело в том что большинство автоматизированных зловредных программ (червей) пытаются атаковать стандартный, 22 TCP-порт, что в свою очередь причиняет массу неудобств при изучении лог-файла учёта попыток аутентификации. Лог-файлы оказываются до ужаса загаженными этими самыми попытками входа. Порт, на котором сервер будет принимать клиентские соединения указывается параметром Port, как нетрудно догадаться. Установите значение параметра любым неиспользуемым в системе значением, лучше всего начиная от 1000 и выше (например 8087). Можно попытаться замаскироваться под какую-нибудь редко используемую службу. Надо заметить, что от злоумышленников эта уловка не поможет, поэтому не считайте изменение стандартного порта поводом не соблюдать первые три правила.

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

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

Удачи в сети!

, , « » Комментарии есть. Целых 2 Вставить весомое слово