Настройка прокси-сервера ОС семейства Unix

Автор: Пользователь скрыл имя, 13 Декабря 2012 в 00:50, реферат

Описание работы

Прокси-сервер (от англ. proxy — «представитель, уполномоченный») — служб в компьютерных сетях, позволяющая клиентам выполнять косвенные запросы к другим сетевым службам. Сначала клиент подключается к прокси-серверу и запрашивает какой-либо ресурс (например, e-mail), расположенный на другом сервере. Затем прокси-сервер либо подключается к указанному серверу и получает ресурс у него, либо возвращает ресурс из собственного кэша (в случаях, если прокси-сервер имеет свой кэш).

Содержание

1. Введение
2. Прокси-сервер Squid
3. Описание архитектуры. Списки контроля доступа
4. Установка Squid
5. Настройка конфигурации Squid
6. Запуск прокси-сервера Squid
7. Заключение
8. Список использованных ресурсов

Работа содержит 1 файл

Администрирование вычислительных систем и сетей.docx

— 314.78 Кб (Скачать)

                            

                    

 

 

                                      Федеральное Агентство по образованию

                                               Российской Федерации

  

                                    Московский государственный университет

                                             Приборостроения и информатики

 

                                      

                                                             РЕФЕРАТ

 

            По дисциплине «Администрирование вычислительных систем и сетей»

 

                                  Тема: Настройка прокси-сервера ОС семейства Unix

 

      

 

           

                                                                              

 

                                                 

 

    Содержание

 

  1. Введение 
  2. Прокси-сервер Squid
  3. Описание архитектуры. Списки контроля доступа
  4. Установка Squid
  5. Настройка конфигурации Squid
  6. Запуск прокси-сервера Squid
  7. Заключение
  8. Список использованных ресурсов

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  1. Введение

Прокси-сервер (от англ. proxy —  «представитель, уполномоченный») —  служб в компьютерных сетях, позволяющая  клиентам выполнять косвенные запросы  к другим сетевым службам. Сначала  клиент подключается к прокси-серверу  и запрашивает какой-либо ресурс (например, e-mail), расположенный на другом сервере. Затем прокси-сервер либо подключается к указанному серверу и получает ресурс у него, либо возвращает ресурс из собственного кэша (в случаях, если прокси-сервер имеет свой кэш). В  некоторых случаях запрос клиента  или ответ сервера может быть изменён прокси-сервером в определённых целях. Также прокси-сервер позволяет  защищать клиентский компьютер от некоторых  сетевых атак.(1)

 

Термином «proxy-сервер» сейчас называют широкий спектр программ. Некоторые фирмы подлили масла в огонь, назвав свои программные продукты «proxy-server» или «что-то proxy». И эти продукты выполняют разные функции. У системных администраторов разбегаются глаза при их виде, как у советского туриста во французском супермаркете. Между тем, есть две концептуально разные функции, обычно присущие всем этим продуктам. Первая – это кэширование http-запросов. Кэширующий сервер не умеет делать ничего, кроме кэширования запросов. Http-запрос от клиентского компьютера (из броузера Opera или Internet Explorer, например) вначале попадает к кэширующему серверу. Тот его переправляет веб-серверу, которому запрос предназначен, и сохраняет у себя ответ

сервера. Если кто-то из пользователей обратится к кэширующему серверу с таким же запросом, он получит страницу быстрее – прямо из кэша. Это не только ускоряет работу конечных пользователей с сетью, но и уменьшает входящий трафик организации. Следовательно, экономятся и время, и деньги. Такая схема дает и побочный эффект: пользователи, которые обращаются к кэширующему серверу, могут иметь «приватные» IP-адреса, поскольку им не нужен прямой доступ к Интернету. Для сети такой организации достаточно одного официально зарегистрированного, «публичного» IP-адреса, и этот адрес им охотно предоставит провайдер. Этот адрес надо будет присвоить внешнему интерфейсу компьютера, на котором работает кэширующий сервер.

 

Таким образом, кэширующий сервер решает две задачи: собственно кэширование и подстановка своего адреса в качестве адреса отправителя запроса. Это позволяет даже компьютерам, не имеющим публичного адреса в Интернете, получать оттуда информацию через кэширующий сервер.

 

Вторая функция, которую  может выполнять программа, называемая proxy-сервером, – это трансляция адреса отправителя (NAT – Network Address Translation). При трансляции адреса в каждом пакете, проходящем через NAT, адрес отправителя подменяется адресом компьютера, выполняющего трансляцию. Подробнее о NAT рассказано в следующем разделе – «NAT». Существуют программы, выполняющие

трансляцию адреса только для пакетов определенных служб. Например, telnet, ftp и http. Часто такая программа совмещает функции NAT и кэширования http_запросов. Некоторые программы выполняют эти функции или одну из них после авторизации пользователя, что еще сильнее усложняет схему их работы. Нельзя же требовать авторизации на передачу каждого пакета, приходится запрашивать пароль

при начале работы в сети и затем хранить его или  пользоваться существующей в сети аутентификацией.

Из-за этого часто возникает терминологическая путаница и бывает не_

ясно, что собеседник думает, когда говорит «proxy-сервер». Правильнее всегда уточнять, какая функция имеется в виду – кэширование запросов или подстановка адресов.

До сих пор мы говорили о proxy-серверах вообще, не упоминая операционную систему, в которой они работают. Многие proxy-серверы работают под управлением Windows. Однако наиболее популярный, особенно у провайдеров, http-кэш squid работает под UNIX. Он распространяется в исходных текстах и может быть установлен практически на любой диалект UNIX. Однако на практике обычно требуется доступ не только к веб-страницам и ftp-серверам, но и к почте. В случае если сеть организации использует NAT, это не вызывает никаких дополнительных проблем. Даже если почтовый сервер организации находится во внешней сети, пользователи будут обращаться к нему через NAT. Так же, как и к любому другому внешнему серверу. Если же NAT не используется, адреса во внутренней сети назначены из блока приватных адресов, то эта задача решается установкой почтового сервера на ту же машину с «публичным» внешним интерфейсом, на которой работает и кэширующий сервер. Вы уже догадались, что маршрутизатором будет эта же машина, то есть она будет подключена и к внутренней сети организации, и к интернет-провайдеру. (2.[стр. 172-173])

 

  1. Прокси-сервер Squid

 

Squid — программный пакет,  реализующий функцию кэширующего  прокси-сервера для протоколов HTTP, FTP, Gopher и (в случае соответствующих  настроек) HTTPS. Разработан сообществом  как программа с открытым исходным  кодом (распространяется в соответствии  с GNU GPL). Все запросы выполняет  как один неблокируемый процесс  ввода/вывода. Используется в UNIX-like системах и в ОС семейства  Windows NT. Имеет возможность взаимодействия  с Active Directory Windows Server путём аутентификации  через LDAP, что позволяет использовать  разграничения доступа к интернет  ресурсам пользователей, которые  имеют учётные записи на Windows Server, также позволяет организовать  «нарезку» интернет трафика для  различных пользователей.

В сочетании с некоторыми межсетевыми экранами и маршрутизаторами Squid может работать в режиме прозрачного  прокси-сервера. В этом режиме маршрутизатор  вместо того, чтобы сразу пересылать http-запросы пользователя http-серверу  в интернете, перенаправляет их прокси-серверу, который может работать как на отдельном хосте, так и на самом маршрутизаторе. Прокси-сервер обрабатывает запрос (с возможной отдачей содержимого из кэша), это содержимое направляется к запросившему пользователю, для которого оно выглядит как «ответ» сервера, к которому адресовался запрос. Таким образом, пользователь может даже не знать, что все запросы и ответы прошли через прокси-сервер.

Сервер Squid развивается в  течение уже многих лет. Обеспечивает совместимость с большинством важнейших  протоколов Интернета, а также с  операционными системами:

GNU/Linux

FreeBSD

OpenBSD

NetBSD

BSDI

Mac OS X

OSF и Digital Unix

IRIX

SunOS/Solaris

NeXTStep

SCO Unix

AIX

HP-UX

Microsoft Windows

 

  1. Описание архитектуры. Списки контроля доступа

Для контроля доступа к  ресурсам и определения ряда действий используются списки контроля доступа (англ. access control list, acl). Каждый ACL может  состоять из нескольких критериев (но только одного типа):

адрес (сеть) источника запроса, цели запроса

имя (доменное имя) источника  запроса, имя цели запроса

части URL запроса

протокол

порт (получателя, отправителя, самого Squid’а)

метод (PUT или GET) при передаче данных по HTTP

браузер (User-agent)

ident (запрос к рабочей  станции)

номер автономной системы  отправителя/получателя (не для всех случаев)

авторизация на прокси-сервере

номер соединения (чаще всего  используется для ограничения количества соединений)

SNMP

сертификаты пользователя

параметры запроса

внешние обработчики

Идентификация

Squid поддерживает несколько  видов идентификации пользователей:

по IP-адресу (или доменному  имени узла)

по переданным реквизитам (логин/пароль)

по идентификатору пользовательского  агента (браузера)

Для идентификации по логину/паролю возможно использовать:

обычные логин/пароль

NTLM-авторизацию

внешние программы авторизации (определяющие формат авторизации)

Редиректоры

Squid имеет возможность  переписывать запрашиваемые URL. Squid может быть сконфигурирован так,  чтобы пропускать входящие URL через  процесс редиректора выполняемого  как внешний процесс (подобно  dnsserver), который возвращает новый  URL или пустую строку, обозначающую  отсутствие изменений. 

Редиректор – не является стандартной частью пакета Squid. Редиректор предоставляет администратору контроль за передвижениями пользователей. Использование  редиректора в сочетании с  прозрачным проксированием дает простой, но эффективный контроль, над доступом к порно. Программа-редиректор должна читать URL (один на строку) со стандартного входа и записывать измененные URL или пустые строки на стандартный  выход.

SAMS (SQUID Account Management System) - программное  средство для администрирования  доступа пользователей к прокси-серверу  Squid.

На данный момент SAMS настраивает  работу редиректоров:

Редиректор SAMS - редиректор, работающий напрямую с базами SAMS

SquidGuard - очень мощный редиректор.

Стандартный SQUID - простейший редиректор, описанный в документации к SQUID.

Редиректор SAMS

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

Редиректор SAMS обеспечивает:

ограничение доступа пользователей  к SQUID

контроль времени доступа  пользователей к SQUID

ограниечение доступа  пользователей к запрещенным  ресурсам (или доступ пользователей  только к разрешенным ресурсам)

перенаправление запросов пользователей  к баннерам, счетчикам и т.п.(1)

 

 

 

  1.  Установка Squid

Squid – приложение позволяющее  организовать прокси/кэширующий  сервер для HTTP, FTP и некоторых  других популярных протоколов. Поддерживается  работа с защищенными TLS/SSL соединениями, кэширование DNS, возможно использование  Squid в качестве прозрачного или  реверсного прокси. Распространяется  по лицензии GNU GPL. Работает во  всех популярных вариантах Unix систем – GNU/Linux, *BSD, Mac OS X, SunOS/Solaris, и некоторых других. Есть версия  для Windows.

Для примера будет использоваться Linux Mint, но все сказанное касается и всех остальных дистрибутивов  или ОС, за исключением особенностей установки в конкретном решении. Хотелось бы также отметить, что  сейчас параллельно развивается  две ветки: 2-x и 3-x. Третья ветка перешла  в разряд STABLE в конце 2008 года и  рекомендуема к использованию. По параметрам описываемых далее отличий у  них практически нет, поэтому  все описанное касается обеих  версий.

 

Рис. 3. Установка Squid в Mint.

После инсталляции Squid будет  запущен с установками по умолчанию.(4)(3)

 

 

 

 

 

 

 

  1.  Настройка конфигурации Squid

Все настройки Squid производятся в единственном файле /etc/Squid/Squid.conf, параметров внутри очень много. Просмотреть  список параметров, убрав пустые и  закомментированные строки, можно при  помощи команды (рис. 4):

$ sudo grep -v «^#» /etc/Squid/Squid.conf | sed -e /^$/d’


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 4. Список параметров.

 

Создание acl (Access Control List) с  именем all для абсолютно всех ip-адресов:

acl all src 0.0.0.0/0.0.0.0

 

Создание acl (Access Control List) с именем localhost для 127.0.0.1/32 ip-адресов:

acl localhost src 127.0.0.1/32

 

Создание acl (Access Control List) с именем to_localhost для 127.0.0.0/8 ip-адресов:

acl to_localhost dst 127.0.0.0/8

 

Указание сети, с которой  можно присоединяться без авторизации:

acl localnet src 10.0.0.0/8

acl localnet src 172.16.0.0/12

acl localnet src 192.168.0.0/24

 

Описание портов:

acl SSL_ports port 443 – https порт

acl Safe_ports port 80 – http порт

acl Safe_ports port 21 – ftp порт

acl Safe_ports port 443 – https порт

 

Включение поддержки проброски  соединения с помощью команды  протокола CONNECT:

acl CONNECT method CONNECT

 

 

Описывает рабочее время  с понедельника по пятницу:

acl work_hours time M T W T F 9:00-18:00

 

Описывает путь к файлу  со списком доменов:

acl blockdomen dstdom_regex "/etc/squid/blocks.domen.acl" – в этом файде содержатся  список доменов.

 

Описывает путь к файлу  со списком файлов:

acl blockfiles urlpath_regex -i "/etc/squid/blocks.files.acl" – в этом файде содержатся  данные о расширениях.

 

Описывает путь к файлу  со списком значений адресса:

acl blockadult dstdom_regex "/etc/squid/blocks.adult.acl" – в этом файде содержатся  регулярные выражения для интернет  ресурсов.

Пропуск (allow) или запрет (deny) для указанных портов. Порядок http_acces важен, идет сверху вниз:

http_access allow manager localhost

http_access allow localnet

http_access deny manager

http_access allow purge localhost

http_access deny purge

http_access deny!Safe_ports

http_access deny CONNECT!SSL_ports

http_access allow localhost

http_access deny blockdomen

http_access deny blockfile

http_access deny blockadult

http_access deny!work_hours

Разрешение acl all доступ:

http_access allow all

 

Разрешение или запрет доступа к ICP порту, основанное на заявленных списках доступа:

Информация о работе Настройка прокси-сервера ОС семейства Unix