Autentikasi HMAC paket OpenVPN gagal: lapisan yang mana?
Ketidakcocokan tag paket bukan putusan tentang akun. Bandingkan profil yang dimuat proses, lalu pengaturan kanal kontrol dan kanal data, sebelum menyentuh kunci.
Dua kegagalan dilaporkan dengan kosakata yang sama dan hampir tidak punya kesamaan. Yang satu adalah paket yang tag autentikasinya tidak terverifikasi; yang lain adalah orang yang kredensialnya ditolak. Memperlakukan yang pertama sebagai yang kedua membuat Anda mencari kata sandi yang tidak pernah menjadi masalah.
Pesan itu menyebut sebuah lapisan, dan pekerjaan yang berguna adalah memutuskan lapisan mana sebelum mengganti materi apa pun. Membandingkan para kandidat berdampingan adalah cara tercepat untuk melihat perbedaannya.
Dua kegagalan yang berbagi satu kata
Kesalahan autentikasi paket muncul saat memproses lalu lintas: tag atau digest pada paket yang diterima tidak cocok dengan yang dihitung penerima. Penolakan akun terjadi setelah pertukaran login diurai, dan itu menyebut pengguna, bukan paket. Pesan ketiga, tentang tidak dapat menemukan HMAC pada paket masuk, berbeda lagi, karena di sana paket tiba sama sekali tanpa elemen autentikasi yang diharapkan. Prefiks log lengkap memberi tahu Anda mana dari ketiganya yang Anda miliki, dan prefiks itu biasanya hal pertama yang dihapus saat kesalahan ditempel ke tiket.
Perbedaan itu mengubah perbaikan. Yang satu menuntut pengaturan kanal yang cocok, yang lain status akun, dan yang ketiga profil yang tidak cocok dengan listener yang dicapainya.
Bandingkan apa yang sebenarnya dimuat proses yang berjalan
Berkas yang benar di disk tidak membuktikan apa pun tentang proses yang dimulai sebelum berkas itu diedit. Periksa profil yang dipilih, endpoint yang dihubungi, dan apakah layanan sudah dimuat ulang sejak perubahan. Pastikan juga endpoint itu milik profil, karena instans atau layanan lain bisa mendengarkan di tempat berkas lama mengharapkan hal lain.
Mengekspor ulang profil yang didukung dari sumber yang sama adalah perbandingan murah, karena menghilangkan selisih antara apa yang Anda yakini terkonfigurasi dan apa yang benar-benar dikirim klien. Membuat materi kunci baru adalah langkah yang jauh lebih besar, dan itu hanya membantu jika kedua ujung mengadopsinya bersama. Mengganti satu sisi secara lokal justru menciptakan kembali ketidakcocokan yang hendak Anda hilangkan.
Bandingkan kanal kontrol dengan kanal data
Dua mekanisme mengautentikasi bagian koneksi yang berbeda dan dikonfigurasi secara terpisah, seperti yang referensi opsi 2.6 uraikan. tls-auth menambahkan HMAC ke paket kanal kontrol dan mengambil argumen arah yang harus berlawanan pada kedua peer, sedangkan tls-crypt melindungi kanal kontrol dengan kunci bersama sebagai gantinya. Keduanya bukan pemeriksaan integritas kanal data itu sendiri. Dengan sandi data AEAD, pemeriksaan itu tertanam di dalam sandi, sehingga auth digest terpisah tidak digunakan seperti pada sandi non-AEAD.
Artinya sebuah baris auth yang disalin dari penerapan non-AEAD yang berfungsi bisa jadi tidak relevan dalam penerapan AEAD, dan penerapan AEAD masih bisa gagal di kanal kontrol jika tls-auth kuncinya atau arahnya salah. Bandingkan setiap pengaturan dengan peer, bukan dengan konfigurasi yang diingat.
Bandingkan perbaikannya dengan properti yang Anda lepaskan
Menonaktifkan autentikasi paket membungkam peringatan dan menghapus pemeriksaan yang menemukan ketidakcocokan, yang tidak sama dengan memperbaiki profil. Tanyakan properti apa yang Anda lepaskan dan apakah rancangan masih bertahan tanpanya.
Baca peristiwa relevan pertama di kedua ujung sebelum mengubah apa pun, lalu ubah hanya ketidakcocokan yang disebutnya.
Jika percobaan berikutnya maju ke kesalahan sertifikat atau login, itu kemajuan dan bukan kemunduran: lapisan paket kini sepakat dan koneksi sudah bergerak maju. Catat pengaturan yang menghasilkan perubahan itu, agar orang berikutnya mewarisi penjelasan, bukan misteri.