Автор Тема: SQUID c прозрачным режимом без подмены сертификата c поддержкой SSL  (Прочитано 1260 раз)

Оффлайн olegspec1982

  • Начинающий
  • *
  • Сообщений: 1
    • Email
Добрый день уважаемые форумчане! Решил может кто захочет поделиться опытом . Буду благодарен. Админом по ситеме  Unix  я стал сравнительно недавно , но уже много что успел сделать по серверам.
Установил  SQUID c прозрачным режимом без подмены сертификата c поддержкой  SSL. Затем настроил  SQUIDGUARD  чтобы блокировал ресурсы от БД Роском, ПОрно, Наркотики и выдавал страницу блокировки.   Всё выполняется, но проблема  у меня сейчас следующая:  примерно раз в 3 дня а может чаще зависает процесс  Squidguard и грузит процессор почти до 99%  при этом ничего не делая . Решается просто убиваем процесс  kill   и запускаем заново  squid  можно даже не перезапуском restart  а reload . В момент когда процесс висит некоторые файлы не грузятся .  Конфигурация SQUID следующая  :
acl SSL_ports port 443
acl Safe_ports port 80-82<-----><------># http
acl Safe_ports port 21<><------># ftp
acl Safe_ports port 443><------># https
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 kgau-all src "/etc/squid/acl/kgau-all"

# блокируем сайты вручную
#acl blocked_sites_http dstdomain "/etc/squid/acl/blocked-sites.txt"
#acl blocked_sites ssl::server_name "/etc/squid/acl/blocked-sites.txt"

dns_nameservers  192.168.22.3

http_access deny !Safe_ports

http_access deny CONNECT !SSL_ports

http_access allow localhost manager
http_access deny manager

# блокируем сайты вручную

#http_access deny blocked_sites
#http_access deny blocked_sites_http

#применяем правила.

#всем кто в списке разрешить

http_access allow kgau-all

#остальным  запретить

http_access deny all

#http_access allow localhost

#переходим на страницу блокировки

deny_info http://www.kgau.ru/zapret_loc.html blocked_sites

#запускаем программу  SQUIDGUARG

redirect_program /usr/bin/squidGuard

# max кол-во копий программы
redirect_children 20

redirector_bypass on

#тайм-аут после чего соединения будут закрыты

shutdown_lifetime 5 seconds


#прозрачный порт указывается опцией intercept
http_port 192.168.101.226:3130 intercept options=NO_SSLv3:NO_SSLv2

#также нужно указать непрозрачный порт, ибо если захотите вручную указать адрес
#прокси в браузере, указав прозрачный порт, вы получите ошибку доступа, поэтому нужно
#указывать непрозрачный порт в браузере, если конечно такое желание будет, к тому же в логах #сыпятся ошибки о том, что непрохрачный порт не указан=).
http_port 192.168.101.226:3128 options=NO_SSLv3:NO_SSLv2

#и наконец, указываем HTTPS порт с нужными опциями
https_port 192.168.101.226:3129 intercept ssl-bump options=ALL:NO_SSLv3:NO_SSLv2 connection-auth=off cert=/etc/squid/squidCA.pem
always_direct allow all
sslproxy_cert_error allow all

#Принять сертификаты, которые не прошли проверку.

sslproxy_flags DONT_VERIFY_PEER

#укажем правило со списком блокируемых ресурсов (в файле домены вида .domain.com)
#acl blocked ssl::server_name "/etc/squid/acl/blocked-sites.txt"
acl step1 at_step SslBump1
ssl_bump peek step1

#терминируем соединение, если клиент заходит на запрещенный ресурс
#ssl_bump terminate blocked
ssl_bump splice all

# Не использовать IPv6, если доступен IPv4-адрес
dns_v4_first on
#создание сертификата по подмене пока не используем
#sslcrtd_program /usr/lib/squid/ssl_crtd -s /var/lib/ssl_db -M 4MB

coredump_dir /var/spool/squid
refresh_pattern ^ftp:           1440    20%     10080
refresh_pattern ^gopher:        1440    0%      1440
refresh_pattern -i (/cgi-bin/|\?) 0     0%      0
refresh_pattern .               0       20%     4320

#отвечает за хранение закешированных объектов в оперативке
cache_mem 1068 MB

cache_dir ufs /var/spool/squid 1024 16 256

#(процесс удаления старых объектов заканчивается, если достигнут данный уровень)
cache_swap_low 90
#(при достижении данного уровня заполнения кеша - в процентах - начинается ускоренный процесс удаления старых объектов;
# для большого кеша эти границы надо поднять, 5% от 8 GB - это 400 MB!)
cache_swap_high 95

maximum_object_size_in_memory 512 KB

#устанавливают ограничения на размер передаваемых объектов
maximum_object_size 4096 KB
minimum_object_size 25 KB

#освободить не используемую память
memory_pools off

memory_replacement_policy lru
#кол-во ротаций логов  Squid
logfile_rotate 14

Если нужны другие логи выложу . И еще у меня вопрос squid в логах не выдаёт полностью запрос по пути пользователя и только доменное имя . Прочитал что сделать ничего нельзя только с подменой сертификата чтобы разобрать SSH  соединение надо либо подставить сертификат в домен , либо подменить его. /Правильно я понимаю ?  Спасибо за помощь !;-)

Оффлайн YYY

  • Мастер
  • ***
  • Сообщений: 5 521
Цитата: olegspec
Установил  SQUID c прозрачным режимом без подмены сертификата c поддержкой  SSL.
Из исходников?

Цитата: olegspec
примерно раз в 3 дня а может чаще зависает процесс  Squidguard
вообще без логов по одному конфигу точно ничего не понять :)
На время можно костыль сделать чтоб ночью процесс ресталтился - чтоб не в рабочее время...

Цитата: olegspec
И еще у меня вопрос squid в логах не выдаёт полностью запрос по пути пользователя и только доменное имя . Прочитал что сделать ничего нельзя только с подменой сертификата чтобы разобрать SSH  соединение надо либо подставить сертификат в домен , либо подменить его. /Правильно я понимаю ?  Спасибо за помощь !;-)
Таки да.
Вон ростелеком не парится - хочешь в интернет - ставь их сертификат... Но это унылое решение.
А чем только домен не устраивает?
Можно еще в сквиде как DNS попробовать вписать яндекс-семейный-dns или skydns - будет по их базам резаться...