Autentikasi EAP melalui IKEv2 dapat meminta klien memvalidasi dua nama server berbeda dalam satu koneksi. Gateway yang mengakhiri IKE menyajikan satu identitas, dan backend EAP yang mengakhiri pertukaran TLS internal dapat menyajikan identitas lain. Di strongSwan keduanya berada di blok konfigurasi berbeda, dan menaruh nama di blok yang salah menghasilkan kegagalan yang tampak seperti masalah sertifikat. Membaca validasi mana yang gagal itulah yang memberi tahu blok mana yang harus diedit.

Satu koneksi, dua identitas server

Identitas pertama milik pertukaran IKE. Klien memanggil sebuah alamat dan mengharapkan lawan membuktikan identitas tertentu, biasanya nama di sertifikat gateway.

Yang kedua milik EAP. Dengan PEAP atau TTLS, klien membangun terowongan TLS ke server autentikasi di dalam IKE SA, dan server internal itu menyajikan sertifikatnya sendiri. Ketika backend adalah host terpisah, namanya berbeda dari nama gateway. Klien yang hanya memeriksa nama pertama menerima apa pun yang dinyatakan yang kedua. Dan klien yang dikonfigurasi dengan satu nama di kedua tempat gagal begitu keduanya benar-benar berbeda.

Kedua nama berasal dari konfigurasi operator, bukan dari sertifikat yang membuat galat hilang. Menanyakan detail penerapan kepada operator lebih cepat daripada menebak dua nama host.

Bidang mana milik lapisan mana

Di swanctl, alamat dan identitas IKE adalah pengaturan terpisah, dan identitas EAP adalah yang ketiga.

Alamat jarak jauh memilih ke mana paket pergi, dan identitas jarak jauh menyatakan apa yang harus dibuktikan lawan. Harapan EAP ditulis di bawah blok local, karena ia menjelaskan pertukaran EAP klien ini, bukan perilaku IKE lawan. Penempatan itulah bagian yang salah dibaca orang. Nama itu berada di konfigurasi klien sementara menjelaskan server, dan justru karena itu tampak salah tempat.

connections {
    office {
        remote_addrs = vpn.example.com
        local {
            auth = eap-peap
            aaa_id = auth.example.com
        }
        remote {
            auth = pubkey
            id = vpn.example.com
        }
    }
}

Fragmen itu bukan koneksi lengkap; materi kepercayaan, kredensial, dan kebijakan koneksi anak tetap harus ada. Menyalinnya apa adanya ke berkas kerja akan menggantikan pengaturan yang masih Anda butuhkan.

Mengapa aaa_id tinggal di bawah local

Blok local menjelaskan apa yang dilakukan ujung ini selama autentikasi, termasuk metode yang akan dipakai dan identitas yang diharapkan dari ujung lain untuk metode itu. Tidak ada yang menyatakan server AAA berjalan di mesin yang sama.

Nilai bawaan membuat jebakannya lebih tajam. Bila tidak ada nilai eksplisit, identitas AAA yang diharapkan mengikuti identitas jarak jauh, sehingga penerapan satu nama berfungsi dan menyembunyikan perbedaannya. Nilai eksplisit hanya penting bila penerapan EAP benar-benar berakhir di tempat lain. Menyetelnya ke nama lain tanpa alasan itu menciptakan kegagalan yang tidak dapat direproduksi operator. Bacalah penerapannya sebelum mengarang nama kedua.

Pertahankan nilainya identik dengan yang benar-benar dinyatakan sertifikat backend, termasuk bentuk namanya. Titik di akhir atau wildcard yang tidak mencakup host sudah cukup membuat pemeriksaan gagal.

Antarmuka yang tidak dapat menyatakan pemisahan

Profil NetworkManager bukan antarmuka konfigurasi yang sama dengan swanctl. Plugin di belakangnya menyediakan kendali identitas yang lebih sempit, dan mana yang ada bergantung pada versi yang terpasang.

Itu penting ketika penerapan benar-benar membutuhkan dua nama. Bidang berlabel identitas server mungkin mengonfigurasi satu lapisan dan bukan yang lain, sehingga profil bisa tampak benar dan tetap gagal di pemeriksaan internal. Periksa apa yang didukung plugin terpasang sebelum menganggap profil dapat menyatakan susunan itu. Jika tidak bisa, pilihannya ada pada operator: jalur penyediaan lain, atau rancangan identitas server yang diperbaiki. Melemahkan PEAP atau menerima nama apa pun mengubah kebijakan autentikasi alih-alih memperbaikinya.

Alternatifnya bukan sesuatu yang dikarang di klien. Mintalah susunan yang didukung secara tertulis, lalu simpan jawaban itu bersama profil.

Bedakan ketidakcocokan identitas dari sertifikat kedaluwarsa

Ketidakcocokan nama dan sertifikat kedaluwarsa adalah kegagalan berbeda, dan log membedakannya. Baca pesannya sebelum memutuskan bidang mana yang diubah.

swanctl --list-conns
swanctl --list-sas
journalctl -u strongswan -n 50 --no-pager

Menyetel identitas AAA yang dimaksud tidak memperbarui sertifikat atau membangun kepercayaan pada penerbitnya, dan memperbarui sertifikat tidak memperbaiki nama yang diharapkan secara keliru. Baca validasi mana yang gagal sebelum menyunting bidang identitas lain. Lalu muat ulang konfigurasi dan pastikan koneksi yang dimuat menampilkan nilai yang Anda setel, karena berkas yang disunting tetapi tidak pernah dimuat tidak mengubah apa pun. Tuliskan kedua nama dan lapisannya di catatan penerapan.

Artikel terkait