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

Это сработает.

Другие вопросы по тегам