Table Of ContentФГБОУ ВО «Адыгейский государственный университет»
Кафедра автоматизированных систем
обработки информации и управления
Киздермишов А.А., Шопин А.В.
Расширенные настройки SQUID
Учебно-методическое пособие
Для обучающихся по направлениям подготовки бакалавриата
09.03.01 «Информатика и вычислительная техника»,
27.03.04 «Управление в технических системах»
Майкоп 2018
УДК 004(075.8)
ББК 32.973.202.018я73
К 38
Печатается по решению редакционно-издательского совета
Адыгейского государственного университета
Рецензенты: Бескровный А.А., заместитель начальника отдела по
защите информации ОПФР по Республике Адыгея;
Панеш А.Х., кандидат технических наук, доцент.
Эксперт: Довгаль В.А., доцент кафедры АСОИУ ФГБОУ ВО «АГУ»,
канд. техн. наук, доцент.
А.А. Киздермишов, А.В. Шопин.
К38 Расширенные настройки SQUID – Майкоп, изд-во АГУ, 2018.
– 78 с.
В учебно-методическом пособии изложены теоретический
материал и практические задания для прохождения учебной практики. В
ходе учебной практики студенты изучают актуальную практическую
проблему – установка и настройка прокси-сервера на базе
программного пакта Squid с функциями фильтрации интернет-трафика,
разграничения прав и мониторинга интернет-трафика пользователей.
Предназначено для студентов, обучающихся по направлениям
подготовки бакалавриата 09.03.01 «Информатика и вычислительная
техника» 27.03.04 «Управление в технических системах» для
методической поддержки учебной практики.
© А.А. Киздермишов, А.В. Шопин, 2018.
© Адыгейский государственный университет, 2018.
2
Оглавление
Введение .......................................................................................................... 5
Правила выполнения практических работ ................................................... 6
Практическая работа 1. Установка и настройка виртуальной машины .... 7
Теоретические сведения .............................................................................. 7
Операционная система Ubuntu ................................................................ 7
VirtualBox (Oracle VM VirtualBox) ........................................................ 10
Вопросы для самостоятельного изучения ............................................... 19
Содержание работы ................................................................................... 21
Задание 1. Установка Oracle VirtualBox. .............................................. 21
Задание 2. Установка и настройка виртуальной машины. ................. 21
Задание 3. Тестирование виртуальной машины .................................. 21
Задание 4. Знакомство с Linux. .............................................................. 21
Практическая работа 2. Установка и настройка прокси-сервера ............ 25
Теоретические сведения ............................................................................ 25
Вопросы для самостоятельного изучения ............................................... 33
Содержание работы ................................................................................... 34
Задание 1. Знакомство со Squid. ............................................................ 34
Задание 2. Тестирование Squid (минимальная конфигурация) .......... 39
Задание 3. Удаление пакета Squid (минимальная конфигурация) ..... 39
Задание 4 Установка и настройка Squid (ssl-bump)............................. 39
Задание 5. Тестирование Squid (ssl-bump)............................................ 39
Задание 6. Создание резервной копии .................................................. 40
Задание 7. Настройка аутентификации ................................................ 40
Практическая работа 3. Установка и настройка редиректора ................. 41
Теоретические сведения ............................................................................ 41
Вопросы для самостоятельного изучения ............................................... 53
Содержание работы ................................................................................... 55
Задание 1. Знакомство с редиректорами .............................................. 55
Задание 2.Установка и настройка SquidGuard ..................................... 56
Задание 3. Настройка аутентификации и фильтров (минимальная
конфигурация) ......................................................................................... 56
Задание 4. Тестирование SquidGuard (минимальная конфигурация) 56
Задание 5. Настройка аутентификации и фильтров ............................ 56
Задание 6. Тестирование SquidGuard .................................................... 56
Задание 7. Проверка эффективности применения SSL-bump ........... 56
Практическая работа 4. Установка и настройка анализатора трафика ... 57
Теоретические сведения ............................................................................ 57
Вопросы для самостоятельного изучения ............................................... 62
3
Содержание работы ................................................................................... 63
Задание 1. Знакомство с анализаторами трафика ................................ 63
Задание 2. Установка и настройка Sarg ................................................ 65
Задание 3. Тестирование Sarg ................................................................ 65
Литература ..................................................................................................... 66
Приложения ................................................................................................... 70
1. Конфигурационный файл Squid (минимальная конфигурация) ....... 70
2. Конфигурационный файл SquidGuard (минимальная конфигурация)
...................................................................................................................... 72
3. Перевод комментариев к Shalla's Blacklists ......................................... 74
4
Введение
Высокий уровень конкуренции на рынке труда специалистов по
информационным технологиям требуют от выпускников вузов владения
не только теоретическими знаниями [1-14], но и практическими
навыками работы по специальности [15-42]. В целях обучения будущих
специалистов практической деятельности, университетом
организовываются учебные практики в процессе прохождения которых
у студентов формируются необходимые профессиональные
компетенции. В учебно-методическом пособии изложены
теоретический материал и практические задания для прохождения
учебной практики студентами инженерно-физического факультета
Адыгейского государственного университета. В ходе учебной практики
студенты изучают актуальную практическую проблему – установка и
настройка прокси-сервера на базе программного пакта Squid с
функциями фильтрации интернет-трафика, разграничения прав и
мониторинга интернет-трафика пользователей.
Учебная практика является формой организации учебного
процесса, заключающейся в профессионально-практической подготовке
обучающихся и закреплении теоретических знаний. Раздел основной
образовательной программы бакалавриата «Учебная практика» является
обязательным и представляет собой вид учебных занятий,
непосредственно ориентированных на профессионально-практическую
подготовку обучающихся, в процессе которых студенты самостоятельно
выполняют практические работы в лаборатории на базе Адыгейского
государственного университета.
Сроки проведения практики устанавливаются в соответствии с
учебным планом и графиком учебного процесса на соответствующий
учебный год.
Учебно-методическое пособие предназначено для студентов
высших учебных заведений, обучающихся по направлению
бакалавриата 09.03.01 «Информатика и вычислительная техника» и
27.03.04 «Управление в технических системах», специалистов в области
информационных технологий и защиты информации, широкого круга
пользователей компьютерных систем.
5
Правила выполнения практических работ
В ходе прохождения учебной практики предусмотрено
выполнение пяти практических работ. Все работы ориентированы на
использование свободно распространяемых операционных систем и
программного обеспечения, доступных в сети Интернет: операционная
система Ubuntu и её программные пакты Squid, SquidGard, Apache, Sarg
и др.
Перед выполнением практической задачи студент должен
самостоятельно ознакомиться с теоретическим материалом и ответить
на вопросы для самостоятельного изучения.
По завершению выполнения практической работы студент должен
представить преподавателю результаты в виде работающего
приложения и отчета. Отчёты о выполнении практических работ
оформляются в печатном виде на листах формата А4. Отчет должен
содержать:
1. Заголовок практической работы (номер, название и цель работы
данные о студенте, дата).
2. Заполненные таблицы.
3. Содержание конфигурационных файлов.
4. Результаты тестирования.
5. Выводы о выполненной работе.
К зачету допускаются студенты сдавшие отчеты по всем
практическим работам. Зачет проводится в виде контрольного теста с
оценкой. Тест составлен на базе материала, который изучен студентами
в ходе поиска ответов на вопросы для самостоятельного изучения.
6
Практическая работа 1.
Установка и настройка виртуальной машины
Цель работы: ознакомиться на практике с программными
продуктами для виртуализации [15], научиться устанавливать на
виртуальные машины и получить навыки их настройки. Приобрести
практический опыт установки операционной системы Linux [16-22].
Теоретические сведения
Операционная система Ubuntu
Приведем краткие сведения об операционной системе Ubuntu.
Ubuntu - это разрабатываемая сообществом, основанная на ядре
Linux операционная система, которая идеально подходит для
использования на персональных компьютерах, ноутбуках и серверах.
Она содержит все необходимые программы, которые вам нужны:
программу просмотра Интернет, офисный пакет для работы с текстами,
электронными таблицами и презентациями, программы для общения в
Интернет и много других.
Изначально Ubuntu создавалась как временное ответвление от
Debian с целью регулярно выпускать новую версию операционной
системы каждые шесть месяцев. В отличие от других ответвлений
Debian общего назначения, таких как Xandros, Linspire и Libranet,
Canonical осталась близка к философии Debian и включает в Ubuntu в
основном свободное программное обеспечение вместо того, чтобы
частично положиться на несвободные добавления. Пакеты Ubuntu по
большей части базируются на пакетах из нестабильной (unstable)
группы пакетов Debian. В Ubuntu используется Advanced Packaging Tool
от Debian для управления установленными пакетами. Тем не менее,
пакеты для Ubuntu и Debian не обязательно совместимы друг с другом.
Некоторые разработчики Ubuntu также занимаются ключевыми
пакетами Debian, поэтому в случае внесения изменений в собираемые
программы они вносятся в оба проекта. Однако в апреле 2005
основатель Debian Ян Мёрдок критиковал Ubuntu за несовместимость с
пакетами Debian, говоря, что Ubuntu слишком далеко отклонился от
Debian Sarge, чтобы остаться совместимым [10-14].
Для того, что бы понять, как устроен Linux, сравним его с
Windows [1-14].
Операционные системы MS Windows и Linux отличаются, в
первую очередь, ядрами. У MS Windows и Linux принципиально разные
типы ядер. У Linux ядро состоит из одного файла, а для расширения
функциональности использует дополнительные модули. Драйвера
7
встроены в ядро, но большинство программ работают в
пользовательском пространстве.
Во-вторых, в Linux все настройки хранятся в обычных файлах,
которые расположены в файловой системе (см. Таблица 1), в отличие от
Windows в которой все настройки приложений, системы и драйверов
хранятся в специальной базе данных, называемой «реестр Windows».
В-третьих, для управления программами и обновлениями Linux
использует репозитории (хранилище - место, где хранятся и
поддерживаются какие-либо данные. Чаще всего данные в репозитории
хранятся в виде файлов, доступных для дальнейшего распространения
по сети) в которых есть почти все необходимые программы (пакеты),
поэтому обновления выполняется одной командой сразу для всей
системы и, как правило, без перезагрузки.
В-четвертых, обе операционные системы поддерживают
многопользовательский режим с незначительными отличиями.
В-пятых, для работы с Linux умение пользоваться командами в
командной строке имеет огромное значение, так как графические
оболочки применяются, как правило, только на рабочих станциях.
Отличие последнее по счету, но не по важности, это структура
каталогов. В Linux файлы хранятся в каталогах по принципу их
назначения, например, исполняемые — в /bin/, настройки — /etc/, а
ресурсы — в /usr/. Следует отметить, что структура каталогов Linux
может отличаться для различных сборок и модификаций, но все
операционные системы на базе Linux имеют структуру каталогов на
базе стандарта Filesystem Hierarchy Standard (FHS, стандарт иерархии
файловой системы). Описание каталогов Ubuntu, важных для
выполнения практических заданий, приведены в Таблице 1:
Таблица 1
Описание основных каталогов верхнего уровня Ubuntu
№
Имя каталога Назначение
п/п
1 2 3
1 / корень
2 /bin бинарные файлы пользователя(binaries), основные
двоичные пользовательские модули (основные файлы
команд)
3 /boot файлы статической загрузки (загрузчик системы (Grub или
Lilo) и файлы, необходимые для загрузки системы)
4 /dev файлы устройств (файлы описания устройств компьютера)
(devices), в linux все устройства считаются файлами: порты,
диски, принтеры — все файлы)
8
№
Имя каталога Назначение
п/п
1 2 3
5 /etc конфигурационные файлы (конфигурационные файлы
системы, программ, стартовые сценарии) (etcetera)
6 /etc/rc.d командные файлы, выполняемые при запуске системы или
при смене ее уровня
7 /home пользовательский, домашний каталог (В linux может быть
множество пользователей. Каждый пользователь имеет
свой каталог (например, /home/user). В нем находятся
любые файлы пользователей, к которым он имеет
непосредственный доступ записи/удаления.)
8 /lib /lib32 системные библиотеки монтируются различные
/lib64 подключаемые устройства (библиотеки системы, модули
ядра) (library)
9 /lost+found в этом каталоге сохраняются восстановленные части
файловой системы (при загрузке системы происходит
проверка файловых систем на наличие ошибок - для
исправления ошибок файловой системы запускается
программа fsck)
10 /media /mnt монтирование (монтируются различные подключаемые
устройства) (mount)
11 /opt дополнительные программы (устанавливаются
дополнительные пакеты программ) (Optional applications)
12 /proc информация о процессах (в виде файлов содержится
информация о происходящих в системе процессах)
(proccess)
13 /root домашний каталог администратора (суперпользователя)
системы (используется администратором в случае если
основной каталог home по каким-то причинам недоступен)
14 /run процессы
15 /sbin системные исполняемые файлы (основные программы
выполняемые root) (system binaries)
16 /srv сервер(server)
17 /sys информация о системе(system)
18 /tmp временные файлы (для временного хранения данных
программами)
19 /usr программы пользователя (находятся файлы документации,
исходные коды программ, ядра) (user applications)
20 /usr/bin/ исполняемые файлы
21 /usr/lib/ библиотеки (неизменяемые конфигурационные файлы и
данные программ)
22 /usr/local файлы пользователя (находятся отдельно устанавливаемые
пакеты программ)
23 /usr/sbin/ команды, используемые при администрировании системы и
не предназначенные для размещения в файловой системе root
(например, здесь находится большинство программ-серверов)
9
№
Имя каталога Назначение
п/п
1 2 3
24 /usr/src исходники установленных программ и ядра
25 /var переменные файлы (данные которые часто меняются в
процессе работы системы) (variable)
26 /var/lib базы данных
27 /var/local изменяемые данные программ, установленных
администратором в /usr/local
28 /var/log файлы логов (логи различных системных программ
29 /var/run PID процессов, временные файлы (информация в них
хранится до очередной перезагрузки системы)
30 /var/tmp каталог для временных файлов
VirtualBox (Oracle VM VirtualBox)
Виртуализация — предоставление набора вычислительных
ресурсов или их логического объединения, абстрагированное от
аппаратной реализации, и обеспечивающее при этом логическую
изоляцию друг от друга вычислительных процессов, выполняемых на
одном физическом ресурсе. Термин «виртуализация» в компьютерных
технологиях появился в шестидесятых годах прошлого века вместе с
термином «виртуальная машина» - программная и/или аппаратная
система, эмулирующая аппаратное обеспечение некоторой платформы
(target — целевая, или гостевая платформа) и исполняющая программы
для target-платформы на host-платформе (хост - платформа, платформа-
хозяин) или виртуализирующая некоторую платформу и создающая на
ней среды, изолирующие друг от друга программы и даже
операционные системы [1-14].
Виртуальная машина исполняет некоторый машинно-независимый
код или машинный код реального процессора. Помимо процессора,
виртуальная машина может эмулировать работу как отдельных
компонентов аппаратного обеспечения, так и целого реального
компьютера (включая BIOS, оперативную память, жёсткий диск и
другие периферийные устройства). В последнем случае на виртуальную
машину, как и на реальный компьютер, можно устанавливать
операционные системы (например, Windows можно запускать в
виртуальной машине под Linux или наоборот). На одном компьютере
может функционировать несколько виртуальных машин (это может
использоваться для имитации нескольких серверов на одном реальном
сервере с целью оптимизации использования ресурсов сервера).
10