Лекция 3 Тема 1: Базовые понятия и технологии эк

Вид материалаЛекция

Содержание


9. Распределение пропускной способности канала Up
10. Доступ к ресурсам и другие ограничения Up
11. Настройка шлюза IPFW Up
12. Внедрение и работа с SQUID Up
Подобный материал:
1   2   3   4   5   6
^

9. Распределение пропускной способности канала Up



Для IP-схемы доступа разделение пропускной способности канала между пользователями можно реализовать средствами Pipes брандмауэра IPFW ОС FreeBSD, а в случае прокси-сервера SQUID - использовать его механизм delay_pools. Сервер определяет размер файла, запрошенного пользователем, и если этот размер не превышает установленной величины, то файл загружается на максимально возможной скорости. В случае более объемного файла он передается с заданной ограниченной скоростью. Данный механизм применяется не ко всем пользователям, а лишь к перечисленным в списках ACL (Access Control List - именованная группа объектов, к которым могут применяться различные ограничения), что позволяет очень гибко настраивать приоритеты работы различных групп пользователей. В то же время, если в данный момент работает только один пользователь, к нему все равно будут применяться ограничения по скорости при загрузке больших файлов. IPFW, в отличие от delay_pools у SQUID, позволяет реализовать динамическое деление канала.

^

10. Доступ к ресурсам и другие ограничения Up



Для IP-схемы возможны ограничения только по IP-адресам серверов и по TCP/UDP-портам. Это вызывает неудобства, поскольку сегодня распространен механизм Virtual Hosts Web-сервера Apache на основе протокола HTTP v1.1, когда один Web-сервер с одним IP-адресом обслуживает множество сайтов с разными DNS-именами. SQUID же, наоборот, предоставляет очень гибкие механизмы администрирования доступа пользователей к ресурсам Интернета с помощью списков ACL. Это может быть, например, доступ в определенное время, день недели, месяц; разрешение/запрет на копирование определенных типов файлов, разрешение/запрет на обращение к ресурсу, в имени которого содержится некоторое ключевое слово.

^

11. Настройка шлюза IPFW Up



В роли шлюза (gateway) используется компьютер с двумя сетевыми интерфейсами (один подключен к каналу Интернета и имеет реальный IP-адрес, а другой "смотрит" в корпоративную сеть и идентифицируется IP-адресом ее подсети), на котором установлена ОС FreeBSD (ссылка скрыта). FreeBSD проста в настройке, надежна, распространяется бесплатно и содержит практически все, что может понадобиться для сетевого сервера масштабов предприятия. Процесс установки ОС FreeBSD, конфигурирование сетевых интерфейсов, запуск и конфигурирование IPFW, NATD, маршрутизации - в общем, все необходимое для настройки шлюза доступа в Интернет (и по IP, и с помощью прокси-сервера SQUID, кроме настройки самого SQUID) подробно описано в книге М. Эбена и Б. Таймэна "FreeBSD. Энциклопедия пользователя" (Киев: Diasoft, 2003).


Для обоих вариантов организации доступа в Интернет необходимо сконфигурировать ПО IPFW. IPFW фильтрует и подсчитывает IP-пакеты на всех сетевых интерфейсах. Программа также обрабатывает пакеты и на более высоких уровнях: UDP, TCP и ICMP. Кроме того, IPFW участвует в работе NATD. Автор рекомендует при настройке правил ipfw воспользоваться утилитой trafshow для контроля обращений в сеть и из сети по всем интерфейсам с указанием IP-адресов внешних машин, протоколов и портов в реальном времени. Команда trafshow -i fxp0 -n

задает отображение пакетов на fxp0-интерфейсе с номерами портов, а команда ipfw -a list

отображает правила ipfw, число пакетов и объем трафика (в байтах), прошедших с момента включения сервера или последнего обнуления счетчиков правил.
^

12. Внедрение и работа с SQUID Up




Установка SQUID и системы авторизации

Установка проводится из портов ОС FreeBSD (в версии 4.9, текущая версия 4.10) /usr/ports/www/squid (2.5 версия STABLE3) или /usr/ports/www/squid24 (STABLE7). Нужные опции необходимо раскомментировать в Makefile. Рекомендуемые опции:

CONFIGURE_ARGS+= -enable-delay-pools

(для включения механизма распределения пропускной способности);

CONFIGURE_ARGS+= -enable-err-language=Russian-1251

(для диагностики на русском языке)

После установки SQUID необходимо установить саму систему авторизации. Ее исходные тексты содержатся в файлах SQUID:

/usr/ports/www/squid24/work/squid-2.4.STABLE7/auth_modules/NCSA

Рабочий пример текста squid.conf

icp_port 0

client_netmask 255.255.255.0

authenticate_program /usr/local/squid/bin/ncsa_auth

/usr/local/etc/passwd

authenticate_children 20

reference_age 2 weeks

acl all src 0.0.0.0/0.0.0.0

acl manager proto cache_object

acl localhost src 127.0.0.1/255.255.255.255

acl SSL_ports port 443 563

acl Safe_ports port 80 # http

acl Safe_ports port 21 # ftp

acl Safe_ports port 443 563 # https, snews

acl Safe_ports port 70 # gopher

acl Safe_ports port 210 # wais

acl Safe_ports port 1025-65535 # unregistered ports

acl Safe_ports port 280 # http-mgmt

acl Safe_ports port 488 # gss-http

acl Safe_ports port 591 # filemaker

acl Safe_ports port 777 # multiling http

acl CONNECT method CONNECT

acl Inet_users proxy_auth "/usr/local/etc/squid_users"

delay_pools 1

delay_class 1 2

delay_parameters 1 7500/7500 1875/1875

delay_access 1 allow Inet_users

delay_access 1 deny all

http_access allow manager localhost

http_access deny manager

http_access deny !Safe_ports

http_access deny CONNECT !SSL_ports

http_access allow Inet_users

http_access deny all
Кэширующий прокси-сервер SQUID (ссылка скрыта) на платформе Unix - это распространяемое бесплатно ПО с открытым кодом. Он легко конфигурируется, хорошо документирован, широко распространен и просто интегрируется с ОС FreeBSD. SQUID позволяет организовать различные типы аутентификации при доступе к Интернету, разграничивает доступ по любому параметру (имени домена, ключевому слову в адресе, протоколу и т. д.) на основе списков ACL.

При использовании SQUID на шлюзе необходимо закрыть для локальных машин возможность обращаться к внешним адресам (и наоборот) и разрешить доступ из локальной сети только к порту прокси-сервера на его локальном интерфейсе. NAT и маршрутизацию на шлюзе, если они не нужны для SMTP или для других служб, также следует отключить. После установки, конфигурирования, запуска SQUID и его системы авторизации администратору остается только добавление и удаление пользователей. Данные о пользователе достаточно создать лишь в SQUID, так как он не попадает в среду ОС прокси-сервера, и соответственно не надо создавать идентификационные данные пользователя ОС. После изменений в squid.conf или добавления/удаления пользователей SQUID должен перечитать свою конфигурацию без закрытия существующих пользовательских сессий командой squid -k reсonfigure.

Создавая пользователя SQUID при помощи ncsa_auth, необходимо прописать login и пароль пользователя в двух файлах конфигурации; в нашем примере это будет выглядеть так:

/usr/local/etc/squid_users /usr/local/etc/passwd


В первый файл просто добавляется имя (login) пользователя с новой строки с помощью текстового редактора. Во втором файле хранятся пароли пользователей (в MD5), и добавлять в этот файл учетную запись можно только с помощью утилиты htpasswd, которая поставляется с Web-сервером Apache. Необходимо следить за содержанием кэша SQUID и периодически его очищать во избежание переполнения файловой системы - командой squid -Z. В настройках клиентов в свойствах браузеров и клиентов ICQ необходимо указать IP-адрес прокси-сервера и порт. В нашем примере это IP:192.168.1.8 и порт 3128 (этот порт используется по умолчанию). Если программа ICQ настроена для работы через прокси-сервер, то она использует 443-й, а не 5190-й TCP-порт ICQ-серверов, что также надо учитывать при настройке межсетевых экранов. При использовании SQUID необходимо закрыть для локальных машин возможность обращаться к 80-му TCP-порту Интернет-серверов. Можно вообще разрешить доступ только к порту прокси-сервера, а ко всем остальным, за исключением почтовых, его закрыть, дабы "продвинутые" пользователи не ходили в Интернет в обход SQUID. С тонкостями настройки SQUID можно познакомиться на сайте ссылка скрыта.