Бруй В.В., Карлов С.В. - Linux-сервер - пошаговые инструкции - инсталляции и настройки (1077321), страница 79
Текст из файла (страница 79)
Программное обеспечение для организации шлюзаiplist и userlist – зарезервированные слова, предназначенные для описания содержания файласписок IP-адресов или пользователей соответственно;filename – имя файла.IP-адреса и имена пользователей должны размещаться по одному в каждой строке файла.В разделе Destination group declarations описываются IP-дреса и имена доменов, доступ ккоторым должен блокироваться:dest|destination name within|outside time_space_name {specificationspecification...specification} else {specificationspecification...specification}где:• dest или destination – зарезервированное слово, используемое в качестве признака началаописания группы ресурсов, доступ к которым должен быть запрещен (используйте только одно слово –dest или destination – на ваше усмотрение);• name – имя ресурсов, доступ к которым должен быть запрещен;• within или outside – используется для задания отношения группы ресурсов к временным интервалам, соответственно, в течение интервала, или вне его;• time_space_name – имя описания временных интервалов,• specification – описание ресурсов.В рассматриваемом примере конфигурационного файла /etc/squid/squidGuard.conf запись:dest ads {domainlistads/domainsurllistads/urls}dest aggressive {domainlistaggressive/domainsurllistaggressive/urls}dest audio-video {domainlistaudio-video/domainsurllistaudio-video/urls}dest drugs {domainlistdrugs/domainsurllistdrugs/urls}dest gambling {domainlistgambling/domainsurllistgambling/urls}dest hacking {domainlisthacking/domainsurllisthacking/urls}dest mail {domainlistmail/domains}dest porn {domainlistporn/domainsurllistporn/urlsexpressionlist porn/expressions}Глава 25.
SquidGuard – программное обеспечение для настройки Squiddest proxy {domainlisturllist}dest violence {domainlisturllist}dest varez {domainlisturllist}343proxy/domainsproxy/urlsviolence/domainsviolence/urlswarez/domainswarez/urlsопределяет список, содержащий 11 типов ресурсов.Так, например, тип ресурсов с именем porn, описанный c помощью:dest porn {domainlistporn/domainsurllistporn/urlsexpressionlist porn/expressions}указывает на то, что:• переченьблокируемыхдоменовсодержитсявфайле/var/spool/squid/squidGuard/porn/domains;• список блокируемых URL – в файле /var/spool/squid/squidGuard/porn/urls/;• список регулярных выражений, описывающих список блокируемых URL – в файле/var/spool/squid/squidGuard/porn/expressions.Вы имеете возможность, редактируя файлы domains, urls и expressions, определять новыеблокируемые домены и URL.
Используя конструкции вида:dest my_block_list {domainlistmy_block_list/domainsurllistmy_block_list/urlsexpressionlist my_block_list/expressions}my_block_list/domains,my_block_list/urlsисобственныефайлыиmy_block_list/expressions, вы имеете возможность настройки блокировки любых нежелательныхWeb-ресурсов.ЗАМЕЧАНИЕ Список регулярных выражений, описывающих блокируемые URL, содержащихся в файле /var/spool/squid/squidGuard/porn/expressions, иногда мешает просмотру совершенно легитимных Web-ресурсов.
Поэтому авторы рекомендуют подвергнуть этот файл детальной ревизии с учетом замечаний, поступающих от пользователей вашей сети. В крайнем случае этот файл можно удалить вместе с соответствующей строкой /etc/squid/squidGuard.conf.Если вы не желаете запрещать доступ к ресурсам из некоторых списков, например, содержащихся вкаталоге warez, удалите или закомментируйте в файле /etc/squid/squidGuard.conf следующиестроки:dest warez {domainlistwarez/domainsurllistwarez/urls}В разделе Rewrite rule group declarations описываются настройки переадресации запросов к локальным копиям часто запрашиваемых Web-ресурсов.Авторы не рекомендуют использовать настройки этого раздела, так как это может привести к ошибкам и существенному снижению производительности шлюза.В разделе Access Control Lists осуществляется объединение всех сделанных ранее описаний:acl {sourcegroupname [within|outside timespacename] {pass [!]destgroupname [...][redirect [301:|302:]new_url]344Часть 6.
Программное обеспечение для организации шлюза}sourcegroupname within|outside timespacename {pass [!]destgroupname [...][redirect [301:|302:]new_url]} else {pass [!]destgroupname [...][redirect [301:|302:]new_url]}...default [within|outside timespacename] {pass [!]destgroupname [...]redirect [301:|302:]new_url}[ else {pass [!]destgroupname [...]redirect [301:|302:]new_url]}где:acl – зарезервированное слово, обозначающее начало списка контроля доступа (свода правил блокирования и переадресации запросов к Web-ресурсам);sourcegroupname - имя группы источников запросов;timespacename – имя группы временных интервалов;pass – подраздел, в котором определяются правила пропуска и блокировки запросов;destgroupname – имя группы блокируемых ресурсов;redirect – подраздел, в котором определяется параметры переадресации заблокированного запроса;new_url – URL, на который осуществляется переадресация;default – подраздел, в котором определяются правила для всех запросов, не определенных в предыдущих подразделах.В рассматриваемом примере файла /etc/squid/squidGuard.conf:acl {internal within workhours {pass !ads !aggressive !audio-video !drugs !gambling!hacking !mail !porn !proxy !violence !warezall}#Запрет и переадресация всех остальных запросовdefault {passnoneredirect redirect http://bastion.und/cgibin/squidGuard.cgi?clientaddr=%a&clientname=%n&clientuser=%i&clientgroup=%s&targetgroup=%t&url=%u}}разрешен доступ из локальной сети в рабочее время ко всем ресурсам Интернет, кроме ресурсов, определенных в файлах фильтров.Запросы к ресурсам, определенным в файлах фильтров переадресуются на http://bastion.und/cgibin/squidGuard.cgi?clientaddr=%a&clientname=%n&clientuser=%i&clientgroup=%s&targetgroup=%t&url=%u.ЗАМЕЧАНИЕSquidGuard.conf.ВфайленельзяопределятьилииспользоватьболееодногоблокаaclПримеры конфигурационного файла /etc/squid/squidGuard.conf для более сложных случаеврассмотрены в документации http://www.squidguard.org/config/.Шаг 2Глава 25.
SquidGuard – программное обеспечение для настройки Squid345В используемый вами файл /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#Определите политику очистки кэша.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#Разрешите использование squidGuardredirect_program /usr/bin/squidGuardredirect_children 5#Разрешите создание файлов регистрации SQUID в формате Apache.#Анализ этих файлов возможен с помощью стандартных утилит, #предназначенных#для анализа файлов регистрации Apache, например Webalizer.emulate_httpd_log on#Определите элементы списков контроля доступа (ACL elements).#Определите имя элемента 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 для метода PURGE(очистка кэша).acl all src 0.0.0.0/0.0.0.0#Создайте Access List (правила доступа для всех элементов ACL).#Squid воспринимает правила в том порядке, в котором они встречаются в#/etc/squid/squid.conf.#Разрешите доступ пользователей из локальной сети и с локальной системы.http_access allow localnethttp_access allow localhost346Часть 6.
Программное обеспечение для организации шлюза#Разрешите очистку кэша с локальной системы.http_access allow PURGE localhost#Запретите обращение к небезопасным портам.http_access deny !Safe_ports#Запретите обращение к портам, не используемым SSL, с помощью метода#CONNECThttp_access deny CONNECT !SSL_ports#Запретите метод CONNECT.http_access deny CONNECT#Запретите очистку кэша со всех систем.http_access deny PURGE#Запретите доступ для всех хостов.http_access deny all#Укажите e-mail администратора.cache_mgr administrator@domen.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Те же строки должны быть вставлены и в случае использования конфигурационного файла/etc/squid/squid.conf с поддержкой аутентификации пользователей.Шаг 3В файле /var/www/cgi-bin/squidGuard.cgi укажите имя системы, на которой установленыSquid и SquidGuard.