Нам необходимо, чтобы с некоторых компьютеров доступ в Интернет был ограничен списком сайтов, запрещая доступ ко всем остальным (белый список).
Некоторые из этих сайтов используют HTTPS, поэтому решение должно поддерживать как HTTP, так и HTTPS.
Меня не особо беспокоят люди, обходящие механизм фильтрации, так как это на самом деле не для злонамеренного поведения, а больше для блокировки случайного щелчка вредоносного ПО, которое происходило в прошлом.
Я бы предпочел, чтобы это было что-то, что устанавливается централизованно, а не список, который нужно поддерживать на каждом компьютере. В настоящее время у нас есть Linux-сервер, который можно использовать.
Я не против покупки другого бокса, вроде брандмауэра, при двух условиях:
Я начал настраивать squid для этой цели, и это кажется неплохим, хотя веб-интерфейс неплохо бы добавить в белый список. Есть ли лучшее решение?
Вы пробовали специализированную / кастомную версию Linux / BSD? pfSense может быть одним из примеров. Брандмауэр Endian был бы другим. Поскольку они полагаются на Squid как на свой бэкэнд, теоретически все, что вы делаете в настоящее время, должно поддерживаться. А еще вы изучали интерфейсы для Squid, такие как Webmin или DansGuardian?
Вам просто нужен прокси-сервер, через который все могут пройти, тот, который допускает такие правила, как вы упомянули. Вам также следует искать тот, который тоже кеширует, так как он поможет вашим пользователям и оптимизирует пропускную способность. Я бы предложил Кальмар.
В итоге я использовал DNSMasq для создания белого списка. Преимущество этого заключается в том, что он отлично работает как с HTTP, так и с HTTPS, и требует минимальной настройки на каждом компьютере - просто установите их DNS-сервер на сервер, на котором работает DNSMasq. DNSMasq настроен на отклонение всех DNS-запросов, кроме тех, которые были внесены в белый список - тех, которые он пересылает на маршрутизатор, у которого есть собственный DNS-сервер.
Обратной стороной этого подхода является то, что этот фильтр можно легко переопределить, изменив адрес DNS-сервера, используя прокси-сервер или перейдя непосредственно на IP-адрес. В моем приложении это низкий риск.
Я последовал за это руководство по настройке DNSMasq в качестве белого списка.
Вы можете использовать бесплатный веб-фильтр «WFilter free» (бесплатное ПО для Windows). Он поддерживает белый список сайтов как для http, так и для https.
Два шага:
Настройте порт зеркалирования на вашем коммутаторе.
Подключите компьютер WFilter к порту зеркалирования.
Кальмар - простой вариант, как и другие.
ufdbGuard - это самый простой вариант URL-фильтра. Это программное обеспечение с открытым исходным кодом, которое можно загрузить с ufdbGuard на SourceForge и ufdbGuard на URLfilterDB.