У нас Squid работает на сервере RHEL. Мы хотим заблокировать доступ пользователей к Facebook, кроме пары конкретных сайтов, таких как страница нашей организации. К сожалению, я не могу разблокировать эти конкретные страницы, не пропустив ВСЕЙ Facebook.
# Local users:
acl local_c src 192.168.0.0/16
# HTTP & HTTPS:
acl Safe_ports port 80 443
# File containing blocked sites, including Facebook:
acl blocked dst_dom_regex "/etc/squid/blocked_content"
# Whitelist:
acl whitelist url_regex "/etc/squid/whitelist"
# I do know that order matters:
http_access allow local_c whitelist
http_access allow local_c !blocked
http_access deny all
.porn_site.com
.porn_site_2.com
[...]
facebook.com
facebook.com/pages/Our-Organization/2828242522
facebook.com/OurOrganization
facebook.com/media/set/
facebook.com/photo.php
www.facebook.com/OurOrganization
Моя самая большая слабость - регулярные выражения, поэтому я не уверен на 100%, все ли это правильно. Если я удалю часть правила http_access "! Blocked", все Facebook будет работать. Если я удалю «facebook.com» из файла blocked_content, все Facebook будет работать.
Прямо сейчас посещение facebook.com/OurOrganization дает ошибку «Веб-сайт отказался отображать эту веб-страницу / HTTP 403» в Internet Explorer и «Ошибка 111 (net :: ERR_TUNNEL_CONNECTION_FAILED): Неизвестная ошибка» в Chrome.
WhereGoes.com сообщает мне, что перенаправления для этого URL-адреса выглядят следующим образом:
facebook.com/OurOrganization -> [301 редирект] -> http://www.facebook.com/OurOrganization -> [302 редирект] -> https://www.facebook.com/OurOrganization
Я попытался включить отладочный трафик из squid, используя "debug_options ALL, 6", но я не могу ничего сузить в /var/log/access.log и /var/log/cache.log. Я знаю, что нужно выдавать команду «squid -k reconfigure» всякий раз, когда я вношу изменения в какие-либо файлы.
Первая мысль: «Не блокируйте сайты». Это в основном проблема менеджмента / кадрового обеспечения, а не техническая. Если у вас действительно есть проблемы с сотрудниками, которые увлекаются вместо того, чтобы выполнять свою работу, время для новых сотрудников. Нет, это неприятный процесс, но я абсолютно гарантирую, что вы будете счастливее, продуктивнее и прибыльнее в долгосрочной перспективе.
Кроме того, вы не можете помешать сотрудникам облажаться, если Facebook заблокирован, они просто будут использовать свой смартфон; или просто смотреть на свой стол в течение часа, похоже, они работают, возможно, еще через час после обеда. В одну неделю они, вероятно, выполняют только пятнадцать минут реальной, реальной работы.
Я очень сомневаюсь, что все ваши 200+ сотрудников будут использовать Facebook или что-то подобное, если вы просто скажете им не делать этого. Вы его сейчас блокируете, проверьте свои логи, держу пари, 90% + никогда даже не пробовали зайти на FB. Даже если это правда, что все ваши сотрудники - обломки, компания все равно будет в лучшей форме, если вы замените их всех эффективными сотрудниками, которые хотят выполнять свою работу. Бонус: Вы не будете тратить время на блокировку веб-сайтов и можете сосредоточиться на поддержке деятельности, приносящей прибыль.
Ваша задача - также консультировать руководство. Вы не бездумны, вы не только следуете инструкциям. Если бы это было так, робот мог бы делать то же самое, но дешевле. Существует множество исследований, в которых приводятся как статистические данные, так и эмоциональные причины (два основных фактора мотивации принятия решений), почему блокировка веб-сайтов вредна для прибыли, морали, эффективности и т. Д.
У вас просто не может быть обоих вариантов: что-то заблокировано или нет.
Если вы начнете пробивать крошечные отверстия, люди найдут способы обойти ваши блоки. Пользователи могут быть не самыми яркими лампочками на рождественской елке, но они довольно изобретательны, когда дело доходит до исправления Farmville.
Если вы хотите определенные сотрудники получить доступ к Facebook, что можно сделать довольно просто: предположительно, вы все аутентифицируетесь в Squid с помощью имени пользователя и пароля. Даже если вы этого не сделаете прямо сейчас, некоторые пользователи легко сделают это. Дайте им отдельный, менее строгий белый список, и все готово.
Как упоминал ChrisS, это, вероятно, даже не проблема - если это тогда общий блок (или блок с определенными исключениями для сотрудников) - это способ справиться с этим. (Вам нужно убедить руководство? Покажите им список других ваших критически важных для бизнеса проектов, над которыми вы не работаете, потому что имеете дело с этим.) В качестве альтернативы вообще не блокируйте его и вытащите журналы прокси на пару недель: любой, кто обнаружил, что проводит «чрезмерное» количество времени на facebook, получает формальный выговор («чрезмерное» может быть определено руководством).
Оба этих решения тратят меньше времени и помещают решение проблемы с HR / менеджерами там, где это должно быть.
Я использую pfsense и просто заблокировал целые подсети fb, а затем разрешил определенный URL-адрес в белом списке squid. Было проще и быстрее закрыть руководство, и как только они поняли, что их fb тоже заблокирован, они все бросили