web-dev-qa-db-ja.com

WeeChatは、「ssl_verify」オプションがオフになっている場合にのみ、SSLを使用してIRCサーバーに接続します

ターミナル(Arch Linux上)からWeeChatを使用すると、SSLを使用してFreenodeのサーバーに接続できます。問題ありません。

しかし、SSLを使用してsomeIRCサーバー(ircs.overthewire.orgなど))に接続しようとすると、WeeChatは次のエラー:

gnutls: peer's certificate is NOT trusted
gnutls: peer's certificate issuer is unknown
irc: TLS handshake failed
irc: error: Error in the certificate.

SSLを使用してこのようなサーバーに接続することは、 WeeChatのFAQ のアドバイスに従って、次のことを行った場合にのみ機能します。

/set irc.server.example.ssl_verify off

ただし、同じFAQは、安全性が低下するため、注意が必要だと言っています。

これは私が修正できるものですか、それともいくつかのIRCサーバー)で対処しなければならない問題ですか?

1
Nadim Hussami

TLS/SSLは、WebブラウザのHTTPSの場合と同じように機能します。サーバーの証明書が有効な場合は、Webサイトにアクセスできます。そうでない場合は、検証の失敗がサーバーの偽装の結果であるかどうかを知る方法がないため、ブラウザー(クライアント)から恐ろしい警告が表示されます。 、または管理者のサイトでの無害な設定ミスかどうか。

(そして残念ながら、ほとんどのIRCサーバーオペレーターしない TLS証明書を最新の状態に保つこと、または実際に最初から有効な証明書を取得することさえ気にしています。)

この場合、ircs.overthewire.org:6697には少なくとも以前は有効なTLS証明書がありますが、その発行者(StartCom Ltd.)は、さまざまな誤発行のためにほとんどのシステムで信頼されなくなりました。 OSにStartComルートCA証明書がインストールされていないため、「発行者が不明です」というメッセージが表示されます。

2つのオプションがあります。

  • CAベースの検証を使用する代わりに、別の方法を使用して検証したため、Weechatにこの特定の証明書を受け入れるように指示します。 (基本的にSSHで使用される方法です。)これを行うには、オプションirc.server.example.ssl_fingerprintを証明書のSHA-256フィンガープリント(または安全性の低いSHA-1)に設定します。

    サーバーによって現在提供されている証明書のフィンガープリントは次のとおりです。

    sha1   = 540fbfe14671915ee939b3a78b8ce52bf45c8e85
    sha256 = 5916acbdfff8e1474402c75ccba2858c23e93348607d122e4f3106cbed6ab1ff
    

    これは、サーバーオペレーターが証明書を変更するまで機能します。変更した時点で、新しいフィンガープリントでオプションを更新するか、ssl_verify = onをもう一度使用してみてください。

  • 推奨されません:StartComルートCAをダウンロードし、OS(または少なくともWeechat)で信頼できるものとしてマークします。

1
user1686