LINUX.ORG.RU

Прозрачный Sqid. Область применения. Логирование HTTP/HTTPS.

 


0

2

Добрый день, уважаемые Гуру.

Прошу помощи и подсказки в каком направлении двигаться.

Что имеем:
1. «Локальная сеть» в который все пользователи выходят во внешний мир через linux машину (шлюз).
2. Каждый пользователь живет в отдельном vlan.
3. Пользователей имеем двух типов:

  • с серым IP (NATится на шлюзе на каждого пользователя свой vlan, подсеть, DHCP)
  • с белым IP (ходит через шлюз, на каждого пользователя отдельный vlan)

4. На шлюзе для каждого пользователя режем полосу пропускания с помощью iptables/tc.

Что необходимо:
1. Логирование запросов HTTP/HTTPS для всех пользователей, желательно чтобы хранилось в mysql (дата/время, IP источника(клиента), URL)
2. Запрет выхода на определенные сайты определенным пользователям (например пользователю А открыто все, пользователю Б запрет на vk.com, пользователю В запрет на целый список адресов)
3. Отсутствие настройки браузера у клиента.

Что я «надумал»:
1. Для пользователей с серым IP можно поднять прозрачный Squid, в принципе, на первый взгляд он все мои «хотелки» потянет, за исключением наверно HTTPS.
2. Для пользователей с белым IP большой вопрос как организовывать все это действо, возможно ли это все реализовать через Squid? Сможет ли он только собирать логи и смотреть в ACL без подмены адреса источника?
У меня пока единственное предположение - с помощью iptables выдергивать первые n бит у пакета с портом назначения 80/443 и применять к ним -j LOG(ULOG), а затем внешними скриптами парсить это добро.
ACL в данном случае очень не хотелось бы реализовывать через iptables, костыль жуткий, да и правил будет тьма.

Подскажите пожалуйста пути решения, на верном ли я пути или есть более простые способы реализации задумки?

Заранее благодарен.

Ответ на: комментарий от uspen

Логи предположим так смогу собрать, а вот контроль доступа ACL уже пролетает...
Да и без зеркалирования внутри iptables можно тоже самое сделать.

StereoRu ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.