Возможно вы искали: 'ShellShock 2: Blood Tr...'

May 31 2025 02:12:48
  • Как сделать 8Gamers.Ru домашней страницей?
  • Игры
    • База данных по играх
    • Игровые новости
    • Игровая индустрия
    • Обзоры на игры
    • Прохождения игр
    • Гайды к играм
    • Превью о играх
    • Игровые тизеры
    • Игровые арты
    • Игровые обои
    • Игровые скриншоты
    • Игровые обложки
    • Игровые трейлеры
    • Игровое видео
    • Вышедшие игры
    • Ближайшие релизы игр
  • Кино и ТВ
    • База данных по кино
    • Статьи о кино
    • Постеры
    • Кадры из кино
    • Кино трейлеры
    • Сегодня в кино
    • Скоро в кино
  • Комиксы и манга
    • Манга по алфавиту
    • База данных по комиксах
    • Читать онлайн комиксы
    • Читать онлайн манга
    • База персонажей
  • Читы и коды
    • Чит-коды для PC игр
    • Чит-коды для консольных игр
    • Трейнеры
    • Коды Game Genie
  • Моддинг
    • Модификации
    • Карты к играм
    • Программы для моддинга
    • Статьи о моддинге
  • Геймдев
    • Всё о создании игр
    • Список движков
    • Утилиты в помощь игроделу
    • Конструкторы игр
    • Игровые движки
    • Библиотеки разработки
    • 3D-модели
    • Спрайты и тайлы
    • Музыка и звуки
    • Текстуры и фоны
  • Рецензии
    • Игры
    • Кино
    • Аниме
    • Комиксы
    • Мангу
    • Саундтреки
  • Саундтреки
    • Лирика
  • Файлы
    • Патчи к играм
    • Русификаторы к играм
    • Сохранения к играм
    • Субтитры к кино
  • Медиа
    • Видео
    • Фото
    • Аудио
    • Фан-арты
    • Косплей
    • Фото с виставок
    • Девушки из игр
    • Рисунки
    • Рисуем онлайн
    • Фотохостинг
  • Юмор
    • Анекдоты
    • Афоризмы
    • Истории
    • Стишки и эпиграммы
    • Тосты
    • Цитаты
  • Флеш
    • Азартные
    • Аркады
    • Бродилки
    • Гонки
    • Для девочек
    • Для мальчиков
    • Драки
    • Квесты
    • Леталки
    • Логические
    • Мультфильмы
    • Открытки
    • Приколы
    • Разное
    • Спорт
    • Стратегии
    • Стрелялки
Статистика

Статей: 87772
Просмотров: 96425698
Игры
Injustice:  Gods Among Us
Injustice: Gods Among Us
...
Dark Souls 2
Dark Souls 2
Dark Souls II - вторая часть самой хардкорной ролевой игры 2011-2012 года, с новым героем, сюжето...
Battlefield 4
Battlefield 4
Battlefield 4 - продолжение венценосного мультиплеер-ориентированного шутера от первого ли...
Кино
Steins;Gate
Steins;Gate
Любители японской анимации уже давно поняли ,что аниме сериалы могут дать порой гораздо больше пи...
Ку! Кин-дза-дза
Ку! Кин-дза-дза
Начинающий диджей Толик и всемирно известный виолончелист Владимир Чижов встречают на шумной моск...
Обзоры на игры
• Обзор Ibara [PCB/PS2] 18407
• Обзор The Walking ... 18853
• Обзор DMC: Devil M... 19921
• Обзор на игру Valk... 15921
• Обзор на игру Stars! 17810
• Обзор на Far Cry 3 18000
• Обзор на Resident ... 16063
• Обзор на Chivalry:... 17561
• Обзор на игру Kerb... 18021
• Обзор игры 007: Fr... 16667
Превью о играх
• Превью к игре Comp... 18003
• Превью о игре Mage... 14502
• Превью Incredible ... 14763
• Превью Firefall 13523
• Превью Dead Space 3 16378
• Превью о игре SimC... 14772
• Превью к игре Fuse 15479
• Превью Red Orche... 15589
• Превью Gothic 3 16388
• Превью Black & W... 17402
Главная » Статьи » Разное » LDAP + динамические iptables (iptables ldap firewall linux gateway dhcp samba)

LDAP + динамические iptables (iptables ldap firewall linux gateway dhcp samba)

Ключевые слова: iptables, ldap, firewall, linux, gateway, dhcp, samba, (найти похожие документы)

From: Першин Сергей <029ah@mail.ru.>
Date: Wed, 2 Aug 2007 18:21:07 +0000 (UTC)
Subject: LDAP + динамические iptables

Оригинал: http://www.invask.ru/linuxtools/ldap-iptables/


Введение
--------

Дано:

* Центральный сервер под linux, на котором установлены
[main.org.int]:


* База данных LDAP


* Контроллер домена на Samba 3.x.x, со списком пользователей в БД
LDAP


* DHCP-сервер с конфигом в БД LDAP


Шлюз в интернет под linux + прозрачный прокси [gate.org.int]

Итак, все настроено и работает через обычный NAT, но хочется большего
+). Задача состояла в том, чтобы пользователь, садясь за любую машину
в домене, входил под своим именем и паролем, и шлюз тут же получал
информацию о том, можно ли этому пользователю пользоваться интернетом,
и с какими правилами.


Настройка шлюза

Подготовка iptables

Для динамического переконфигурирования необходимо создать 6 цепочек, в
которые скриптом будут добавляться правила, не влияя на общие
настройки. Цепочки, оканчивающиеся на _fixed - для хостов, которые
всегда должны иметь доступ в интернет (сервера, машины, не входящие в
домен, ...). Остальные - для машин в домене Samba.

root# iptables -N dynamic_squid_fixed
root# iptables -N dynamic_squid
root# iptables -I dynamic_squid 1 -j REJECT
root# iptables -t nat -N dynamic_nat_prerouting
root# iptables -t nat -N dynamic_nat_prerouting_fixed
root# iptables -t nat -N dynamic_nat_postrouting
root# iptables -t nat -N dynamic_nat_postrouting_fixed
root# iptables -t nat -I PREROUTING 1 -j dynamic_nat_prerouting_fixed
root# iptables -t nat -I PREROUTING 2 -j dynamic_nat_prerouting
root# iptables -t nat -I POSTROUTING 1 -j
dynamic_nat_postrouting_fixed
root# iptables -t nat -I POSTROUTING 2 -j dynamic_nat_postrouting


В цепочки dynamic_squid и dynamic_squid_fixed будут добавляться хосты,
которым разрешено выходить в интернет и, соостетственно, пользоваться
прокси. Поэтому в цепочке INPUT нужно сделать ссылку на них, чтобы
проверить, разрешено ли соединение.

Важен порядок прохождения - сначала все соединения на порт squid'а
3128 нужно завернуть в цепочку dynamic_squid_fixed, в которой все
разрешенные хосты будут приняты правилом -j ACCEPT. Остальные -
вернутся и должны быть завернуты в цепочку dynamic_squid. В ней все
разрешенные хосты будут возвращены из цепочки правилом -j RETURN, а
остальные - обработаны правилом -j REJECT, которое было добавлено при
создании цепочки. Поэтому после ссылок на цепочки нужно разрешить
соединения на порт 3128. $INET_IF - имя сетевого интерфейса,
смотрящего в интернет.

iptables -A INPUT -i ! $INET_IF -p tcp --dport 3128 -j dynamic_squid_fixed
iptables -A INPUT -i ! $INET_IF -p tcp --dport 3128 -j dynamic_squid
iptables -A INPUT -i ! $INET_IF -p tcp --dport 3128 -j ACCEPT


Цепочки dynamic_nat_* - будут содержать правила MASQUERADE для простых
хостов, DNAT, SNAT для хостов с реальными IP, и REDIRECT для
прозрачного прокси.

не забудьте сохранить настройки iptables +)


Статически разрешенные хосты

Первый скрипт - /usr/local/sbin/[1]ldap-inet-fixed отвечает за
занесение хостов с постоянно разрешенным интернетом в цепочки
iptables. Эти хосты должны быть записаны в БД LDAP как объекты с
классами dhcpHost и hostInternetAccess, имеющие фиксированный IP
(атрибут dhcpStatements, со значением "fixed-address: xx.xx.xx.xx").
Класс hostInternetAccess - дополнительный класс, который приведен
ниже, в настройках основного сервера.

Его конфигурационный файл - /etc/ldap-inet/ldap-inet-fixed.conf:

host main.org.int
dn cn=ldaptools,ou=Services,dc=org,dc=int
password SECRET_WORD
base cn=Network,dc=org,dc=int
inet_if eth1


здесь dn - имя учетной записи в БД LDAP, имеющая права чтения на ветку
с конфигурацией DHCP, password - пароль, base - ветка с конфигурацией,
inet_if - интерфейс, смотрящий в интернет

Запускать этот скрипт имеет смысл при загрузке системы, и раз в сутки,
ночью.


Динамически разрешенные хосты

Скрипт /usr/local/sbin/ldap-inet-dynamic - должен запускаться при
входе пользователя в домен. Ему передаются два параметра - логин
пользователя, и IP-адрес хоста, на котором он залогинился.

Его конфигурационный файл - /etc/ldap-inet/ldap-inet-dynamic.conf:

host main.org.int
dn cn=ldaptools,ou=Services,dc=org,dc=int
password SECRET_WORD
base cn=People,dc=org,dc=int
inet_if eth1


Совпадает с конфигом предыдущего хоста, за исключением base - здесь
указывается ветка, в которой Samba хранит пользователей домена.


Удаленный запуск скрипта

Скрипт /usr/local/sbin/ldap-inet-dynamic будет вызываться
пользователем rpc, заведенным на сервере специально для этих целей.
Для того, чтобы запустить скрипт как суперпользователь, нужно
настроить утилиту sudo. Добавим в файл /etc/sudoers запись:
rpc gate.org.int=NOPASSWD: /usr/local/sbin/ldap-inet-dynamic

Теперь нужно настроить ssh для того, чтобы основной сервер выполнял
команды на шлюзе. Выполняем (на основном сервере!):

root# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx root@main.org.int


Passphrase задавать не нужно. Файл /home/root/.ssh/id_rsa.pub копируем
на шлюз в файл /home/rpc/.ssh/authorized_keys, и все, настройка шлюза
закончена.


Настройка основного сервера

Настройка LDAP

В первую очередь необходимо в схему LDAP включить дополнительное
описание. Создаем файл /etc/openldap/schema/internet-access.schema

attributetype ( 1.1.2.1.1.12
NAME 'hostAllowInternet'
DESC 'Allow internet'
EQUALITY booleanMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.7 SINGLE-VALUE )
attributetype ( 1.1.2.2.1.3
NAME 'hostRealIP'
EQUALITY caseIgnoreIA5Match
DESC 'Real IP address'
SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
attributetype ( 1.1.2.1.1.4
NAME 'hostForceProxy'
DESC 'Transparent proxy control'
EQUALITY booleanMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.7 SINGLE-VALUE )
objectclass ( 1.1.2.2.1.1
NAME 'hostInternetAccess'
SUP top AUXILIARY
DESC 'Allow internet access to this object'
MUST (hostAllowInternet)
MAY (hostRealIP $ hostForceProxy))


Здесь атрибуты hostAllowInternet - возможность доступа в интернет и к
прокси-серверу. hostRealIP - реальный IP-адрес, выдаваемый хосту.
Выдается он через DNAT+SNAT - пробросом соединений на указанный адрес
из интернета на хост, куда залогинился пользователь (или на
фискированный адрес DHCP). hostForceProxy - дополнительный атрибут, с
помощью которого можно отключить прозрачный прокси для пользователя.
Если он не указан, соединения идут через прокси.

в файл /etc/openldap/slapd.conf добавляем:

include /etc/openldap/schema/internet-access.schema


Далее нужно добавить этот objectClass DHCP- и Samba- записям в БД.
Через консоль мне это делать немного лень, поэтому я использовал
phpLdapAdmin, где все достаточно просто - выбираем самбовскую учетную
запись cn=testuser,ou=People,dc=org,dc=int, нажимаем "добавить
значение" около classObject, выбираем hostInternetAccess, указываем
атрибуту hostAllowInternet значение TRUE, и сохраняемся. Впрочем, если
вы настроили LDAP+Samba+DHCP, то вам наверняка известно, как это
сделать, не хуже меня +)


Настройка Samba

Создаем скрипт, который будет вызываться при входе пользователя (или
модифицируем тот, который уже есть +):

/var/lib/samba/login.sh
#!/bin/sh
ssh rpc@gate.org.int "sudo /usr/local/sbin/ldap-inet-dynamic "$1" "$3""


Правим секцию шары [profiles] в файле /etc/samba/smb.conf (а именно -
добавляем последнюю строку):

[profiles]
comment = Profiles
path = /var/lib/samba/profiles
read only = no
create mask = 0600
directory mask = 0700
browseable = no
root preexec = /var/lib/samba/login.sh "%u" "%g" "%I"


Заключение

Если я нигде не опечатался, это все должно заработать +). Но важна,
наверное, не конкретно эта реализация, а то, что централизованное
управление на основе БД LDAP - потрясающая штука! Так, например,
помимо динамических iptables, я достаточно легко прикрутил и систему
учета трафика, которая теперь считает не на основе IP-адреса, а на
основе доменного имени пользователя.

029ah <029ah@mail.ru.>
771 Прочтений •  [LDAP + динамические iptables (iptables ldap firewall linux gateway dhcp samba)] [08.05.2012] [Комментариев: 0]
Добавил: Ukraine Vova
Ссылки
HTML: 
[BB Url]: 
Похожие статьи
Название Добавил Добавлено
• LDAP + динамические iptables (iptab... Ukraine Vova 08.05.2012
Ни одного комментария? Будешь первым :).
Пожалуйста, авторизуйтесь для добавления комментария.

Проект входит в сеть сайтов «8Gamers Network»

Все права сохранены. 8Gamers.NET © 2011 - 2025

Статьи
Рецензия на Pressure
Рецензия на Pressure
Чтобы обратить на себя внимание, начинающие маленькие разработчики, как правило, уходят в жанры, ...
Рецензия на Lost Chronicles of Zerzura
Рецензия на Lost Chron...
Игры, сделанные без любви и старания, похожи на воздушный шар – оболочка есть, а внутри пусто. Lo...
Рецензия на The Bridge
Рецензия на The Bridge
«Верх» и «низ» в The Bridge — понятия относительные. Прогуливаясь под аркой, можно запросто перей...
Рецензия на SimCity
Рецензия на SimCity
Когда месяц назад состоялся релиз SimCity, по Сети прокатилось цунами народного гнева – глупые ош...
Рецензия на Strategy & Tactics: World War 2
Рецензия на Strategy &...
Название Strategy & Tactics: World War II вряд ли кому-то знакомо. Зато одного взгляда на ее скри...
Рецензия на игру Scribblenauts Unlimited
Рецензия на игру Scrib...
По сложившейся традиции в информационной карточке игры мы приводим в пример несколько похожих игр...
Рецензия на игру Walking Dead: Survival Instinct, The
Рецензия на игру Walki...
Зомби и продукция-по-лицензии — которые и сами по себе не лучшие представители игровой биосферы —...
Обратная связь | RSS | Донейт | Статистика | Команда | Техническая поддержка