Назад | Перейти на главную страницу

Ограничение корневого входа по SSH только в «безопасные» сети в OpenSSH 4.x

Мы хотим ограничить root SSH-вход только в несколько сетей, которые мы считаем "безопасными" (VPN и т. Д.), Без наложения таких же условий на другие учетные записи.

В OpenSSH 5.x мы могли использовать match блок. Однако это не вариант в OpenSSH 4.x, которым мы ограничены в RHEL5.

Я подумал, возможно, это можно сделать с помощью PAM. У кого-нибудь есть идеи?

Найдя это Статья Cyberciti.biz, Я начал изучать pam_access. Это решение, на котором я остановился:

Сначала я создал файл доступа в /etc/security/sshd.conf. Я решил сделать это вместо использования по умолчанию /etc/security/access.conf потому что мне нужен файл доступа, посвященный sshd. Файл выглядит так:

# cat /etc/security/sshd.conf
+:root:192.168.0.0/8
-:root:ALL

Проверять, выписываться man access.conf для получения дополнительной информации о синтаксисе.

Затем я добавил следующую строку поверх стека PAM в /etc/pam.d/sshd:

auth       required     pam_access.so accessfile=/etc/security/sshd.conf

Причина, по которой я использовал auth вместо того account как это сделано в статье Cyberciti.biz, потому что использование account тип разрешил пользователям проверять пароль и затем быть отвергнутым. Я предпочитаю не проверять пароль. Проверять, выписываться man pam.conf Чтобы получить больше информации.

Это сработало отлично.

Нет опыта работы с RHEL и друзьями, но я, вероятно, сначала попробую использовать tcpwrappers - я имею в виду /etc/hosts.allow и /etc/hosts.deny файлы:

---8<--- hosts.deny ---8<---     
ALL: ALL

и

---8<--- hosts.allow ---8<---
ALL: localhost, 10.y.z.

Обратите внимание на подразумеваемый / 24; Не уверен в синтаксисе CIDR-блоков. Если тебе это нужно, я найду его. Постарайтесь не заблокировать себя, используя эти уловки.

PS: Вы думали о спуфинге ARP, верно?

Да, pam_access сделает это. Другие возможности включают обертки tcp (их поддерживает RHEL5 sshd) и iptables.