Kebanyakan perdebatan tentang digest OpenVPN bermula dengan paket yang salah. Membaca auth SHA256 sebagai “terima hanya rakan yang menawarkan SHA256” ialah perkara pertama yang perlu dilupakan. Pilihan ini menamakan digest untuk paket tertentu, dan paket mana itu bergantung pada saluran dan sama ada saluran itu AEAD. Lalui empat soalan di bawah mengikut urutan; setiap satu menyempitkan apa yang boleh dimaksudkan oleh tetapan itu dalam penggunaan anda.

Namakan saluran yang tetapan itu patut lindungi

OpenVPN mempunyai saluran kawalan yang membawa trafik jabat tangan TLS dan saluran data yang membawa muatan terowong. Digest auth memainkan peranan dalam kedua-duanya, tetapi bukan peranan yang sama, dan profil jarang menjadikan perbezaannya kelihatan. Catat yang mana satu daripada kedua-duanya yang anda cuba hadkan sebelum menyentuh fail konfigurasi.

Jadual di bawah ialah versi ringkas tentang cara pilihan yang sama mendarat dalam setiap konteks.

ContextWhat the auth digest does
Data channel without AEADSelects the HMAC digest that authenticates each data packet
Data channel with AEAD, such as GCMUnused for the data channel; the cipher authenticates its own packets
Control channel protected by tls-authSelects the HMAC digest for that protection, even when data is AEAD

Semak sama ada saluran data itu AEAD sebelum anda bergantung padanya

Jika sifer data yang dirundingkan ialah AES-GCM atau CHACHA20-POLY1305, saluran data mengesahkan dirinya sendiri dan digest berasingan tidak melakukan kerja yang mungkin anda bayangkan. Kedua-duanya ialah binaan AEAD, jadi integriti dihasilkan oleh operasi yang sama yang menyulitkan muatan. Itu bukan penurunan taraf, tetapi ia bermakna dasar yang dijustifikasikan sebagai “setiap paket data ialah HMAC-SHA256” adalah salah dari segi fakta pada terowong itu. Sahkan nilai yang dirundingkan dalam log pelayan atau output status klien sebelum menulis semula dasar itu.

Periksa sifer yang benar-benar dirundingkan dan bukan senarai dalam profil, kerana rundingan boleh mendarat pada ahli lain set itu. data-ciphers AES-256-GCM:AES-128-GCM ialah senarai rundingan, dan kedua-dua entri adalah AEAD, jadi tiada satu pun daripadanya menggunakan digest auth untuk perlindungan muatan.

Anggap perlindungan saluran kawalan sebagai keputusan tersendiri

tls-auth menambah HMAC pada paket saluran kawalan dan mengambil digestnya daripada tetapan auth, sebab itulah terowong AEAD masih boleh mempunyai digest bermakna yang dikonfigurasikan. tls-crypt ialah susunan berbeza dengan perlindungan tetapnya sendiri, jadi jangan andaikan ia mewarisi setiap sifat tls-auth. Baca dokumentasi untuk mekanisme yang anda pilih dan bukannya memindahkan andaian antara keduanya.

Kedua-dua rakan juga mesti bersetuju tentang susunan dan tentang arah kunci. Digest yang sepadan tetapi fail kunci yang digunakan dalam arah yang salah menghasilkan jabat tangan yang gagal atas sebab yang tidak dapat dijelaskan oleh tetapan digest.

Asingkan auth daripada rundingan sifer dan sijil

Tiga tetapan sentiasa dikelirukan: digest auth, senarai sifer data dan algoritma tandatangan sijil. Menukar yang pertama tidak mengeluarkan semula sijil, tidak memilih digest tandatangannya dan tidak mencipta kaedah pengguna-kata laluan. Definisi pilihan protokol dalam sumber OpenVPN 2.6 menerangkan setiap satu dalam bahagiannya sendiri, yang merupakan peringatan berguna bahawa ia adalah tombol yang bebas.

Apabila rakan enggan menyambung selepas perubahan digest, puncanya biasanya ketidakpadanan dalam salah satu daripada dua tetapan yang lain. Baca kedua-dua hujung sebelum menukar mana-mana satu.

Tuliskan dasar itu dan bandingkan dengan konfigurasi yang sedang berjalan

Kenyataan peringkat armada harus menamakan mod saluran data yang dibenarkan dan perlindungan saluran kawalan yang dipilih secara eksplisit, dalam ayat yang sama. Ayat itu boleh diuji; “kami menggunakan SHA256” tidak. Kemudian bandingkannya dengan profil pelayan dan klien yang berkesan dan bukannya dengan templat dalam repositori.

Akhiri dengan merekodkan apa yang sebenarnya dirundingkan oleh setiap terowong dan mekanisme mana yang mengesahkan paketnya. Baris auth yang kelihatan dalam profil hanyalah bukti niat konfigurasi, dan niat ialah bahagian pemeriksaan yang paling murah.

Artikel berkaitan