[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 2 из 9«123489»
Модератор форума: Сергеев_ЕВ 
Форум учителей » Урочная деятельность » Обсуждаем Программное обеспечение » Контент-фильтр средствами СПО (Шлюз на Ubuntu с прокси-сервером squid - белый список сайтов)
Контент-фильтр средствами СПО
Сергеев_ЕВ Дата: Понедельник, 09.01.2012, 09:45 | Сообщение #11
Профиль пользователя Сергеев_ЕВ
Модератор форума
Группа: Модераторы
Сообщений: 2896
Статус: Отсутствует
Ну, Иван Олегович, давайте, подсказуйте...
Поставил я новую ось, MInt12, мне и одиннадцатый-то нравился, а в 12м gnome-shell организован просто шикарно, не в пример убунте...
Ну да ладно, не о том сейчас. Поставил ось, поставил arno-iptables-firewall (Доступно только для пользователейнебольшая статейка, буквально для чайников, как в два клика настроить трансляцию пакетов между сетями), переконфигурировал, как там просят. Далее, состряпал два скрипта, как Вы рекомендуете, подвесил в авторан. Поставил сквида, даже гадмина к нему прикрутил.

А дальше-то как? В статье много чего полезного написано, но нет главного: с чего начать. Где прописывать все эти строки? Это команды? В-общем, давайте уж, выручайте... Можно начать с того момента, когда сквид уже установлен.




Окажу помощь в создании и администрировании учительских сайтов в системе uCoz
iyugov Дата: Понедельник, 09.01.2012, 18:58 | Сообщение #12
Профиль пользователя iyugov
Активист
Группа: Друзья
Сообщений: 1086
Статус: Отсутствует
Как понял, о работоспособности трансляции пакетов можно не беспокоиться. Но обращаю внимание на коммент к той статейке:
Quote

Q. Подскажите как можно все запросы перенаправить на squid с портом 3128 ?
A. Для таких операций надо отказаться от использования arno-iptables-firewall и настраивать iptables вручную.

У меня как раз такой случай.

В файле /etc/squid/squid.conf есть все настройки. Большая часть файла - комментарии и закомментированные примеры настроек.
В основном настраиваются следующие вещи (ищите их среди незакомментированных):
1. Порт, на котором работает прозрачный прокси. Настройку можно найти в конфиге по номеру 3128 и дописать "transparent".
У меня так:
Code
http_port 3128 transparent

Зависит от того, на какой порт перенаправляете пакеты.

2. Списки контроля доступа (ACL). Ищутся по незакомментированным строкам, начинающимся с "acl":
2а. Подсети или конкретные компы организации.
У меня так:
Code
acl localnet src 192.168.0.0/24
acl localnet src 192.168.1.0/24
acl localnet src 192.168.2.0/24
acl localnet src 192.168.3.0/24
acl students26 src 192.168.0.21/32
acl students26 src 192.168.0.22/32
acl students26 src 192.168.0.23/32
acl students26 src 192.168.0.24/32
acl students26 src 192.168.0.25/32
acl students26 src 192.168.0.26/32
acl students26 src 192.168.0.27/32
acl students26 src 192.168.0.28/32
acl students26 src 192.168.0.29/32
acl students26 src 192.168.0.30/32
acl students26 src 192.168.0.31/32
acl students26 src 192.168.0.32/32
acl students11 src 192.168.0.41/32
acl students11 src 192.168.0.42/32
acl students11 src 192.168.0.43/32
acl students11 src 192.168.0.44/32
acl students11 src 192.168.0.45/32
acl students11 src 192.168.0.46/32
acl students11 src 192.168.0.47/32
acl students11 src 192.168.0.48/32
acl students11 src 192.168.0.49/32
acl students11 src 192.168.0.50/32
acl students11 src 192.168.0.51/32
acl students21 src 192.168.0.61/32
acl students21 src 192.168.0.62/32
acl students21 src 192.168.0.63/32
acl students21 src 192.168.0.64/32
acl students21 src 192.168.0.65/32
acl students21 src 192.168.0.66/32
acl students21 src 192.168.0.67/32
acl students21 src 192.168.0.68/32
acl students21 src 192.168.0.69/32
acl students21 src 192.168.0.70/32
acl students21 src 192.168.0.71/32

Как видим, тут как подсети целиком, так и с точностью до конкретного компа (статика). Группы компов и подсетей могут иметь одно имя. Тут перечислены три компьютерных класса с именами students11, students21, students26.
2б. Группы портов. Пример:
Code
acl Safe_ports port 80  # http
acl Safe_ports port 21  # ftp
acl Safe_ports port 443  # https
acl Safe_ports port 1025-8999

2в. Время доступа. Например, чтобы всё это работало только с 07:40 до 20:00. Я этого не настраиваю.
2г. Доступные сайты. Можно забивать список прямо в этот конфиг, но из-за частых правок я выношу это в отдельный файл:
Code
acl WhiteList url_regex -i "/home/iyugov/WhiteList"
acl BlackList url_regex -i "/home/iyugov/BlackList"

Тут у меня не список сайтов, а список регулярных выражений (в отдельном файле). Начало файла WhiteList выглядит так:
Code
^http://(www.)?elementy.ru/*
^http://(www.)?intuit.ru/*
^http://(www.)?fipi.ru/*
^http://(www.)?erudites.ru/*
^http://desc.ru/*
^http://([0-9a-zA-Z._-])*.desc.ru/*
^http://(www.)?botik.ru/*
^http://(www.)?arbuz.uz/*
^http://(www.)?realcoding.net/*
^http://([0-9a-zA-Z._-])*.edu.ru/*
^http://edu.ru/*
^http://(www.)?rustest.ru/*
^http://(www.)?ege.ru/*
^http://(www.)?egeinfo.ru/*
^http://(www.)?ctege.org/*
^http://(www.)?test4u.mobi/*
^http://(www.)?schoolportal.ru/*
^http://(www.)?tverobr.ru/*
^http://([0-9a-zA-Z._-])*.tverobr.ru/*
^http://(www.)?uchportal.ru/*

2д. Возможно, какие-то второстепенные типы ACL.

3. Собснна, использование ACL. Ищется по незакомментированным строкам, начинающимся, в основном, с "http_access":
Пример:
Code
http_access deny !Safe_ports             # запретить некошерные порты
http_access deny students11 BlackList    # запретить учащимся "чёрный список"
http_access allow students11 WhiteList   # разрешить учащимся "белый список" (за исключением сайтов, особо упомянутых в "чёрном")
http_access deny students11 all   # запретить учащимся всё (остальное)
http_access deny students26 BlackList    # аналогично
http_access allow students26 WhiteList   # аналогично
http_access deny students26 all          # аналогично
http_access deny students21 BlackList    # аналогично
http_access allow students21 WhiteList   # аналогично
http_access deny students21 all          # аналогично
http_access allow localnet all           # разрешить всей (остальной) локалке всё
http_access allow localnet               # аналогично
http_access deny all                     # запретить всё (всем остальным, "левым" компам, на всякий случай)

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


Dixi.

Сообщение отредактировал iyugov - Понедельник, 09.01.2012, 19:17
Сергеев_ЕВ Дата: Среда, 11.01.2012, 11:43 | Сообщение #13
Профиль пользователя Сергеев_ЕВ
Модератор форума
Группа: Модераторы
Сообщений: 2896
Статус: Отсутствует
Ого! Ну, вроде, более-менее понятно... Надо пробовать, в-общем...

Я немного поигрался с минтом, да, видимо, переборщил малость с твиками: упал, гад... Но нашел в нем любопытненький такой пакет - mintnanny - блокировщик доменов. Локально блокирует в лёт, на раздаче трафика по сети не успел попробовать.

Решил вернуться к истокам, к убунте. Из-за дефицита времени ее твиканье производил почти на автопилоте, вот только автопилот программировал кто-то явно не очень трезвый - после четырех (!) переустановок решил плюнуть и поставить сиалию (это тоже убунта, только десяточка еще, ну и затвиканная до "нет-могу"). Вчера поставил, на ночь оставлял на апгрейд. Сегодня, вроде, запустилась.

А по поводу отключения арна, у меня ситуация такая: мне ведь нужно фильтровать только http- b ftp-трафик, самбовый же нужно пропускать: у меня на общем сервере-файлопомойке расшарены ресурсы, которыми я активно пользуюсь на уроках. Вот я и думаю, если арну убить, то я и не достучусь до файлопомойки, а если не убить, то тогда фильтр будет дырявым...




Окажу помощь в создании и администрировании учительских сайтов в системе uCoz
iyugov Дата: Среда, 11.01.2012, 18:46 | Сообщение #14
Профиль пользователя iyugov
Активист
Группа: Друзья
Сообщений: 1086
Статус: Отсутствует
Но мы же фильтруем инет, а не ресурсы локальной сети. К тому же, если файл-сервер в том же сетевом сегменте, что и рабочие станции, то общение с ним должно происходить без шлюза, напрямую.

Dixi.
Сергеев_ЕВ Дата: Среда, 11.01.2012, 19:00 | Сообщение #15
Профиль пользователя Сергеев_ЕВ
Модератор форума
Группа: Модераторы
Сообщений: 2896
Статус: Отсутствует
Quote (iyugov)
К тому же, если файл-сервер в том же сетевом сегменте, что и рабочие станции
В том-то и дело, что учительские машины в компьютерных классах - они и есть шлюзы для ученических компьютеров, т.к. классов два, а файловый сервер один, и он общий




Окажу помощь в создании и администрировании учительских сайтов в системе uCoz
iyugov Дата: Четверг, 12.01.2012, 02:54 | Сообщение #16
Профиль пользователя iyugov
Активист
Группа: Друзья
Сообщений: 1086
Статус: Отсутствует
Надеюсь, что правильно понял структуру сети. Выражаю свою мысль картинкой:



Тут, правда, возникает вопрос с идентификацией компьютеров учащихся. Его можно решить, например, перенаправлением http- и ftp-трафика на какие-нибудь нестандартные порты. Тогда squid можно обучить правилам по фильтрации только на этих портах. Но может оказаться проще разжаловать учительские шлюзы в обычные рабочие станции. У вас ведь не по 10 сетевых карт в каждом учительском системнике, а всё равно подключения через свич/роутер идут?


Dixi.

Сообщение отредактировал iyugov - Четверг, 12.01.2012, 03:08
Сергеев_ЕВ Дата: Четверг, 12.01.2012, 10:42 | Сообщение #17
Профиль пользователя Сергеев_ЕВ
Модератор форума
Группа: Модераторы
Сообщений: 2896
Статус: Отсутствует
Quote (iyugov)
Надеюсь, что правильно понял структуру сети
Да, в принципе, все именно так и есть. Единственно, что доступ к файлопомойке не по фтп, а по самбе - сеть гетерогенная.
Quote (iyugov)
возникает вопрос с идентификацией компьютеров учащихся
Идентификация где? На шлюзе для получения трафика? Везде стоит статика, но на файлопомойке запущен дхцпед - так, виндовый пережиток, запущен еще во времена приснопамятные, да так и остался на всякий случай. Иногда бывает даже полезно: ставишь ось (не суть важно: маздай ли, линукс ли) и при установке по дхцпеду подхватывает первоначальные сетевые настройки автоматом.
Quote (iyugov)
У вас ведь не по 10 сетевых карт в каждом учительском системнике, а всё равно подключения через свич/роутер идут?
Конечно. По две карты в каждом шлюзе, внутри классов - свитчи.
Quote (iyugov)
Но может оказаться проще разжаловать учительские шлюзы в обычные рабочие станции
Не вопрос, только как тогда оперативно управлять доступом? Я же хочу, чтобы не просто фильтровался трафик, а чтобы в любой момент учитель в классе (не обязательно я) мог бы ткнуть пипку - калиточка закрылась напрочь, снова ткнуть - отворилась, но с фильтрацией содержимого. Поэтому на учительских машинках тоже должен быть какой-то функционал для этого, и, полагаю, на них тоже нужно будет поднимать свои сквиды.




Окажу помощь в создании и администрировании учительских сайтов в системе uCoz
iyugov Дата: Четверг, 12.01.2012, 11:19 | Сообщение #18
Профиль пользователя iyugov
Активист
Группа: Друзья
Сообщений: 1086
Статус: Отсутствует
Quote (Сергеев_ЕВ)
на учительских машинках тоже должен быть какой-то функционал для этого

Это всё можно делать удалённо. Нужен ведь только доступ к трём файлам шлюза - "чёрный список", "белый список", конфиг сквида - и возможность делать сквиду start, stop, restart, reload.
DHCP при установке системы лично мне никогда не требовался: в Linux можно заранее прописать статику, а Windows на момент установки часто не располагает драйвером сетевухи. В любом случае наличие DHCP-сервера никак не конфликтует со статическими адресами в той же подсети.
Мой шлюз является одновременно FTP-сервером (которым никто не пользуется) и Samba-сервером (который используется весьма интенсивно как из внутренней, так и из внешней сети). Squid на это никогда не влиял.


Dixi.

Сообщение отредактировал iyugov - Четверг, 12.01.2012, 14:54
Сергеев_ЕВ Дата: Четверг, 12.01.2012, 18:04 | Сообщение #19
Профиль пользователя Сергеев_ЕВ
Модератор форума
Группа: Модераторы
Сообщений: 2896
Статус: Отсутствует
Я больше, все-таки, склоняюсь к прокси-каскадированию: на главном шлюзе настроить один прокси-сервер, на котором производить фильтрацию всего школьного трафика, а на учительских машинках поднять свои локальные прокси для управления потоками от главного шлюза в класс и обратно, не соваясь в настройки главного шлюза. Имхо, так будет правильнее. У меня так в "маздайную эру" все было заточено, и все работало нормально.
Ладно завтра попробую сквида поставить на свою тачку - надо же с чего-то начинать!




Окажу помощь в создании и администрировании учительских сайтов в системе uCoz
iyugov Дата: Суббота, 14.01.2012, 15:04 | Сообщение #20
Профиль пользователя iyugov
Активист
Группа: Друзья
Сообщений: 1086
Статус: Отсутствует
Перенёс родной уже шлюз поближе к точке входа интернета в здание.
Если раньше сигнал в бухгалтерию шёл так: файрвол - распределитель - инжектор питания - точка доступа - воздух - земля стена - воздух - WiFi-LAN-карты шлюза - 7 (!) свичей в разных местах.
Теперь идёт так: файрвол - LAN-LAN-карты шлюза - 3 свича.
Успех.
Конечно, инет стал быстрее. Негоже вешать пол-учреждения на один вайфай со средненьким сигналом.


Dixi.

Сообщение отредактировал iyugov - Суббота, 14.01.2012, 15:08
Форум учителей » Урочная деятельность » Обсуждаем Программное обеспечение » Контент-фильтр средствами СПО (Шлюз на Ubuntu с прокси-сервером squid - белый список сайтов)
Страница 2 из 9«123489»
Поиск:

Если Вы хотите оставить сообщение на форуме,
то рекомендуем Вам зарегистрироваться на нашем сайте или войти на портал как зарегистрированный пользователь