Бруй В.В., Карлов С.В. - Linux-сервер - пошаговые инструкции - инсталляции и настройки (1077321), страница 75
Текст из файла (страница 75)
Если условие, указанное в правиле вида"http_access deny …" выполняется, доступ запрещается, и дальнейший просмотр правил прекращается. Если условие не выполняется, осуществляется переход к проверке следующего правила.В рассматриваемом примере при получении запроса от клиента в локальной сети на установление соединения с Web-сервером в Интернет в соответствии с первым правилом, указанным в ACL –http_access allow localnet – доступ разрешается. При получении запроса от клиента с консолишлюза на установление соединения с Web-сервером в Интернет в соответствии с первым правилом в ACLдоступ не разрешается и осуществляется переход к проверке выполнения условий второго правила. В соответствии с ним доступ в Интернет разрешается.Работа различных клиентов в локальной сети может инициировать обращение к «безопасным» портам шлюза. При возникновении таких обращений в соответствии с первым и вторым правилом доступ неразрешается и осуществляется переход к проверке выполнения условий сначала третьего, а затем четвертогоправила.
В соответствии с одним из этих правил, доступ разрешается, причем к портам 443 и 563 даже с помощью метода CONNECT. При получении запроса на очистку кэша со шлюза (использования методаPURGE) в соответствии с правилами 1…4 доступ будет запрещен, и осуществляется переход к проверке выполнения условий пятого правила http_access allow PURGE localhost, в соответствии с которымдоступ будет разрешен.Шестое, седьмое и восьмое правило служат для реализации запрета всех остальных возможных соединений. Например, при попытке установления соединения с 22 портом, будут просмотрены первое, второе, третье и четвертое правила.
При этом первое, второе и третье правила не дадут разрешения на установку соединения, а при проверке выполнения условий пятого правила соединение будет запрещено, а проверкавыполнения условий правил прекращена.ЗАМЕЧАНИЕ При написании правил в ACL важно учитывать не только их содержание, но и последовательность.Если вы хотите, чтобы пользователи перед получением доступа в Интернет проходили аутентификацию, файл /etc/squid/squid.conf необходимо отредактировать в соответствии со следующими рекомендациями:#Установите номер порта, на котором Squid ожидает запросы HTTP-клиентов.#Значение по умолчанию 3128http_port 3128#Обеспечьте корректную работу Squid c браузерами, некорректно#поддерживающими SSLssl_unclean_shutdown on#Установите номер порта, на котором Squid принимает и получает запросы#с других прокси-серверов.
Установив значение порта, равное 0, вы повысите #производительность вашей системыicp_port 0#Установите запрет кэширования некоторого типа объектов.#В данном случае – файлов, находящихся в каталоге cgi-bin.acl QUERY urlpath_regex cgi-bin \?no_cache deny QUERY#Определите объем памяти, выделяемый под кэширование In-Transit objects,#Hot Objects,Negative-Cached objects (примерно 1/3 от общего объема #оперативной памяти). Оптимальное значение для системы с памятью#512 МБайт –170.cache_mem 170 MB#Определите политику очистки кэша324Часть 6. Программное обеспечение для организации шлюзаcache_replacement_policy heap GDSFmemory_replacement_policy heap GDSF#Определите формат представления данных в кэше (DISKD), каталог,#в котором он размещается (/var/spool/squid), объем дискового пространства#(1250 МБайт), количество подкаталогов первого и второго уровня в#каталоге /var/spool/squid.cache_dir diskd /var/spool/squid 1250 16 256#Запретите создание файла, в котором регистрируется удаление и помещение#объектов в кэш.
Авторам неизвестны утилиты, предназначенные для обработки#информации, содержащейся в этих файлах.cache_store_log none#Разрешите запись в файлы регистрации доменных имен вместо IP-адресов.#Использование этой возможности облегчает анализ файлов регистрации,#но снижает производительность шлюза.log_fqdn on#Разрешите создание файлов регистрации SQUID в формате Apache.#Анализ этих файлов возможен с помощью стандартных утилит, предназначенных#для анализа файлов регистрации Apache, например Webalizer.emulate_httpd_log on#Определите параметры аутентификации пользователей.#Пример - базовая схема с использованием стандартных модулей PAM.auth_param basic program /usr/lib/squid/pam_authauth_param basic children 5auth_param basic realm Squid Proxy-Caching Web Serverauth_param basic credentialsttl 2 hours#Определите элементы списков контроля доступа (ACL elements).#Определите имя элемента ACL, определяющего список пользователей,#которые должны проходить аутентификацию при обращении к SQUID.#REQUIRED – любое допустимое имя пользователя.acl usera proxy_auth REQUIRED#Определите имя элемента ACL и параметры для локальной сети.acl localnet src 192.168.1.0/255.255.255.0#Определите имя элемента ACL и параметры локального хоста.acl localhost src 127.0.0.1/255.255.255.255#Определите имена элементов ACL и номера SSL и безопасных портов.acl SSL_ports port 443 563acl Safe_ports port 80 21 443 563 70 210 1025-65535 280 488 591 777#Определите имя элемента ACL для метода CONNECT.acl CONNECT method CONNECT#Определите имя элемента ACL и IP-адрес, к которому разрешен#доступ без аутентификации пользователей.#Определите имя элемента ACL для метода PURGE.acl PURGE method PURGE#Определите имя элемента ACL для Интернет.acl all src 0.0.0.0/0.0.0.0#Создайте Access List(правила доступа для всех элементов ACL).#Squid воспринимает правила в том порядке, в котором они встречаются в#/etc/squid/squid.conf.#Разрешите доступ пользователей только с аутентификацией.http_access allow useraРазрешите доступ пользователей из локальной сети и с локальной системыhttp_access allow localnethttp_access allow localhost#Разрешите очистку кэша с локальной системыhttp_access allow PURGE localhost#Запретите обращение к небезопасным портамhttp_access deny !Safe_ports#Запретите обращение к портам, неиспользуемым SSL с помощью#метода CONNECThttp_access deny CONNECT !SSL_ports#Запретите метод CONNECTГлава 24.
Кэширующий прокси-сервер Squid325http_access deny CONNECT#Запретите очистку кэша со всех системhttp_access deny PURGE#Запретите доступ для всех хостовhttp_access deny all#Укажите e-mail администратораcache_mgr admin@domain.ru#Эти опции повышают безопасность системы за счет запуска#Squid от имени пользователя squid группы squidcache_effective_user squidcache_effective_group squidlogfile_rotate 0#Запретите обмен с другими прокси-серверамиlog_icp_queries off#Задайте пароль, используемый утилитой администрирования прокси-сервера#cachemgr через Web-интерфейс (если вы собираетесь ее использовать).#cachemgr_passwd $ecretnoe_Sl0vo all#Включите поддержку ускорения записи файлов регистрацииbuffered_logs onВ некоторых случаях бывает необходимо ограничить перечень Web-ресурсов, доступ к которым могут иметь пользователи локальной сети.
Аутентификация пользователей при этом не требуется. Ниже приведен пример конфигурационного файла /etc/squid/squid.conf, разрешающий всем пользователямлокальной сети доступ только к серверам http://www.rian.ru, http://www.interfax.ru иhttp://www.finmarket.ru без аутентификации пользователей:#Установите номер порта, на котором Squid ожидает запросы HTTP-клиентов.#Значение по умолчанию 3128http_port 3128#Обеспечьте корректную работу Squid c браузерами, некорректно#поддерживающими SSLssl_unclean_shutdown on#Установите номер порта, на котором Squid принимает и получает запросы#с других прокси-серверов.
Установив значение порта, равное 0, вы повысите #производительность вашей системы.icp_port 0#Установите запрет кэширования некоторого типа объектов.#В данном случае – файлов, находящихся в каталоге cgi-bin.acl QUERY urlpath_regex cgi-bin \?no_cache deny QUERY#Определите объем памяти, выделяемый под кэширование In-Transit objects,#Hot Objects,Negative-Cached objects (примерно 1/3 от общего объема #оперативной памяти).
Оптимальное значение для системы с памятью#512 МБайт –170.cache_mem 170 MB#Определите политику очистки кэша.cache_replacement_policy heap GDSFmemory_replacement_policy heap GDSF#Определите формат представления данных в кэше (DISKD), каталог,#в котором он размещается (/var/spool/squid), объем дискового пространства#(1250 МБайт), количество подкаталогов первого и второго уровня в#каталоге /var/spool/squid.cache_dir diskd /var/spool/squid 1250 16 256#Запретите создание файла, в котором регистрируется удаление и помещение#объектов в кэш.