Фильтрация слоя 7 в режиме реального времени (http.request.uri) на freebsd
У меня есть маршрутизатор freebsd 9.0 с трафиком 250-300 Мбит / с, и мне нужно отфильтровать небольшой список страниц (http.request.uri).
Меня не волнуют tor, анонимайзеры, прокси и т. Д. Просто запрещаю прямой доступ моей сети к этим страницам.
Как? Только перенаправить http на squid или любой другой http-прокси?
Я знаю об узлах tcpdump -ddd и bpf netgraph. Но http для меня тяжело.
2 ответа
Если вы не хотите использовать прокси (например, прозрачно перенаправить весь трафик через правило ipfw на прокси - пользователи ничего не замечают) - для решения вам нужно нечто, способное к глубокой проверке пакетов.
Проверьте: http://sourceforge.net/projects/ipfw-classifyd/ он должен делать то, что вы хотите, "layer7 filtering" с ipfw. (или с pf тоже)
Или скачать pfSense
(отличный межсетевой экран на основе freebsd) и проверьте, как его использовать. Согласно документам, ( http://doc.pfsense.org/index.php/Traffic_Shaping_Guide) он использует ipfw-classifyd
,
PS: только интересно, почему вы не используете pf вместо ipfw+ngnat)
Если список небольшой, вы можете просто занести в черный список IP-адреса в брандмауэре.
Конечно, вы должны время от времени проверять, переместились ли страницы на другой сайт. Вы можете сделать это с помощью скрипта cron.