是否可以讓 APT 接受“無效”證書?
我今天發現了一件有趣的事。所以,我有 Kali Linux,我正在嘗試使用 repo http://http.kali.org/kali完全更新系統。一切都很好,直到我因為 backdoor-factory 和 mimikatz 而被拒絕 403。起初我以為是伺服器配置錯誤,所以忽略了它,但後來我很好奇,決定將 URL 彈出到 Firefox 中。果然,我的大學阻止了這些特定的 URL,但在 repo 中沒有其他任何東西。
我決定檢查我是否可以在 https 中載入 URL(是的,我知道這是一個很長的鏡頭,因為大多數(afaik)APT 伺服器甚至根本不支持 https)並發現它確實有效,但只有在接受時archive-8.kali.org 的證書。(是的,我知道無效的證書不好,但我想如果它使用 GPG 來檢查有效性並且它使用 http 並且沒有加密,那為什麼不呢)。
另外,我知道我可以使用https://archive-8.kali.org/kali代替舊的 url 並且已經這樣做了,但是我詢問接受無效證書的原因是如果這個解決方案只是切換域是不可能的。
您可以為 HTTPS 傳輸配置某些參數
/etc/apt/apt.conf.d/
— 有關詳細資訊,請參閱man apt.conf
(“獲取組”部分,“https”小節)。該項目還有一個有用的範例
trusted-apt
。例如,您可以完全禁用證書檢查:
// Do not verify peer certificate Acquire::https::Verify-Peer "false"; // Do not verify that certificate name matches server name Acquire::https::Verify-Host "false";
……或僅針對特定主機:
Acquire::https::repo.domain.tld::Verify-Peer "false"; Acquire::https::repo.domain.tld::Verify-Host "false";
這些選項應該放在一個新創建的文件中,
/etc/apt/apt.conf.d/
這樣它們就不會干擾官方軟體包安裝的選項(這將創建自己的單獨文件)。文件名決定了解析選項文件的順序,因此您可能希望選擇一個相當高的數字,以便在其他軟體包安裝的選項之後解析您的選項。
80ssl-exceptions
例如,嘗試。