Управление доступом в интернет

Материал из School Portal Wiki
Перейти к: навигация, поиск

Школьный портал поддерживает управление доступом в интернет.

Управление осуществляется через интеграцию с прокси-сервером Squid.

Для изменения прав доступа перейдите в меню: Сервис → Доступ в интернет....

Данное действие доступно только представителям администрации школы.

Чтобы дать доступ в интернет, достаточно поставить галочку у имени пользователя (ученика, учителя), или целого класса. Чтобы отменить доступ, нужно снять галочку. Изменения применяются после нажатия кнопки "Сохранить".

Чтобы машина в локальной сети обращалась в интернет, руководствуясь допуском, настроенным в Портале, нужно настроить её использовать прокси-сервер.

Адрес прокси-сервера — это адрес вашего школьного сервера в локальной сети, куда установлен Школьный портал. Порт прокси-сервера — 3128.

При обращении пользователя в интернет через прокси-сервер будет затребован логин и пароль от Школьного портала.

Чтобы надёжно предотвратить доступ в интернет в обход прокси-сервера, стоит проверить, что школьный сервер не предоставляет маршрутизацию в интернет интересующим машинам, а также что машины не имеют доступ через коммутатор, модем, роутер, Wi-Fi и прочее оборудование образовательного учреждения, к которому сотрудники и учащиеся имеют сетевой доступ.

Системы контентной фильтрации (СКФ)

Поддерживается как отсутствие СКФ, так и интеграция со множеством провайдеров.

Настройка СКФ находится в левой колонке страницы управления доступом в интернет.

Некоторые СКФ требует регистрации для управления списками запрещённых ресурсов (например, социальные сети, непристойные материалы, коллекции рефератов и т.д.). Изменение таких настроек производится в веб-интерфейсах на сайте самой СКФ, а не в Портале. Поддержку пользователей по вопросам качестваа фильтрации осуществляет организация, обслуживающая СКФ. В Портале выполняется лишь включение и отключение направления запросов к DNS-серверам СКФ с прокси-сервера школы и не более того.

СКФ аналогично допуску в интернет применяется лишь к машинам, которые настроены строго через школьный прокси-сервер.

Важно! Работу СКФ после включения необходимо проверять согласно вашим ожиданиям, так как Портал автоматически не может проверить это за вас. Условия предоставления СКФ могут измениться их производителями в любой момент. Стоит быть подписанными на новости сервиса, которым вы пользуетесь.

Что делать, если Портал выводит надпись "Функция отключена" или что-то не работает.

Проверки и действия в данной части статьи приведены только для Ubuntu Server 10.04 LTS:

Все действия необходимо выполнять от пользователя root.

1. Установлен ли squid?

dpkg -s squid3 | grep -i version

Если нет, установите:

apt-get install squid3

2. Есть ли эти параметры в файле конфигурации Портала?

auth = basic 
htpasswd = /var/www/sp_htpasswd
sp_users_allowed = /var/www/sp_users_allowed

Если нет, добавьте и выполните

pkill speedy

3. Squid запущен? Слушает порт 3128?

Проверка:

netstat -ntlp | grep 3128

В ответ должно быть примерно следующее (1234 для примера, у вас может быть другой номер процесса):

tcp        0      0 0.0.0.0:3128            0.0.0.0:*               LISTEN      1234/(squid)

Как запустить Squid:

Команда:

/etc/init.d/squid3 start

Ответ:

 * Starting Squid HTTP Proxy 3.0 squid3                                                                  

4. Поставьте Squid в автозапуск:

update-rc.d squid3 enable

5. Создайте, если нет, и задайте права доступа к служебным файлам, отвечающим за управление со стороны Портала:

touch /var/www/sp_htpasswd /var/www/sp_users_allowed
chown www-data.proxy  /var/www/sp_htpasswd  /var/www/sp_users_allowed
chmod 660             /var/www/sp_htpasswd  /var/www/sp_users_allowed

6. Файл конфигурации Squid-а «из коробки» не готов к интеграции, его нужно подправить.

Сначала убедитесь, что в нем НЕТ интеграции с порталом (многократное исправление недопустимо):

grep 'School Portal Internet Control' /etc/squid3/squid.conf

Если строка от выполнения команды выше выводится, значит этот шаг следует пропустить.

Однако, если файл конфигурации был изменён таким образом, что строка есть, а интеграция не заработает, возьмите исходный файл конфигурации от Squid и выполните этот шаг над ним.

Итак, если строки НЕТ:

6.1. Удаление правил, препятствующих интеграции и изменение страниц ошибок на русские версии:

perl -i-original -p -e 's!^http_access deny all$!#http_access deny all!; s!^# error_directory /usr/share/squid3/errors/templates$!error_directory /usr/share/squid-langpack/ru!;' /etc/squid3/squid.conf

6.2. Внесение фрагмента интеграции:

echo '
# ==============================
# School Portal Internet Control
# To disable replace /etc/squid3/squid.conf with /etc/squid3/squid.conf-original
# ==============================
auth_param basic program /usr/lib/squid3/ncsa_auth /var/www/sp_htpasswd
auth_param basic children 5
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hours
auth_param basic casesensitive on
acl sp_users_allowed proxy_auth "/var/www/sp_users_allowed"
http_access allow sp_users_allowed
http_access deny all
' >> /etc/squid3/squid.conf

Если такой блок в файле squid.conf присутствует более одного раза, удалите повторы, даже если всё работает. С повтором Squid при каждом обновлении списка допуска из портала будет сыпать в свой журнал предупреждения о переопределении правил.

6.3. После внесения изменений, Squid нужно перезапустить.

/etc/init.d/squid3 restart

7. Далее воспользуйтесь веб-интерфейсом Школьного портала для раздачи доступа в интернет. Вы должны наблюдать изменение списка разрешённых логинов пользователей портала в файле /var/www/sp_users_allowed после нажатия кнопки "Применить" в веб-интерфейсе портала.

Журналы доступа к Squid (/var/log/squid3) будут содержать логины пользователей портала. Можно использовать любые анализаторы логов, совместимые с форматом логов Squid. Интеграция с Порталом не нарушает формат журналов по умолчанию, отличие в наличии логинов из портала на месте, где стоял бы прочерк при отсутствии авторизации пользователей.

8. Проверьте, не блокирует ли соединения фаерволл на школьном сервере и на клиентских машинах. По умолчанию на чистом в Ubuntu Server фаерволл разрешает все соединения, если вы вмешивались в его конфигурацию какими-либо средствами, обеспечьте разрешение соединений из локальной сети школы к порту 3128 сервера и исходящие соединения с сервера.