Как заблокировать социальные сети

Сегодня я расскажу, как заблокировать социальные сети, такие как одноклассники, вконтакте или фейсбук с помощью прокси сервера на базе squid. Сам сервер мы настраивали в предыдущей статье и если вы еще не настроили его, рекомендую ее прочитать. Прежде всего, хотелось бы маленько рассказать о том, как вообще работают списки доступа в squid, чтобы в дальнейшем не было проблем с пониманием, как настроить тонкие политики доступа. И так, начнем =)

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

http_access allow buh
http_access allow komotdel
http_access deny all

Теперь приступим непосредственно к настройке. Откроем файл squid.conf в редакторе и добавим после всех ACL, описания социальных сетей.

nano -w /etc/squid3/squid.conf

# Social Networks
acl vk dstdomain .vk.com
acl fb dstdomain .facebook.com
acl ok dstdomain .odnoklassniki.ru
acl yt dstdom_regex -i youtube

Как заблокировать социальные сетиВ этом примере, мы добавляем списки доступа для доменов, заканчивающихся на vk.com, facebook.com и odnoklassniki.ru. Так же, нам нужно заблокировать доступ к социальной сети youtube. В этом случае, удобнее использовать другой шаблон, который будет определять наличие совпадений в адресе домена. Делается это для того, чтобы заблокировать сразу все адреса этого хостинга: youtube.com, youtube.ru, youtube.us и т.д.

Далее запретим доступ к соц. сетям. Для этого добавляем перед разрешающими правилами для пользователей, запрещающие правила для социалок.

 

http_access deny vk
http_access deny fb
http_access deny ok
http_access deny yt
http_access allow komotdel
http_access allow buh

Возникает разумный вопрос: а как сделать, чтобы для коммерческого отдела youtube и вконтакте все-таки работал ?
Отвечаю: расположить правила запрета, согласно заданным условиям:

1. Для начала запретим все ресурсы, к которым никто не должен иметь доступа — это фейсбук и одноклассники.

http_access deny fb
http_access deny ok

2. Теперь откроем доступ коммерческому отделу

http_access allow komotdel

3. Далее блокируем остальные социальные сети

http_access deny vk
http_access deny yt

4. И только потом, открываем доступ бухгалтерам.

http_access allow buh

В самом конце должно стоять правило полного запрета.

http_access deny all

Итого, получаем следующий кусок конфига

# NET ACLs
acl buh src 192.168.10.64/26
acl komotdel src 192.168.10.128/26

# Social Networks
acl vk dstdomain .vk.com
acl fb dstdomain .facebook.com
acl ok dstdomain .odnoklassniki.ru
acl yt dstdom_regex -i youtube

# ACCESS
http_access deny fb
http_access deny ok
http_access allow komotdel
http_access deny vk
http_access deny yt
http_access allow buh
http_access deny all

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

squid -k re

В следующей статье мы поговорим об автономных сетях и тонких политиках доступа для протокола HTTPS.