web-dev-qa-db-ja.com

UbuntuでSSL証明書の検証を完全に無効にする

私はLinuxを初めて使用し、企業システムのOracle virtualboxにインストールされたLinux on Ubuntu 18.0401 LTSを学習しています。会社にはプライベートプロキシネットワークがあります。だから私がubuntuで閲覧するすべてのウェブサイトはプロキシを通過し、会社が発行したSSL証明書を取得します。 chrome/firefoxから閲覧すると、信頼できないソースのようなエラーが表示されます。 >進む>例外を追加すると、特定のウェブサイトをしばらく閲覧できますが、しばらくすると同じエラーが発生します(おそらく証明書の詳細が変更されます)ブラウザでは少なくともそのような努力の後に閲覧できますが、Ubuntuソフトウェアはそのようなことをしませんオプションで、ソフトウェアをダウンロードできません。また、CLI apt-getが機能しません。誰かがSSL検証システム全体を完全にバイパスするように設定する方法を教えてもらえますか? --disable ssl certificate validationのようなものです。インターネットにシームレスに接続できるようにするには? (もちろん、プロキシによってブロックされたWebサイトは引き続きブロックされます)

よろしくお願いします!!

NK、Linuxマニア

PS:以下はFirefoxのエラーです。

「接続が安全ではありません。support.mozilla.orgの所有者がWebサイトを不適切に設定しています。情報の盗難を防ぐため、FirefoxはこのWebサイトに接続していません。」

11
Nikhil Kadi

UbuntuでSSL証明書の検証を完全に無効にする

幸いなことに、関連するアプリケーションを再度コンパイルし、コードで証明書の検証を無効にすることを除いて、それは実際には不可能です。

続行する適切な方法は、検証を無効にするのではなく、信頼できるものとしてプロキシによって使用されるCA証明書を追加することです。このようにして、警告なしでプロキシを使用できますが、すべての検証を無効にした場合のように、中間者攻撃に対して脆弱ではありません。

ネットワーク管理者に適切なCA証明書を尋ねて、たとえば here for Firefoxの説明に従ってインストールしてください(この特定のサイトはWindows用ですが、Linux上のFirefoxと同じです)。

44
Steffen Ullrich

これに関する正しい方法は、プロキシで使用されるCA証明書を追加することです。それらが頻繁にローテーションされる場合、これは確かに迷惑になるかもしれません。 mostアプリケーションで使用されるように証明書をインストールするには(独自の証明書ストアを使用するFirefoxとは異なり)、次の手順を実行します。

  1. Base64でエンコードされたX.509形式で証明書を取得します。
    それらを入手する簡単な方法は、IT管理/自動でChrome via SettingsAdvancedManage Certificates更新されたシステム。
  2. それらを/usr/local/share/ca-certificatesにコピーします
    (オプションで新しいサブフォルダーを作成します)
  3. 拡張子が.crtでない場合は、ファイルの名前を変更します。
  4. Sudo update-ca-certificates

この演習を繰り返すと、証明書が更新されない場合があります。最初に実行すると、これを回避できます。

Sudo rm -f /etc/ssl/certs/[certificate-name].pem

ここで、[certificate-name]は、元の(.crt)拡張子なしの証明書のファイル名と一致します。

注:Ubuntu 16.04でテスト済みですが、18-04でも同じように動作しますexpect

5
SensorSmith