November 26, 2009

Перенос SSH на отдельный IP-alias во FreeBSD как мера пресечения попыток взлома

Пришло на почту уведомление от сервака, мол, слишком часто кто-то ломится по SSH с разными логинами и безуспешными попытками. Здесь можно предпринять различные меры:
1. Использовать в качестве порта на котором работает sshd отличный от 22-го (напимер, 20002-й).
2. Ограничить возможность подключения к Вашему серверу с определнных
адресов/подсетей с помощью firewall, например с помощью iptables (http://www.opennet.ru/base/net/iptables_inside.txt.html).
3. Использовать дополнительное программное обеспечение, которое бы пресекало
попытки подбора пароля (например sshit, подробнее см. http://www.lissyara.su/articles/freebsd/security/sshit/)
4. Открыть доступ по SSH на другом IP-адресе, а на основном заглушить вообще.

Остановлюсь на последнем варианте.
Открываем /etc/rc.conf и редактируем интерфейсы. У меня:
ifconfig_re1="inet основной_ip netmask 255.255.255.0"
ifconfig_re1_alias0="inet дополнительный_ip netmask 255.255.255.255"
Далее редактируем /etc/ssh/sshd_config, раскомментируем и изменяем строчку
ListenAddress дополнительный_ip
Глобальный рестарт и о чудо: на основной IP по SSH не пускает. Соль этого способа в том, что второй (дополнительный) IP неизвестен для атакующих, в отличие от основного, который можно получить из любого домена, указывающего на Ваш сервер. Это — первый и самый основополагающий, но далеко не единственный способ защиты. Про PermitRootLogin no тоже не забываем :)

1 comment:

Anonymous said...

На отдельный IP-alias это как понять? внешний айпишник чтоли?
Или речь идёт о внутрисетевом айпи?