WeeChat hanya terhubung ke server IRC dengan SSL jika opsi "ssl_verify" dimatikan

1

Menggunakan WeeChat melalui terminal (di Arch Linux), saya dapat terhubung ke server Freenode dengan SSL. Tidak masalah di sana.

Tetapi jika saya mencoba untuk terhubung ke beberapa server IRC menggunakan SSL (misalnya ircs.overthewire.org), WeeChat memberikan kesalahan berikut:

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

Menghubungkan ke server semacam itu dengan SSL hanya berfungsi jika saya melakukan hal berikut, sesuai saran pada FAQ WeeChat :

/set irc.server.example.ssl_verify off

Namun, FAQ yang sama mengatakan bahwa saya harus berhati-hati, karena ini membuatnya kurang aman.

Apakah ini sesuatu yang dapat saya perbaiki sama sekali, atau apakah ini merupakan masalah yang harus saya jalani untuk beberapa server IRC?

Nadim Hussami
sumber

Jawaban:

1

TLS / SSL bekerja dengan cara yang sama di sini seperti halnya dengan HTTPS di browser web. Jika sertifikat server valid, Anda dapat mengakses situs web - jika tidak, Anda mendapat peringatan menakutkan dari browser (klien), karena tidak ada cara untuk mengetahui apakah kegagalan validasi adalah hasil dari server yang ditiru. , atau apakah itu salah konfigurasi di situs admin.

(Dan sayangnya, sebagian besar operator server IRC tidak peduli untuk selalu memperbarui sertifikat TLS mereka - atau bahkan mendapatkan sertifikat yang valid.)

Dalam hal ini, ircs.overthewire.org:6697memiliki sertifikat TLS yang setidaknya dulu valid, tetapi penerbitnya (StartCom Ltd.) tidak lagi dipercaya oleh sebagian besar sistem karena berbagai kesalahan. Anda mendapatkan pesan "penerbit tidak dikenal" karena OS Anda tidak lagi memiliki sertifikat CA StartCom root yang diinstal.

Anda memiliki dua opsi:

  • Alih-alih menggunakan validasi berbasis CA, beri tahu Weechat untuk menerima sertifikat khusus ini karena Anda telah memvalidasi menggunakan metode lain. (Pada dasarnya metode yang digunakan oleh SSH.) Untuk melakukan ini, setel opsi ke sidik jari SHA-256 sertifikat (atau SHA-1 yang kurang aman).irc.server.example.ssl_fingerprint

    Sidik jari dari sertifikat yang saat ini ditawarkan oleh server adalah:

    sha1   = 540fbfe14671915ee939b3a78b8ce52bf45c8e85
    sha256 = 5916acbdfff8e1474402c75ccba2858c23e93348607d122e4f3106cbed6ab1ff
    

    Ini akan bekerja sampai operator server mengubah sertifikat, di mana Anda harus memperbarui opsi dengan sidik jari baru, atau mencoba keberuntungan Anda dalam menggunakan ssl_verify = onlagi.

  • Tidak disarankan: Unduh StartCom root CA dan tandai sebagai tepercaya di OS Anda (atau setidaknya di Weechat).

grawity
sumber