【问题标题】:Android: Connecting to Squid proxy with SSL bumping not workingAndroid:使用 SSL 碰撞连接到 Squid 代理不起作用
【发布时间】:2020-06-23 08:32:44
【问题描述】:

我有一个使用 HTTPS/SSL 安装的 Squid 代理。当我在 Firefox 中安装生成的证书并设置代理时,一切看起来都很好——也就是说,我可以看到所有 HTTPS 请求 Squid 日志文件。

但是,当我在我的 Android 手机中安装相同的证书(并更改代理设置)时,它似乎只能在浏览器中工作。我首先更改了代理设置,页面没有加载,然后我安装了证书,一切都很好。

由于连接问题,我尝试过的所有其他应用都出现错误。我可以在 Squid 日志中看到 CONNECT 请求,但看不到其他请求(例如,GET、POST)。我知道有些应用完全忽略了系统代理设置,但很多都使用它们。

奇怪的是,一切都在旧的 Android 6.0 手机上运行。在这里,使用代理并依赖 HTTPS 请求的相同应用程序运行良好。现在我有一部更新的 Android 9.0 手机,到目前为止所有应用程序都失败了。应用程序显然使用代理(查看日志中的 CONNECT 条目),但不使用/确认已安装的证书。

我目前认为新手机或新 Android 版本是问题的原因,因为它以前在旧手机和 Android 版本上运行。我怎样才能最好地追踪这个问题?

【问题讨论】:

    标签: android https proxy squid


    【解决方案1】:

    Android 连接到特定域以验证连接。 将此位添加到 squid.conf

    # Mobile
    acl google-servers dstdom_regex "/etc/squid/google.txt"
    always_direct allow google-servers
    

    接下来,使用以下内容创建此文件 /etc/squid/google.txt:

    (^|\.)android\.clients\.google\.com$
    (^|\.)ggpht\.com$
    (^|\.)google\.com$
    (^|\.)www\.googleapis\.com$
    (^|\.)gstatic\.com$
    (^|\.)gvt1\.com$
    (^|\.)1e100\.net$
    (^|\.)google\.co\.uk$
    

    激活,运行:

      ./squid -k reconfigure
    

    【讨论】:

      【解决方案2】:

      “从 Android 7 开始,应用程序会忽略用户提供的证书,除非它们被配置为使用它们。由于大多数应用程序没有明确选择使用用户证书 [...] 我们需要将我们的 CA 证书放在系统证书中商店”

      https://docs.mitmproxy.org/stable/howto-install-system-trusted-ca-android/

      不过,这似乎并不容易做到……

      【讨论】:

        猜你喜欢
        • 2021-08-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-05-03
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多