Шукати в цьому блозі

середа, 30 січня 2013 р.

Ограничение входа по SSH с конкретных IP адресов

Многие используют вход по ssh с использованием ключей авторизации (в блоге немного рассказывалось об этом), но мало кто знает о том, что при этом можно ограничить вход с заведомо доверенных ip-адресов.
В принципе если есть права администратора то подобные ограничения легко и просто вносятся при помощи незабвенного iptables-а. Однако если прав администратора нет, а ограничение ввести надо то на помощь может прийти нижеследующий механизм.
Для введения ограничений доступа с конкретного ip, как и для авторизации по ключу, используется .ssh/authorized_keys. Например если мы хотим чтобы доступ с конкретным ключом авторизации осуществлялся только лишь с ip-адреса 1.2.3.4 то в начало соответствующей ключу строки файла .ssh/authorized_keys необходимо добавить значение from:
from="1.2.3.4" ssh-rsa  ....
Если хочется чтобы таких адресов было несколько или это была сеть то перечисляем нужные значения:
from="1.2.3.0/24,44.55.66.77" ssh-rsa ...
Таким-же образом можно ввести и другие ограничения, например:
from="1.2.3.4",no-agent-forwarding,no-port-forwarding,no-X11-forwarding ssh-rsa ...
это ограничит agent-forwarding, port-forwarding и т.д., оставив только интерактивный вход в систему. ssh можно ограничить ещё больше, например запретив интерактивный вход, заставив выполнить заданную команду:
command="/usr/local/bin/my-prog" ssh-rsa ..
Это может быть полезным для организации удалённого резервного копирования rsync + ssh, когда будет запущен строго определённый скрипт и ничего более.

Немає коментарів: