Sejauh yang saya mengerti, titik akses nirkabel menggunakan WPA-Enterprise (yaitu WPA plus 802.1X) dapat mengirim sertifikat kunci publik ke klien selama pengaturan koneksi. Klien dapat memverifikasi sertifikat ini untuk memastikan tidak terhubung ke AP jahat (mirip dengan validasi sertifikat di HTTPS).
Pertanyaan:
- Apakah saya mengerti ini dengan benar?
- Jika ya, apakah ada cara untuk mengunduh sertifikat AP? Idealnya, saya ingin solusi yang berfungsi di Linux.
Saya ingin mengunduh sertifikat yang ditandatangani sendiri, untuk menggunakannya untuk memverifikasi upaya koneksi berikutnya. Ini akan lebih sederhana daripada meminta file dari operator AP.
Jawaban:
Ya, konfigurasi WPA-Enterprise paling umum menggunakan PEAP atau TTLS, keduanya menerapkan TLS lebih dari EAP lebih dari 802.1X.
Biasanya sertifikat sudah diterbitkan di suatu tempat oleh operator jaringan untuk tujuan ini. Itu bukan sesuatu yang harus diminta oleh pengguna.
Sayangnya, wpa_supplicant tidak memiliki opsi untuk membuang sertifikat bahkan dalam mode debug. (Saya akan memperbarui ini jika saya menemukan cara yang lebih baik.) Anda masih dapat memantau proses otentikasi EAPOL yang sebenarnya. Pertama, instal Wireshark.
Saat terputus, bawa antarmuka ke atas secara manual dan mulai menangkapnya:
Mulai wpa_supplicant dan segera Anda akan melihat jabat tangan TLS:
Server akan mengirim sertifikatnya segera setelah ServerHello. Pilih paket pertama seperti itu, lalu gali ke:
Klik kanan instance pertama "Sertifikat ( barang )" dan pilih "Ekspor byte paket terpilih". Wireshark akan menyimpannya sebagai file, dalam format DER biner. Ulangi ini untuk semua sertifikat lainnya. Yang paling atas (server RADIUS) memiliki informasi yang dapat Anda konfigurasikan
altsubject_match
; yang terakhir (root CA) harus diberikan kepada wpa_supplicant asca_cert
.Sekarang Anda memiliki beberapa
*.crt
atau*.der
file dalam format DER biner. Konversikan ke format "teks" PEM:(Jika wpa_supplicant Anda menggunakan OpenSSL sebagai pengendali TLS, Anda harus memberinya sertifikat "root CA"; memberikannya sertifikat server tidak akan berfungsi.
Perhatikan bahwa sertifikat terakhir yang terlihat di Wireshark juga mungkin bukan CA root, tetapi hanya dikeluarkan oleh salah satu CA root di
/etc/ssl/certs
direktori Anda ... Jika demikian, pastikan untuk mengaturnyadomain_suffix_match
juga - jika tidak, menggunakan CA publik tidak aman (802.1X sayangnya tidak tahu "hostname" apa yang harus diverifikasi, seperti HTTPS.)sumber
tpcpdump
tetapi bekerja seperti pesona. Lucu juga, stream saya hanya punya satu Server Hello, Certificate, ... entri