У меня есть несколько серверов в DMZ, которые получают общедоступный трафик с внешнего (общедоступного) IPv4-адреса. Это транслируется на нашем шлюзе на адрес 172.x.x.x.
Все внешние клиенты используют локальные учетные записи и привязаны к корневому каталогу. Они соединяются таким образом.
Внутренние учетные записи, поступающие с наших внутренних адресов, относятся к 10.x.x.x
Я хотел бы ограничить openssh прослушиванием LDAP только из внутренней (10.x) сети. Я хотел бы настроить это в файле конфигурации sshd, если это возможно (без tcpwrappers или iptables).
Так,
sshd-соединения -> 172.x.x.x только локальная аутентификация sshd-соединения -> 10.x.x.x local + ldap auth
Запуск openssh 6.1p1
Спасибо,
Нарисовался.
Если я правильно понял ваш вопрос, вы можете использовать pam_access. Я не думаю, что вы можете сделать это в sshd_config самостоятельно.
Чтобы включить pam_access, добавьте следующую строку в служебный файл pam sshd. В моей системе это /etc/pam.d/sshd.
account required pam_access.so
Затем вы должны поместить локальных пользователей и пользователя ldap в разные группы. Допустим, группа localusers и группа ldapusers.
Теперь вы можете редактировать ограничения доступа в /etc/security/access.conf:
# root only from local-network?
+ : root : : 10.0.0.0/8
# users in ldap only access from local network
+ : (ldapusers) : 10.0.0.0/8
# local user only access from 172.x.x.x network
+ : (localusers) : 172.0.0.0/8
# Deny all other users to get access from all sources?
- : ALL : ALL
Сначала попробуйте понять конфигурацию access.conf, потому что вы можете легко заблокировать себя.