Защита SSH от подбора пароля, программа sshguard в Debian

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

Напомню, что SSH является стандартом для подключения и администрирования удаленных систем, кстати, не только в мире UNIX, и входит в стандартный набор установленных пакетов, многих UNIX дистрибутивов, Debian в частности.
Причиной такого количества неудачных подключений, являются попытки подбора пары логин:пароль, так называемые атаки по словарю, осуществляемые с помощью специальных программ. Бороться с данным видом атак вручную, абсолютно бесполезное занятие, наличие IP адреса атакующего ничего не дает, так как, в подавляющем большинстве случаев, являются "левыми" и периодически меняются.

Если копнуть соответствующие материалы по безопасности серверных операционных систем, можно найти целый ряд простых правил, придерживаясь которых, можно обеспечить достаточно высокий уровень безопасности SSH. Приведу краткий список того, что необходимо знать и помнить:

Конечно-же устанавливать нормальные пароли. Безопасный пароль должен состоять как минимум из 10-16 знаков, содержать, буквы в нижнем и вернем регистрах, цифры, и символы( !"№;%:?-_ и т.д. ). Подобрать такой пароль, за сколь-нибудь приемлемый промежуток времени, практически не реально.
Запретить удаленный вход в систему под учетной записью root.

Для нужд удаленного администрирования, завести отдельного пользователя с минимальными правами, разрешив ему подключаться по протоколу SSH. Для повышения привилегий в системе, использовать программы типа su.
Если есть возможность, ограничить удаленные подключения по IP адресам. ( средствами демона SSH или фаерволом ).

Кроме вышеперечисленных мер, существует масса программ, помогающих администратору поддерживать безопасность системы на уровне, да и просто облегчающих жизнь. Программа sshguard с iptables + ConfigServer Security & Firewall (CSF+LFD) значительно повысит безопасность Вашего сервера от взлома подбора связки логин:пароль.

Установка sshguard в Debian

apt-get install sshguard

Создаем файл для хранения логов

touch /var/log/sshguard

Добавляем в /etc/rsyslog.conf следующую строчку

auth.info;authpriv.info | /var/log/sshguard

Перезапускаем syslog

/etc/init.d/rsyslog restart

Создаем скрипт sshguard и делаем его исполняемым

touch /etc/init.d/sshguard

Пишем в нем следующий код

/usr/bin/tail -f /var/log/sshguard | /usr/sbin/sshguard &


Добавляем его в автозапуск

update-rc.d sshguard defaults


Создадим правило для iptables и делаем его исполняемым

touch /etc/network/if-up.d/sshguard

со следующим содержимым

/sbin/iptables -N sshguard

/sbin/iptables -A INPUT -p tcp --dport 22 -j sshguard

Внимание! Если Ваш SSH настроен не на 22 порт, не забудьте исправить скрипт.

Перезапускаем сервер или запускаем наши скрипты
Теперь Ваш сервер в большей безопасности.

Ну и конечно рекомендую почитать

man sshguard

http://4debian.info/article/page/35-ssh-sshguard/

Обновлено: 13.03.2015