Skip to content

Разграничение OpenVPN сети с помощью LDAP групп

Notifications You must be signed in to change notification settings

knek-little-projects/salt-formula-openvpn-acl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Разграничение сети в OpenVPN по LDAP-группам

Демон для настройки iptables на VPN-сервере для разграничения сетевых доступов:

  • считывает пользователей из ldap
  • генерирует нехватающие ccd-файлы со статическим ip и, если надо, релоадит OpenVPN
  • из конфига читает роли с белыми списками
  • ищет группу пользователей с этой ролью в LDAP и применяет белые списки к этим пользователям
  • перезаписывает iptables, но только в случае, если правила поменялись
  • скрипт запускается по крону раз в минуту и пишет в /var/log/acl.log

Описание

Демон настраивает правила iptables для разграничения сети OpenVPN. Правила формирует на основе конфига и групп в LDAP. Завернут в saltstack-формулу, которая тестировалась на Debian 9.

Конфиг задаётся через пиллар (см. pillar-example.yaml):

  • acl.ldap: учетные данные пользователя для доступа в LDAP
  • acl.ccd.group: пользователи из этой LDAP-группы будут иметь доступ в сеть
  • acl.iptables.nat: правила NAT для всей системы
  • acl.iptables.acl: словарь белых списков.

В конфиге acl.iptables.acl указаны LDAP-группы и разрешенные для них подсети. Если пользователь из acl.ccd.group включен в одну из групп в acl.iptables.acl, то его будет пускать в подсети, описанные для этой группы.

Деплой

Демон завернут в SaltStack-формулу. Пример пиллара в pillar-example.yaml. Его надо передать в переменную config в init.sls.

Лицензия

GPLv2: https://www.gnu.org/licenses/old-licenses/gpl-2.0.txt

About

Разграничение OpenVPN сети с помощью LDAP групп

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published