?

Log in

No account? Create an account
Cat-light

klink0v


Блохи в свитере деда Сергеича


Ограничить юзерам доступ по URL-ам
Cat-light
klink0v

В реальной суровой сисадминской жизни часто встречаются задачки из серии "запретить юзерам ходить на одноклассники" или "разрешить ходить только на яндекс и гугл".

Оставим за рамками оценку эффективности подобных решений, их влияние на производительность труда персонала, уместность таких запросов, способы обхода ограничений, и так далее. Рассмотрим только чисто технический аспект вопроса. То есть "как сделать", не особо вдаваясь в тонкости сопутствующих явлений.

До сих пор я был уверен, что такую задачу можно решить только на 7-м уровне и только развёртыванием прокси-сервера. Ан-нет, оказывается, можно и проще. Только для этого нужно, чтобы весь трафик проходил бы через linux-овую машину, которая при этом одновременно являлась бы и DNS Forwarder-ом.

Как выяснилось, демон DnsMasq помимо прочего умеет по некоторому наперёд заданному условию передавать определённые IP-адреса в таблицы фильтрации ядра aka "ipset". То есть логика работы, например, такая. Запрещаем в ipset форвард всех пакетов кроме списка исключений. А в директивах Dnsmasq пишем что-то вроде "ip-адреса, в которые разресолвился google.ru внести в список исключений". Таким образом, пользователь пытается пойти на гугл. Сперва следует DNS-запрос к форвардеру. Наш DNS-сервер получает от вышестоящего сервера IP-адрес гугла и вносит его в перечень разрешённых. После чего пользователь может обмениваться данными с сервером гугла. Если же он пойдёт на сервер "одноклассников", то имя в IP-адрес разрешится, а вот пакетики с данными уже не пройдут.

Понятно, что реализация стратегии "разрешить всё, запретить некоторое" будет в данном случае крайне неэффективной. Потому что пользователь завсегда сможет попасть на запретный ресурс, просто обратившись к нему непосредственно по IP-адресу. Но сам факт, что данную задачу можно решить без применения прокси, оказался для меня несколько неожиданным.


Немного физики вам в ленту
Cat-light
klink0v

А вот вам в ленту немного зрелищной занимательной физики. Странно, что я до сих пор не видел этого ролика. За полтора месяца он набрал 10 миллионов просмотров. Да и вообще, сам ютуб-канал тоже достоин внимания. Там ещё много чего интересного есть. И музычку под свой видеоряд они пишут весьма красивую. Поэтому лучше смотреть на большом экране и со звуком.

Смотреть 7 минутCollapse )