Unix-planeta-it: различия между версиями

Материал из wiki.nntc.nnov.ru
Перейти к навигации Перейти к поиску
Строка 61: Строка 61:
 
  http_access allow lan
 
  http_access allow lan
 
  <....>
 
  <....>
 +
 +
http://www.k-max.name/linux/avtorizaciya-autentifikaciya-squid/

Версия 13:56, 5 февраля 2013

Задания второго очного тура Олимпиады в номинации Администрирование Linux (2009).

1. Базовая часть задания (10 баллов) Настроить прокси-сервер squid на порту 3128/TCP с использованием следующей дисциплины доступа:

1.1. Разрешить доступ к прокси из подсети 10.100.254.0/24 с базовой аутентификацией 
1.2. Из всех остальных подсетей доступ запретить.
1.3. С хоста 10.100.254.100 разрешить доступ без аутентификации.
1.4. Группе хостов 10.100.254.1-10.100.254.25 запретить доступ к IP 10.100.254.120 и к доменам mail.ru и yandex.ru, без учета регистра символов в доменном имени.
1.5. Базовую аутентификацию производить при помощи программы /etc/webmin/squid/squid-auth.pl /etc/webmin/squid/users 
1.6. Не кешировать результаты работы скриптов, имена которых оканчиваются на '.asp' и скриптов, находящихся на серверах по пути /cgi-bin/ и ниже.
1.7. Запретить метод CONNECT на все порты, кроме 443, 5190, 10000 и 20000. 
1.8. Хосту 10.100.254.101 разрешить любые запросы и методы.
1.9. Хостам 10.100.254.24 и 10.100.254.25 разрешить доступ к mail.yandex.ru 
1.10. Хосту 10.100.254.102 разрешить доступ только к srv.olimp.local без аутентификации.

2. Дополнительные задания, связанные с прокси-сервером

2.1. Настроить программу-редиректор (/opt/rejik/redirector) для преобразования URL в запросах в целях фильтрации контента по уже имеющимся спискам: порно, баннеры, javascript. - (1 балл)
2.2. Настроить http-сервер nginx для обслуживания страниц с сообщениями об ошибках от rejik/redirector. Страницы предустановлены в /var/www/htdocs/ban/. - (3 балла)
2.3. Настроить редиректор на блокировку закачек файлов с расширениями .wav, .wmv, .avi, .mp3, .mpg и создать отдельную страницу о запрете для перенаправления запроса. - (2 балла). 
2.4. Написать скрипты для генерации отчетов по протоколу доступа squid при помощи генератора sarg:
- нарастающим итогом с начала текущего месяца — в /var/www/htdocs/current/ (3 балла);
- помесячный архив с добавлением полной статистики по истекшему месяцу 1-го числа каждого месяца — в /var/www/htdocs/monthly/ (3 балла)

3. Дополнительные задания, связанные с межсетевым экраном (конфигурация файрвола сдается в виде дампа /etc/rc.d/rc.firewall.conf, созданного при помощи iptables-save, либо в виде скрипта генерации набора правил /etc/rc.d/rc.firewall):

3.1. Обеспечить транспарентную работу прокси для траффика по портам 81/TCP и 443/TCP. (2 балла)
3.2. Реализовать следующую дисплину доступа к портам настраиваемой системы (4 балла):

Разрешить все уже установленные соединения. Разрешить все соединения на loopback интерфейсе. Разрешить все исходящие соединения. Разрешить входящие соединения на порты 80/TCP, 81/TCP, 443/TCP и 3128/TCP из подсети 10.100.254.0/24. Разрешить входящие соединения на порты 22/TCP и 10000/TCP с хостов 10.100.254.100, 10.100.254.101 и 10.100.254.200.

4. Дополнительные бонусы: 4.1. За минимальное количество проверок пакетов при прохождении пакетом правил фильтрации задания 3.2 по самому длинному пути (минимум правил при наихудшем варианте). — 1 балл.

4.2. Первому участнику, сдающему работу (независимо от результатов) — 1 балл.

Итого: максимум 30 баллов.


Реализация

Доступ в интернет с авторизацией

Создание файла с логинами и паролями для Squid:

squid ~ # htpasswd -c /создаваемый/файл/паролей имя_пользователя
New password:
Re-type new password:
Adding password for user имя_пользователя
squid ~ # htpasswd /редактируемый/фвйл/паролей имя_пользователя2
New password:
Re-type new password:
Adding password for user имя_пользователя2
squid ~ #  ##############################################################
squid ~ #  # с ключом -с команда htpasswd выполняется первый раз (создает новый файл), пример:
squid ~ # # без ключа -c происходит добавление пользователей к уже существующему файлу:

Настройка squid Для работы с авторизацией:

squid ~ # grep -v ^# /etc/squid3/squid.conf | grep -v ^$
auth_param basic program /usr/lib/squid3/ncsa_auth /etc/squid3/squidusers
acl lan proxy_auth REQUIRED
http_access allow lan
<....>

http://www.k-max.name/linux/avtorizaciya-autentifikaciya-squid/