Бруй В.В., Карлов С.В. - Linux-сервер - пошаговые инструкции - инсталляции и настройки (1077321), страница 76
Текст из файла (страница 76)
Авторам не известны утилиты, предназначенные для обработки#информации, содержащейся в этих файлах.cache_store_log none#Разрешите запись в файлы регистрации доменных имен вместо IP-адресов.#Использование этой возможности облегчает анализ файлов регистрации,#но снижает производительность шлюза.log_fqdn on#Разрешите создание файлов регистрации SQUID в формате Apache.326Часть 6.
Программное обеспечение для организации шлюза#Анализ этих файлов возможен с помощью стандартных утилит, предназначенных#для анализа файлов регистрации 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 PURGE method PURGE#Определите имя элемента ACL для Интернет.acl all src 0.0.0.0/0.0.0.0#Определите имя элемента ACL остальных Web-ресурсов.acl WWW dst 0.0.0.0/0.0.0.0#Определите имя элементов ACL для серверов, к которым разрешен доступacl www_rian_ru 195.230.73.54acl www_interfax_ru 212.69.102.3acl www_finmarket_ru 195.151.92.50#Создайте Access List(правила доступа для всех элементов ACL).#Squid воспринимает правила в том порядке в котором они встречаются#/etc/squid/squid.conf.#Разрешите доступ пользователей с локальной системыhttp_access allow localhost#Разрешите доступ к трем серверам.http_access allow www_rian_ruhttp_access allow www_interfax_ruhttp_access allow www_finmarket_ru#Разрешите очистку кэша с локальной системы.http_access allow PURGE localhost#Запретите обращение к небезопасным портам.http_access deny !Safe_ports#Запретите обращение к портам, неиспользуемым SSL.http_access deny CONNECT !SSL_ports#Запретите метод CONNECT.http_access deny CONNECT#Запретите очистку кэша со всех систем.http_access deny PURGE#Запретите обращение к остальным Web-ресурсам.http_access deny WWW#Запретите доступ для всех хостов.http_access deny all#Укажите e-mail администратора.cache_mgr admin@domain.ru#Эти опции повышают безопасность системы за счет запуска#Squid от имени пользователя squid группы squid.cache_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:Глава 24.
Кэширующий прокси-сервер Squid327#Установите номер порта, на котором Squid ожидает запросы HTTP-клиентов.#Значение по умолчанию 3128http_port 3128#Обеспечьте корректную работу Squid c браузерами, некорректно#поддерживающими SSL.ssl_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#Разрешите создание файлов регистрации SQUID в формате Apache.#Анализ этих файлов возможен с помощью стандартных утилит, предназначенных#для анализа файлов регистрации Apache, например Webalizer.emulate_httpd_log on#Определите элементы списков контроля доступа (ACL elements).#Определите имя элемента ACL и параметры для локальной сети.acl localnet src 192.168.1.0/255.255.255.0#Определите имя элемента ACL и интервал времени, в течение#которого разрешен доступ в Интернет.acl WorkDay MTWHF 09:00-18:20#Определите имя элемента 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 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 localhost328Часть 6.
Программное обеспечение для организации шлюза#Разрешите доступ в Интернет в рабочее время.http_access allow all WorkDay#Разрешите очистку кэша с локальной системы.http_access allow PURGE localhost#Запретите обращение к небезопасным портам.http_access deny !Safe_ports#Запретите обращение к портам, неиспользуемым SSL.http_access deny CONNECT !SSL_ports#Запретите метод CONNECT.http_access deny CONNECT#Запретите очистку кэша со всех систем.http_access deny PURGE#Запретите доступ в Интернет в нерабочее время.http_access deny localnet#Запретите доступ для всех хостов.http_access deny all#Укажите e-mail администратора.cache_mgr admin@domain.ru#Эти опции повышают безопасность системы за счет запуска#Squid от имени пользователя squid группы squid.cache_effective_user squidcache_effective_group squidlogfile_rotate 0#Запретите обмен с другими прокси-серверами.log_icp_queries off#Задайте пароль, используемый утилитой администрирования прокси-сервера#cachemgr через Web-интерфейс (если вы собираетесь ее использовать).#cachemgr_passwd $ecretnoe_Sl0vo all#Включите поддержку ускорения записи файлов регистрацииbuffered_logs onШаг 2Создайте файл /etc/sysconfig/squid, содержащий следующие строки:#Если на момент запуска Squid отсутствует подключение к Интернет,#используйте опцию –D для отмены начальных обращений к DNS.#SQUID_OPTS="-D"#Определите интервал времени, в течении которого Squid будет продолжать#работать при получении сигнала на остановку.SQUID_SHUTDOWN_TIMEOUT=100Шаг 3В приведенных выше примерах файла /etc/squid/squid.conf установлено значение опцииlogfile_rotate, равное 0.
Это означает, что для осуществления циклической замены файлов регистрации используется не значения параметров по умолчанию, а параметры, определяемые файлом/etc/logrotate.d/squid. Для еженедельной циклической перестановки файлов регистрации создайтефайл /etc/logrotate.d/squid, содержащий следующие строки:/var/log/squid/access.log {weeklyrotate 5copytruncatecompressnotifemptymissingok}/var/log/squid/cache.log {weeklyrotate 5copytruncatecompressnotifemptymissingok}Глава 24. Кэширующий прокси-сервер Squid329/var/log/squid/store.log {weeklyrotate 5copytruncatecompressnotifemptymissingokpostrotate/usr/sbin/squid -k rotateendscript}Шаг 4Если вы будете использовать аутентификацию пользователей, создайте для них соответствующиеучетные записи (без доступа к командному интерпретатору и пользовательского каталога):[root@bastion /]# useradd -s /bin/false drwalbr[root@bastion /]# passwd drwalbrChanging password for user drwalbrNew UNIX password:SeCreTnoe_SlOvORetype new UNIX password:SeCreTnoe_SlOvOpasswd: all authentication tokens updated successfullyШаг 5Если каталог /var/spool/squid смонтирован на отдельном разделе, то повышение безопасностисистемы может быть обеспечено за счет исключения возможности выполнения файлов, содержащихся в кэше.
Для этого замените в файле /etc/fstab строку:/dev/hda10/var/spool ext3 defaults01на:/dev/hda10/var/spool ext3 defaults,noexec,nodev,nosuid 01и перемонтируйте раздел:[root@bastion /]# mount /var/spool -oremountПроверьте правильность вновь установленных опций монтирования раздела:[root@bastion /]# cat /proc/mounts | grep hda10/dev/hda10 /var/spoolext3 rw,noexec,nodev,nosuid 0 0Шаг 6Для устранения случайного или преднамеренного изменения главного конфигурационного файла/etc/squid/squid.conf, выполните:[root@bastion /]# chattr+i /etc/squid/squid.confТестирование SquidПроверка работоспособности и правильности настройки Squid осуществляется следующим образом.Шаг 1Запустите Squid:[root@bastion /]# /etc/init.d/squid startЗапускается squid:[ОК]Перезапустите Squid:[root@bastion /]# /etc/init.d/squid restartОстанавливается squid:[ОК]Запускается squid:[ОК]Если в процессе выполнения этих операций появились сообщения об ошибках, то необходимо проверить правильность конфигурационных файлов.Шаг 2Попробуйте с помощью браузера на системе в локальной сети, в которой не настроен доступ в Интернет через прокси-сервер, обратиться к какому-нибудь ресурсу.