LINUX Format №121 08.09

Page 43

Рецепты доктора Брауна

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

Е

сли ваш SSH­сервер или компьютер открыт для доступа через Интернет, то число неудачных попыток входа в систе­ му будет достигать сотен и тысяч в день. Феноменально? Кто не верит, загляните в файлы журна лов. И что тут можно пред­ принять, кроме как струхнуть? Рассмотрим шесть способов повы­ сить защищенность входа в систему через SSH.

1 Надежные пароли На дежные пароли – первый рубеж обороны. Изу чите критерии на­ дежности пароля (и обучите своих пользователей, если они у вас есть). В Интернете можно найти массу материа лов, но по су ти, на­ дежные пароли должны быть достаточно длинными, содержать смесь букв, цифр и спецсимволов, и не походить на слова из сло­ варя. Если у вас есть пользователи, которым разрешено брать себе пароли самостоятельно, воспользуйтесь модулями PAM, например, pam_cracklib или pam_passwdqc, для принудительной проверки стойкости.

2

Запретим вход как root

Если установить параметр PermitRootLogin в файле конфигура­ ции sshd в no, то вход в систему от имени root будет запрещен. Это усложнит за дачу злоумышленника: снача ла ему придется уга­ дать имя обычного пользователя и его пароль, а потом – пароль суперпользователя root. Такая защита по умолчанию включена в Ubuntu, хотя и по другой причине – пароль root там заблокиро­ ван. Однако это не особо удобно и для клиентов, которым нужно войти в систему как root, потому что им снача ла нужно будет сде­ лать это под обычным пользователем, а потом – под root.

3

уберем подключение с паролем

Хотя SSH под держивает несколько механизмов ау тентифика­ ции, по умолчанию обычно ак тивны только два – парольная ау­ тентификация и ау тентификация с публичным/приватным клю­ чом RSA. Установив параметр PasswordAuthentication в файле конфигурации sshd в no, вы заставите sshd использовать ау тенти­ фикацию RSA. Перед этим, впрочем, нужно скопировать публич­ ный ключ на сервер. Это нетрудно: если у вас еще нет пары пуб­

личный/приватный ключ, запустите ssh­keygen, чтобы создать ее, за дайте парольную фразу и воспользуйтесь ssh­copy­id, чтобы скопировать публичный ключ в файл authorized_keys на сервере. Это в самом деле эффек тивная защита, но если вы регулярно входите в систему с разных компьютеров, на до носить закрытый ключ с собой.

4

Запустим SSH на нетипичном порту

Порт, который слушает sshd, можно изменить, установив пара­ метр Port в конфигурационном файле сервера. Измените его но­ мер на «случайный» и большой. Конечно, его нужно будет указы­ вать при подключении: $ ssh ­p 22550 chris@myserver.example.com Как вариант, можно так же настроить это на ка ж дом хосте, в конфигурационном файле клиента SSH (/etc/ssh/ssh_config). Пуристы в информационной безопасности ука жут мне, что полной безопасности нельзя добиться, только пустив пыль в гла­ за. Если вы твердо решите взломать мой компьютер, то без труда определите порт, который слушает sshd, с помощью сканера пор­ тов nmap. Но в большинстве атак на SSH методом перебора ис­ пользуется только порт 22. Могу предположить (хотя это только предположение), что перемещение SSH с порта 22 уменьшит чис­ ло атак на добрых 90 %. Обеспечит ли это безопасность компью­ тера? Не абсолютно. Снизит ли риск? Да. Так или иначе, это, види­ мо, самая слабая мера из здесь приведенных.

5

Гоним нарушителей­рецидивистов

Недавно мне попа лась программа fail2ban, которая блокиру­ ет сайты, неудачные попытки входа в систему с которых повто­ ряются. Ее идея очень проста. Время от времени она заглядыва­ ет в журна лы, на ходит сообщения о неудачных попытках входа в систему (с помощью регулярных выра жений) и извлекает IP­ад­ рес нарушителя. По превышении определенного порогового зна­ чения (его можно за дать), fail2ban меняет правила брандмауэра Iptables таким образом, что IP­адреса нарушителей полностью блокируются. Запрет может быть постоянным или сниматься по истечении определенного времени.

6

Ограничим частоту подключений

Идея здесь состоит в том, чтобы ограничить частоту, с которой можно устанавливать новые SSH­соединения с одного IP­адре­ са. Если она превышена, поместите IP­адрес в черный спи­ сок (предполагая, что это злоумышленник) и отбрасывайте (DROP) все со­ единения с данного адреса час или около того. Все это умеет делать новый модуль Iptables. Обратите внимание, что дан­ ное решение работает только на IP­уровне, и отличить удачный вход в систему от неудачного невозможно – ограничивается только число попыток. Хоро­ шее обсу ж дение данной технологии имеется на сай­ те www.sollers.ca/blog/2008/iptables_recent. если вы хотите узнать об SSH больше, материалов очень много��

Август 2009 Linux Format 41


Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.