Squid + squidGuard не обеспечивает безопасный поиск на duckduckgo.ru
Целью этого проекта является обеспечение безопасного поиска в основных поисковых системах.
Мне удалось установить Squid (версия 3.3) и SquidGuard, настроить Squid как прозрачный прокси с перехватом SSL...
Мне удалось обеспечить безопасный поиск в Google, Yahoo и Bing, но я не могу с Duckduckgo и не могу найти какое-либо разумное объяснение (ни самостоятельно, ни в Интернете).
Мой Squid.conf это:
acl localnet src 192.168.1.0/24 # 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) machin$
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
acl engines dstdomain .yahoo.com
acl engines dstdomain .duckduckgo.com
acl engines dstdomain .google.com
acl engines dstdomain .bing.com
cache deny all
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost manager
http_access deny manager
log_access allow all
url_rewrite_program /usr/bin/squidGuard -c /etc/squid/squidGuard.conf
url_rewrite_children 500
http_access allow localnet
http_access allow localhost
http_access deny all
http_port 3129
http_port 3128 intercept
https_port 3130 intercept ssl-bump connection-auth=off generate-host-certificates=on cert=/etc/squid/control.com.au.pem key=/etc/squid/control.com.au.pem cipher=ECDHE-RSA-RC4-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES128-SHA:DHE-RSA-CAMELLIA128-SHA:RC4-SHA:HIGH:!aNull:!MD5:!ADH
ssl_bump none localhost
ssl_bump server-first engines
#ssl_bump server-first all
ssl_bump none all
always_direct allow all
sslproxy_cert_error deny all
sslproxy_flags DONT_VERIFY_PEER
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
И правило переписывания в SquidGuard:
rewrite engines {
s@.*bing.com/search.*@&\&adlt=strict@i
s@.*bing.com/images.*@&\&adlt=strict@i
s@.*bing.com/videos.*@&\&adlt=strict@i
s@.*au.search.yahoo.com.*@&\&vm=r@i
s@.*duckduckgo.com.*@&\&kp=1@i
s@.*google.com.au.*@1&safe=strict@i
s@.*google.com.*@1&safe=strict@i
s@.*bing.com.*@&\&adlt=strict@i
}
Я вполне уверен, что правило перезаписи squidGuard подходит, потому что если я изменю конфигурацию Squid для перехвата ВСЕХ SSL-коммуникаций, тогда будет задействован duckduckgo.com. Вопрос в том, что я должен ввести вместо:
acl engines dstdomain .duckduckgo.com
??????????
заранее спасибо
3 ответа
Могу поспорить, что выше не работает с SquidGuard после 23 июня 2015 года
"23 июня 2015 года службы поиска Google переместят все результаты поиска за пределы шифрования SSL. Это означает, что все результаты поиска будут затем обрабатываться с использованием" https ", а безопасный веб-замок отображается в веб-браузерах".
Многие школы и бизнес настолько взбешены, что теперь используют:
"Функция" Перехват SSL ", которая может перехватывать и фильтровать результаты поиска Google после того, как Google внедрит их изменения. Это также позволяет впоследствии решать существующие проблемы с другими службами Google, такими как YouTube, которые уже перешли на SSL".
Вы можете включить прозрачный безопасный поиск для Google (http и https), установив:
Configure
set service dns forwarding options address=/.google.com/216.239.38.120
commit
save
СДЕЛАННЫЙ!!!! Оно работает.
ДОПОЛНИТЕЛЬНЫЙ БОНУС:
ЕСЛИ ВЫ ХОТИТЕ БЛОКИРОВАТЬ ВСЕ ДОСТУП, чтобы спросить и bing и duckduckgo, и другие домены, используйте:
configure
set service dns forwarding options address=/.bing.com/216.239.38.120
set service dns forwarding options address=/.ask.com/216.239.38.120
set service dns forwarding options address=/.duckduckgo.com/216.239.38.120
commit
save
Это блокирует домены bing, ask и duckduckgo как по http, так и по https.
Прошло чуть больше года после факта, но я обнаружил, что этот поток пытается решить эту проблему сам, так что здесь.
В вашей конфигурации Squid у вас есть:
acl engines dstdomain .yahoo.com
acl engines dstdomain .duckduckgo.com
acl engines dstdomain .google.com
acl engines dstdomain .bing.com
Но это подразумевает любой поддомен ниже duckduckgo.com (т.е. www.duckduckgo.com
, search.duckduckgo.com
), но нет duckduckgo.com
,
Когда я делаю поиск DDG, он просто использует https://duckduckgo.com/$search_string
, а так:
Короче говоря, ваш явный ssl-bump acl engines
не соответствует duckduckgo, потому что он ожидает поддоменов, а не сам домен. Когда вы изменяете свой конфиг на "поднять все", он, очевидно, ловит его тогда, так как он ловит все.
Если вы обменяете эту линию
acl engines dstdomain .duckduckgo.com
Для этой линии
acl engines dstdomain duckduckgo.com
Это сработает.