Squid https не работает

Некорректно работает фильтрация HTTPS в Squid

Настроил squid 4 под ubuntu. Все вроде хорошо, правила фильтрации работают, но есть небольшая проблема. Когда я пытаюсь открыть HTTPS страницу из списка запрещенных, то получаю вот такое сообщение в Chrome:

Не удается получить доступ к сайту Веб-страница по адресу https://vk.com/, возможно, временно недоступна или постоянно перемещена по новому адресу. ERR_TUNNEL_CONNECTION_FAILED

Либо HTTP 403 Forbidden в IE.

Если пытаться открыть HTTP страницу из списка заблокированных, то картинка squid и его же сообщение об ошибке появляются без проблем.

Подскажите пожалуйста, в сторону каких настроек смотреть чтобы при попытке открыть HTTPS появлялись такие же сообщения, как и для HTTP?

Ни в какую. Браузер не установит соединение с прокси, т.к. не будет ему доверять

Возможно, ты хочешь MITM ( ssl-bump ), но обычно это неудачная мысль

То есть при блокировке HTTPS сайтов никакое информативное сообщени вывести нельзя?

Про ssl-bump читаю прямо сейчас, но не до конца понял описание. На оф.сайте написано что эта функция используется для обработки HTTP как HTTPS, если включен ssl_bump. Но в этом случае получается у меня все страницы будут сваливаться в HTTP 403 Forbidden, так? Если я ошибся и это то, что нужно, то почему это неудачная мысль?

Попробовал ввести в конфиг ssl_bump, добавив строчки

acl social123 ssl::server_name .vk.com
ssl_bump peek social123

Пробовал менять на ssl:server_name, но при проверке конфига все равно выдает

FATAL: Invalid ACL type ‘ssl::server_name’
FATAL: Bungled /etc/squid/squid.conf line 64: acl social123 ssl::server_name .vk.com

То есть при блокировке HTTPS сайтов никакое информативное сообщени вывести нельзя?

Представь если можно бы ло бы. Если каждый вася может тебе по https вместо внетаклика выдать фишинговую станицу.

Когда я пытаюсь открыть HTTPS страницу из списка запрещенных, то получаю вот такое сообщение
.
чтобы при попытке открыть HTTPS появлялись такие же сообщения, как и для HTTP?

Подмена ответа сервера — это MitM атака, от чего и придумали SSL.
Вы сможете показать в ответ свою заглушку, только если сможете её подписать сертификатом, которому доверяет браузер.
А в случае с certificate pinning — вообще никак.

Даже если сделать заглушку, подписанную доверенным сертификатом, настроить её через squid все равно нельзя, верно?

Хм, выходит придется оставить все как есть. Спасибо всем за ответы.

Если у тебя будет сертификат vk, то конечно же можешь. Но я не думаю что ты его сможешь добыть.

почему у меня всё открывает? что-то вы делаете не так

Видимо вы раздали своим клиентам свой CA

Открывает страницы squid при блокировке HTTPS? Вы что-то настраивали дополнительно? ssl_bump? Сертификаты?

сертификат?
не, просто вайтлист

Разверните мысль плиз. А то возможно я что-то в этой жизни пропустил.

Если у тебя будет сертификат vk, то конечно же можешь.

Опять сертификат. Ну сколько можно! Сертификат он у всех есть, вот ключа от него — нет.

Читайте также:  Как настроить разрешение страницы

Господа,кто в курсе, устраивать в организации ssl_bump это вообще законно ? Тот же касперский в 11 версии своего kes убрал проверку ssl трафика.

А законны блокировки рандомных ip роскомнадзором ?

Тот же касперский в 11 версии своего kes убрал проверку ssl трафика.

Интересно что он до этого делал с этой проверкой? Рандомные байтики считал? Или внедрял свои CA на компы юзверей? Если второе, то за это и лопатой по морде получить можно. А первое бессмысленно.

Господа,кто в курсе, устраивать в организации ssl_bump это вообще законно ?

И при чем тут ssl_bump и закон? Вы бы ещё спросили, а законно ли при работе в компании читать корп. переписку.

Инфа для размышления:

И да, это mitm. Сертификаты придётся раздать всем клиентам в сети.

Корпоративную законно, иную нет.

Как выяснилось, squid действительно можно настроить на редирект HTTPS через ssl_bump. А чтобы он работал нужно вручную собрать пакет squid с поддержкой ssl.

У меня пока не получилось все запустить на версии 4.1.

После добавления в конфиг строчек

http_port 3128
https_port 3129 intercept ssl-bump connection-auth=off cert=/etc/squid/squidCA.pem
tls_outgoing_options min-version=1.0
tls_outgoing_options flags=DONT_VERIFY_PEER
always_direct allow all
ssl_bump server-first all
sslproxy_cert_error allow all

Squid падает с ошибкой

FATAL: Ipc::Mem::Segment::open failed to shm_open(/squid-tls_session_cache.shm): (2) No such file or directory
squid[11290]: Squid Cache (Version 4.1): Terminated abnormally.

https_port 3129 intercept ssl-bump connection-auth=off cert=/etc/squid/squidCA.pem

Но не могу понять где именно.

Я даже настраивал кэширование https сайтов. Но не хватает самой малости — распостранить сертификаты по машинам клиентов.

Распространить сертификат очень просто через GPO. А не поделитесь своим конфигом? Уже посмотрел несколько статей, но так и не понимаю почему после добавления

https_port 10.0.215.26:3129 intercept ssl-bump cert=/etc/squid/squidCA.pem

squid падает с ошибкой

● squid.service — Squid Web Proxy Server
Loaded: loaded (/lib/systemd/system/squid.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Mon 2019-07-29 22:23:46 MSK; 1s ago
Docs: man:squid(8)
Process: 15570 ExecStart=/usr/sbin/squid -sYC (code=exited, status=0/SUCCESS)
Process: 15553 ExecStartPre=/usr/sbin/squid —foreground -z (code=exited, status=0/SUCCESS)
Main PID: 15571 (code=exited, status=1/FAILURE)

Jul 29 22:23:46 test-squid-01 systemd[1]: squid.service: Killing process 16420 (ntlm_auth) with signal SIGKILL.
Jul 29 22:23:46 test-squid-01 systemd[1]: squid.service: Killing process 16433 (negotiate_kerbe) with signal SIGKILL.
Jul 29 22:23:46 test-squid-01 systemd[1]: squid.service: Killing process 16440 (ntlm_auth) with signal SIGKILL.
Jul 29 22:23:46 test-squid-01 systemd[1]: squid.service: Killing process 16476 (ntlm_auth) with signal SIGKILL.
Jul 29 22:23:46 test-squid-01 systemd[1]: squid.service: Killing process 16478 (ntlm_auth) with signal SIGKILL.
Jul 29 22:23:46 test-squid-01 systemd[1]: squid.service: Killing process 16479 (ntlm_auth) with signal SIGKILL.
Jul 29 22:23:46 test-squid-01 systemd[1]: squid.service: Killing process 16480 (ntlm_auth) with signal SIGKILL.
Jul 29 22:23:46 test-squid-01 systemd[1]: squid.service: Killing process 16481 (ntlm_auth) with signal SIGKILL.
Jul 29 22:23:46 test-squid-01 systemd[1]: squid.service: Killing process 16483 (squid) with signal SIGKILL.
Jul 29 22:23:46 test-squid-01 systemd[1]: squid.service: Failed with result ‘exit-code’.

Спасибо. У меня ошибка оказалась в том, что я не выполнил

/usr/lib/squid/security_file_certgen -c -s /var/spool/squid/ssl_db -M 4MB

В конфиге добавил

http_port 10.0.5.26:3129 ssl-bump generate-host-certificates=on dynamic_cert_mem_cache_size=4MB connection-auth=off cert=/etc/squid/squidCA.pem key=/etc/squid/squidCA.pem

Теперь осталось только настроить заглушку для определенных сайтов и групп юзеров.

Читайте также:  Не работает браузер вивальди

Пытаюсь настроить подмену сертификатов для всех HTTPS сайтов. Конфиг вот такой

Сейчас пользователи из группы InternetDenySocial не могут зайти на сайты из «/etc/squid/db/social.acl». Все остальное открывается, но подмены сертификата не происходит. Если убрать intercept и https_port, то при запуске squid появляется ошибка

Какой порт у юзеров настроен ?

В общем, получилось настроить все как хотелось. И с подменой всех сертификатов и с подменой и перенаправлением на страницу ошибки доступа только для запрещенных ресурсов, но не до конца понял как это работает.

Приведу свой конфиг. Основная часть:

Дальше конфиг меняется в зависимости от того, нужно ли менять все сертификаты или только для сайтов из ACL.

Подмена сертификатов для всех HTTPS соединений:

Подмена сертификата только для сайтов из ACL:

Splice можно поменять на Peek.

Непонятно вот что: 1) Почему настройка http_port, а не https_port? 2) Шаги Ssl_Bump проиллюстрированы тут — https://wiki.squid-cache.org/Features/SslPeekAndSplice ? 3) Сложно сформулировать что именно непонятно. Почему во втором случае сертификат меняется только при запросе на страницу из ACL? В этом случае squid проходит шаги SslBump1 и 2, TCP Connect/Accept (1), TLS ClientHello/ServerHello (2) и, при совпадении с ACL, меняет сертификат на свой? Как он понимает что можно и нужно менять сертификат? 4) В моем случае же не нужны параметры always_direct, sslproxy_cert_errors, tls_outgoing_options, верно?

Я к сожалению тоже не очень шарю. Каждую мысль приходится проверять практикой.

Источник

squid https не работает

Сабж. Хочу через сквид пускать авторизованных товарищей на сайты с https, FreeBSD 9.2, сквид 3.4

http через 3128 работает, а вот https-сайты через 3129 нет браузер пишет «не удаётся подключиться с сайту»

auth_param basic program /usr/local/libexec/squid/basic_ncsa_auth /usr/local/etc/squid/passwd

auth_param basic children 5

auth_param basic realm Squid proxy-caching web server

auth_param basic credentialsttl 2 hours

auth_param basic casesensitive off

acl passwd proxy_auth REQUIRED

http_access allow passwd

http_access allow all

#acl localnet src 10.0.0.0/8 # RFC1918 possible internal network

#acl localnet src 172.16.0.0/12 # RFC1918 possible internal network

#acl localnet src 0.0.0.0/8 # RFC1918 possible internal network

#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

http_access deny !Safe_ports

http_access deny CONNECT !SSL_ports

http_access allow localhost manager

http_access deny manager

#http_access allow localnet

#http_access allow localhost

#http_access deny all

https_port 3129 ssl-bump transparent generate-host-certificates=on dynamic_cert_mem_cache_size=4MB cert=/usr/local/etc/squid/ssl_cert/myCA.pem

sslproxy_cert_error allow all

always_direct allow all

ssl_bump server-first all

sslcrtd_program /usr/local/libexec/squid/ssl_crtd -s /usr/local/ssl_db -M 4MB

cache_dir ufs /var/squid/cache 100 16 256

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

2017/04/25 00:59:44 kid1| clientNegotiateSSL: Error negotiating SSL connection on FD 129045: error:1407609B:SSL routines:SSL23_GET_CLIENT_HELLO:https proxy request (1/-1)

2017/04/25 00:59:45 kid1| clientNegotiateSSL: Error negotiating SSL connection on FD 129045: error:1407609B:SSL routines:SSL23_GET_CLIENT_HELLO:https proxy request (1/-1)

2017/04/25 00:59:50 kid1| clientNegotiateSSL: Error negotiating SSL connection on FD 129045: error:1407609B:SSL routines:SSL23_GET_CLIENT_HELLO:https proxy request (1/-1)

2017/04/25 01:00:24 kid1| clientNegotiateSSL: Error negotiating SSL connection on FD 129045: error:1407609B:SSL routines:SSL23_GET_CLIENT_HELLO:https proxy request (1/-1)

2017/04/25 01:01:25 kid1| clientNegotiateSSL: Error negotiating SSL connection on FD 38782: error:1407609B:SSL routines:SSL23_GET_CLIENT_HELLO:https proxy request (1/-1)

2017/04/25 01:02:17 kid1| clientNegotiateSSL: Error negotiating SSL connection on FD 69136: error:1407609B:SSL routines:SSL23_GET_CLIENT_HELLO:https proxy request (1/-1)

2017/04/25 01:03:20 kid1| clientNegotiateSSL: Error negotiating SSL connection on FD 44127: error:1407609B:SSL routines:SSL23_GET_CLIENT_HELLO:https proxy request (1/-1)

база создана ls /usr/local/ssl_db certs index.txt size

сертификат сгнерён /usr/local/etc/squid]# ls -la /usr/local/etc/squid/ssl_cert/myCA.pem -r——— 1 squid squid 3176 Apr 24 23:51 /usr/local/etc/squid/ssl_cert/myCA.pem

Сделай так, должно помочь

s убрать в смысле? нет, пишет другое

2017/04/26 02:25:43.915 kid1| SECURITY ALERT: Host header forgery detected on local=78.108.178.10:3129 remote=178.69.42.80:37258 FD 149 flags=33 (intercepted port does not match 443) 2017/04/26 02:25:43.915 kid1| SECURITY ALERT: By user agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 Safari/537.36 OPR/44.0.2510.1449 2017/04/26 02:25:43.915 kid1| SECURITY ALERT: on URL: sitecheck2.opera.com:443 2017/04/26 02:25:43.915 kid1| abandoning local=78.108.178.10:3129 remote=178.69.42.80:37258 FD 149 flags=33 2017/04/26 02:25:45.159 kid1| SECURITY ALERT: Host header forgery detected on local=78.108.178.10:3129 remote=178.69.42.80:37262 FD 150 flags=33 (intercepted port does not match 443) 2017/04/26 02:25:45.159 kid1| SECURITY ALERT: By user agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 Safari/537.36 OPR/44.0.2510.1449 2017/04/26 02:25:45.159 kid1| SECURITY ALERT: on URL: 2ip.ru:443 2017/04/26 02:25:45.159 kid1| abandoning local=78.108.178.10:3129 remote=178.69.42.80:37262 FD 150 flags=33 2017/04/26 02:25:45.160 kid1| SECURITY ALERT: Host header forgery detected on local=78.108.178.10:3129 remote=178.69.42.80:37266 FD 152 flags=33 (intercepted port does not match 443) 2017/04/26 02:25:45.160 kid1| SECURITY ALERT: By user agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 Safari/537.36 OPR/44.0.2510.1449 2017/04/26 02:25:45.160 kid1| SECURITY ALERT: on URL: 2ip.ru:443

браузер отвечает «Не удается получить доступ к сайту

Веб-страница по адресу https://2ip.ru/, возможно, временно недоступна или постоянно перемещена по новому адресу.»

Замените transparent на intercept. Прокси используется как прозрачное или как?

Источник

Оцените статью