Форум программистов, компьютерный форум, киберфорум
RedHat, Fedora, CentOS, ASP Linux
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.89/9: Рейтинг темы: голосов - 9, средняя оценка - 4.89
1 / 1 / 4
Регистрация: 11.08.2014
Сообщений: 41
1

Squid некорректные логи https

27.06.2019, 21:30. Просмотров 1594. Ответов 6

Коллеги, доброго времени суток.

У меня проблема с проксированием трафика в Squid в режиме прозрачном режиме с bump ssl.
Есть сервер CentOs с двумя сетевухами (internal LAN 192.168.2.1/23, external LAN 192.168.0.11/25), развернут NAТ.

Версия CentOS
Код
centos-release-7-6.1810.2.el7.centos.x86_64
Установлен squid
[root@SR-GATE]# squid -v
Squid Cache: Version 3.5.8
Service Name: squid
configure options: '--build=x86_64-redhat-linux-gnu' '--host=x86_64-redhat-linux-gnu' '--program-prefix=' '--prefix=/usr' '--exec-prefix=/usr' '--bindir=/usr/bin' '--sbindir=/usr/sbin' '--sysconfdir=/etc' '--datadir=/usr/share' '--includedir=/usr/include' '--libdir=/usr/lib64' '--libexecdir=/usr/libexec' '--sharedstatedir=/var/lib' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--exec_prefix=/usr' '--libexecdir=/usr/lib64/squid' '--localstatedir=/var' '--datadir=/usr/share/squid' '--sysconfdir=/etc/squid' '--with-logdir=$(localstatedir)/log/squid' '--with-pidfile=$(localstatedir)/run/squid.pid' '--disable-dependency-tracking' '--enable-follow-x-forwarded-for' '--enable-auth' '--enable-auth-basic=DB,LDAP,NCSA,NIS,PAM,POP3,RADIUS,SASL,SMB,getpwnam' '--enable-auth-ntlm=smb_lm,fake' '--enable-auth-digest=file,LDAP,eDirectory' '--enable-auth-negotiate=kerberos,wrapper' '--enable-external-acl-helpers=wbinfo_group,kerberos_ldap_group' '--enable-cache-digests' '--enable-cachemgr-hostname=localhost' '--enable-delay-pools' '--enable-epoll' '--enable-icap-client' '--enable-ident-lookups' '--enable-linux-netfilter' '--enable-removal-policies=heap,lru' '--enable-snmp' '--enable-storeio=aufs,diskd,ufs,rock' '--enable-wccpv2' '--enable-esi' '--enable-ssl-crtd' '--enable-icmp' '--with-aio' '--with-default-user=squid' '--with-filedescriptors=16384' '--with-dl' '--with-openssl' '--with-pthreads' '--with-included-ltdl' '--disable-arch-native' '--enable-ecap' '--without-nettle' 'build_alias=x86_64-redhat-linux-gnu' 'host_alias=x86_64-redhat-linux-gnu' 'CFLAGS=-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic' 'LDFLAGS=-Wl,-z,relro ' 'CXXFLAGS=-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -fPIC' 'PKG_CONFIG_PATH=%{_PKG_CONFIG_PATH}:/usr/lib64/pkgconfig:/usr/share/pkgconfig' --enable-ltdl-convenience
Установлен openssl
Код
[root@SR-GATE]# openssl version
OpenSSL 1.0.2k-fips 26 Jan 2017

Squid.conf
acl localnet src 192.168.2.0/23
acl localnet src fc00::/7 # RFC 4193 local private network range
acl localnet src fe80::/10 # RFC 4291 link-local (directly plugged) machines

acl SSL_ports port 443
acl Safe_ports port 80 # 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

#
# Recommended minimum Access Permission configuration:
#
# Deny requests to certain unsafe ports
http_access deny !Safe_ports

# Deny CONNECT to other than secure SSL ports
http_access deny CONNECT !SSL_ports

# Only allow cachemgr access from localhost
http_access allow localhost manager
http_access deny manager

#Enable quick shutdown
shutdown_lifetime 0 seconds

#Enable transparent proxy with SSL bump
http_port 3126 intercept
https_port 3127 intercept ssl-bump generate-host-certificates=on dynamic_cert_mem_cache_size=16MB cert=/etc/squid/ssl_cert/myCA.pem options=NO_SSLv3
http_port 3128 ssl-bump generate-host-certificates=on dynamic_cert_mem_cache_size=16MB cert=/etc/squid/ssl_cert/myCA.pem

#Configure SSL Bump for all sites
acl broken_sites dstdom_regex xyzbank.com
acl monitor_domains dstdom_regex youtube.com facebook.com ytimg.com googlevideo.com ggpht.com
acl monitor_domains2 dst 216.58.196.110 216.58.199.174 #youtube connect works over IP
ssl_bump none localhost
ssl_bump none broken_sites #Avoid bumping financial sites such as banks
ssl_bump server-first monitor_domains #Bump facebook and youtube
ssl_bump server-first monitor_domains2 #Since youtube bump fails with just domain also add youtube serverIP

#Configure hostname
visible_hostname sr-gate.home.local

#Configure logging of query terms
strip_query_terms off #This will allow checking which youtube URLs were visited by user

# And finally deny all other access to this proxy
http_access deny all
Проксирование http проходит без проблем, но с https происходят проблемы, вместо урлов видны лишь ip.
Код
cat /var/loc/squid/access.log
1561658347.443 504 192.168.2.2 TCP_TUNNEL/200 6259 CONNECT 82.202.210.210:443 - ORIGINAL_DST/82.202.210.210 -
1561658437.474 521 192.168.2.2 TCP_TUNNEL/200 6261 CONNECT 185.17.9.130:443 - ORIGINAL_DST/185.17.9.130 -
1561658527.531 634 192.168.2.2 TCP_TUNNEL/200 6261 CONNECT 185.17.9.130:443 - ORIGINAL_DST/185.17.9.130 -
1561658617.628 715 192.168.2.2 TCP_TUNNEL/200 6259 CONNECT 185.17.9.130:443 - ORIGINAL_DST/185.17.9.130 -
1561658707.673 657 192.168.2.2 TCP_TUNNEL/200 6262 CONNECT 95.213.134.167:443 - ORIGINAL_DST/95.213.134.167 -
1561658757.692 2550 192.168.2.2 TCP_TUNNEL/200 4483 CONNECT 173.194.222.94:443 - ORIGINAL_DST/173.194.222.94 -
1561658797.725 823 192.168.2.2 TCP_TUNNEL/200 6264 CONNECT 95.213.134.167:443 - ORIGINAL_DST/95.213.134.167 -
1561658887.764 865 192.168.2.2 TCP_TUNNEL/200 6263 CONNECT 95.213.134.167:443 - ORIGINAL_DST/95.213.134.167 -
1561658977.823 923 192.168.2.2 TCP_TUNNEL/200 6264 CONNECT 95.213.134.167:443 - ORIGINAL_DST/95.213.134.167 -
1561659067.870 918 192.168.2.2 TCP_TUNNEL/200 6259 CONNECT 185.17.9.130:443 - ORIGINAL_DST/185.17.9.130 -
1561659157.902 949 192.168.2.2 TCP_TUNNEL/200 6260 CONNECT 185.17.9.130:443 - ORIGINAL_DST/185.17.9.130 -
1561659247.920 1011 192.168.2.2 TCP_TUNNEL/200 6257 CONNECT 185.17.9.130:443 - ORIGINAL_DST/185.17.9.130 -
1561659337.936 1007 192.168.2.2 TCP_TUNNEL/200 6259 CONNECT 82.202.208.46:443 - ORIGINAL_DST/82.202.208.46 -
Перекопал гугл, но не нашел решение своей проблемы.
Скажите, в чем может быть причина данного поведения, почему вместо урлов/доменных имен я вижу лишь ip ресурсов?

Настройку Squid производил согласно инструкции https://chimera40.wordpress.co... danalyzer/
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.06.2019, 21:30
Ответы с готовыми решениями:

Squid ограничения https канала
Добрый день, Собрал squid из исходников с боддержкой ssl и долго настраивал его на "обнаружение"...

Squid, не происходит DIRECT для HTTPS
Доброго времени суток! Установлен Squid+SquidGuard, с HTTP запросов происходит DIRECT на страницу...

Логи squid
доброго времени! подскажите как прописать логи для squid чтобы они сыпались исключительно в...

Написание программы для того чтобы парсить логи Squid
Кто сможет помочь или полностью написать минимальный набор функций или кто-то может быть уже писал...

6
914 / 631 / 198
Регистрация: 08.09.2013
Сообщений: 1,690
27.06.2019, 22:25 2
vang95, Логи пишут, что ваши браузеры соединяются методом CONNECT. Тем не менее выше вы пишете о прозрачном режиме.
В настройках у вас есть два прозрачных режима с подменой сертификатов и без нее, и зачем-то обычный режим с подменой сертификатов.
Я не читал вашу инструкцию, может не понимаю ваших задач.
На вскидку, предлагаю определиться, либо подмена сертификатов, либо CONNECT.
У меня при методе CONNECT имена сайтов в логах пишутся. Тем не менее, без подмены сертификатов по содетжимому вы фильтровать не сможете. С другой стороны, подменяя сертификаты, вы:
1. Должны предупредить пользователей, что все их данные, включая пароли и номера карт вами просматриваются.
2. получите проблемы с отображением некоторых сайтов
0
1 / 1 / 4
Регистрация: 11.08.2014
Сообщений: 41
28.06.2019, 12:23  [ТС] 3
Добрый день.
Squid работает в прозрачном режиме.
В браузере не введен прокси.
Насколько я понимаю, в моей конфигурации squid работает без подмены сертификатов в режиме ssl bump.
0
914 / 631 / 198
Регистрация: 08.09.2013
Сообщений: 1,690
28.06.2019, 17:21 4
Цитата Сообщение от vang95 Посмотреть сообщение
Squid работает в прозрачном режиме.
В браузере не введен прокси.
На каком порту сквид получает https запросы?
0
1 / 1 / 4
Регистрация: 11.08.2014
Сообщений: 41
29.06.2019, 08:35  [ТС] 5
http в прозрачном на 3126
https в прозрачном на 3127

iptables
Код
# Generated by iptables-save v1.4.21 on Sat Jun 29 08:30:54 2019
*filter
:INPUT ACCEPT [53474:55766396]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [86612:75405429]
-A INPUT -i eth1 -p tcp -m tcp --dport 3128 -j ACCEPT
-A INPUT -i eth1 -p tcp -m tcp --dport 3127 -j ACCEPT
-A INPUT -i eth1 -p tcp -m tcp --dport 3126 -j ACCEPT
-A FORWARD -s 192.168.2.0/23 -i eth1 -o eth0 -j ACCEPT
-A FORWARD -d 192.168.2.0/23 -i eth0 -o eth1 -j ACCEPT
-A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
COMMIT
# Completed on Sat Jun 29 08:30:54 2019
# Generated by iptables-save v1.4.21 on Sat Jun 29 08:30:54 2019
*nat
:PREROUTING ACCEPT [16877:2707487]
:INPUT ACCEPT [3481:248192]
:OUTPUT ACCEPT [2807:168655]
:POSTROUTING ACCEPT [2807:168655]
-A PREROUTING -s 192.168.2.0/23 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3126
-A PREROUTING -s 192.168.2.0/23 -p tcp -m tcp --dport 443 -j REDIRECT --to-ports 3127
-A POSTROUTING -s 192.168.2.0/23 -o eth0 -j SNAT --to-source 192.168.0.11
COMMIT
# Completed on Sat Jun 29 08:30:54 2019
# Generated by iptables-save v1.4.21 on Sat Jun 29 08:30:54 2019
*mangle
:PREROUTING ACCEPT [454148:187084424]
:INPUT ACCEPT [105752:84957899]
:FORWARD ACCEPT [335857:100222497]
:OUTPUT ACCEPT [95846:76211927]
:POSTROUTING ACCEPT [431703:176434424]
COMMIT
# Completed on Sat Jun 29 08:30:54 2019
0
914 / 631 / 198
Регистрация: 08.09.2013
Сообщений: 1,690
29.06.2019, 13:24 6
Цитата Сообщение от vang95 Посмотреть сообщение
Насколько я понимаю, в моей конфигурации squid работает без подмены сертификатов в режиме ssl bump.
Bump режим и означает в первую очередь подмену сертификатов.
Цитата Сообщение от vang95 Посмотреть сообщение
https в прозрачном на 3127
В таком случае на первом шаге соединения форминуется фейковый CONNECT, используя информацию уровня tcp. Именно эта информация и логируется. Имени хоста на этом этапе Сквид просто не знает. Он его узнает позже, после расшифровки ssl трафика.
CONNECT при реальном непрозрачном проксировании содержит имя хоста.
Попробуйте вместо server-first указать современное bump.
0
1 / 1 / 4
Регистрация: 11.08.2014
Сообщений: 41
30.07.2020, 11:40  [ТС] 7
Лучший ответ Сообщение было отмечено Marinero как решение

Решение

Все очень просто оказалось, в конфигурационный файл требуется добавить (/etc/squid/squid.conf)

Код
 acl https_port port 443  
 logformat https %ts.%03tu %6tr %>a %Ss/%03>Hs %<st %rm %ssl::>sni %[un %Sh/%<a %mt  
 cache_access_log /var/log/squid3/access.log https https_port  
 acl http_port port 80  
 logformat http %ts.%03tu %6tr %>a %Ss/%03>Hs %<st %rm %ru %[un %Sh/%<a %mt.  
 cache_access_log /var/log/squid3/access.log http http_port
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.07.2020, 11:40

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Iptables + Squid (пустить юзера в обход squid'a)
Имеем: eth1 - смотрит наружу 1.2.3.4 eth0 - смотрит в локалку 192.168.0.0/24 Шлюз debian 8.3 ...

Логи, логи и еще раз логи
Кто-нибудь может подкинуть информацию, как записать полный curl response в log? Причем не в...

Некорректные вычисления
В Дельфи я новичок, поэтому стыкнулся с проблемой - программа не проводит вычисления по формуле,...

Некорректные ссылки
Доброго времени суток! Существует проблема со ссылками. На сайте имеется меню (пример: пункт...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.