Berita buruk, semuanya! Tampaknya ada bug yang tidak diperbaiki di Fedora 21: Koneksi kabel dengan 802.1x PEAP / MSCHAPv2 tidak berfungsi . Jadi, sementara jawaban di bawah ini mungkin berfungsi untuk distro lain, pengguna Fedora 21 saat ini kurang beruntung.
Belum pernah mencoba itu sendiri, tetapi posting ini tampaknya berisi langkah-langkah yang cukup rinci untuk mengatur 802.1x antara klien Linux dan domain Windows. Perhatikan bagian permintaan sertifikat: itu harus menyelesaikan masalah sertifikat tidak dapat diekspor Anda. Versi perangkat lunak cukup lama ( Ubuntu adalah 8.04 dan luar Trust Daya Broker masih juga ), tetapi ide dasar tampaknya solid untuk saya.
Saya telah memformat pos di atas agar lebih mudah dibaca. Mengutip membuat kotak kode menjadi abu-abu di atas abu-abu, jadi saya menjatuhkannya, maaf:
Penafian: Panduan ini ditulis dari perspektif distribusi Linux Ubuntu 8.04. Untuk membuatnya bekerja dengan distribusi Linux atau Unix lain, beberapa perubahan mungkin perlu dilakukan.
Dua hal utama yang diperlukan untuk mesin Linux Anda untuk mengotentikasi lebih dari 802.1x adalah sertifikat klien dan akun di domain Windows. Selama proses otentikasi, klien Linux menyajikan sertifikat komputernya ke sakelar, yang pada gilirannya menyajikannya ke server RADIUS yang memverifikasi sertifikat, dan memverifikasi akun komputer yang ditetapkan oleh sertifikat tersebut di Active Directory. Jika sertifikat dan akun komputer itu valid, maka server RADIUS menyetujui permintaan otentikasi mengirimnya kembali ke sakelar, yang pada gilirannya mengotentikasi port tempat kotak Linux terhubung.
Hal pertama yang perlu dilakukan adalah bergabung dengan komputer Linux Anda ke domain Windows. Karena Linux tidak dapat bergabung dengan domain Windows, kami harus mengunduh perangkat lunak yang diperlukan untuk memungkinkan kami melakukan ini. Demikian juga membuat perangkat lunak untuk memungkinkan kita melakukan hal ini. Untuk menginstal ini di Ubuntu sangat sederhana, cukup ikuti langkah-langkah ini:
- sudo apt-get pembaruan
- sudo apt-get instal juga-terbuka
- sudo domainjoin-cli gabung
enter the FQDN of your domain here
enter your admin account here
, Anda bisa menggunakan format user@domain.com
. Anda juga harus dapat menggunakan versi GUI dengan masuk keSystem → Administration → Likewise.
- sudo update-rc.d juga-buka default
- sudo /etc/init.d/likewise-open start
Jika Anda tidak menjalankan Ubuntu, Anda dapat mengunduh perangkat lunak di sini http://www.likewisesoftware.com/products/likewise_open . Anda sekarang dapat keluar dan masuk kembali menggunakan akun domain Anda. Saya percaya bahwa format user@domain.com
dan domain \ pengguna keduanya berfungsi. Saya akan menguji ini nanti.
Ada tiga file yang terletak di mesin Linux yang harus dikonfigurasi dengan benar agar otentikasi ini dapat terjadi. Ketiga file tersebut adalah:
- /etc/wpa_supplicant.conf
- / etc / network / interfaces
- /etc/openssl/openssl.cnf
Pertama-tama kita akan mengkonfigurasi perangkat lunak untuk memungkinkan mesin Linux kita menggunakan sertifikat klien untuk mengautentikasi ke jaringan berkemampuan 802.1x; wpa_supplicant
akan digunakan untuk ini.
Ikuti langkah-langkah ini untuk mengonfigurasi file wpa_supplicant.conf Anda:
- sudo gedit /etc/wpa_supplicant.conf
Rekatkan yang berikut ke dalam file dan simpan:
# Where is the control interface located? This is the default path:
ctrl_interface=/var/run/wpa_supplicant
# Who can use the WPA frontend? Replace "0" with a group name if you
# want other users besides root to control it.
# There should be no need to chance this value for a basic configuration:
ctrl_interface_group=0
# IEEE 802.1X works with EAPOL version 2, but the version is defaults
# to 1 because of compatibility problems with a number of wireless
# access points. So we explicitly set it to version 2:
eapol_version=1
# When configuring WPA-Supplicant for use on a wired network, we don't need to
# scan for wireless access points. See the wpa-supplicant documentation if you
# are authenticating through 802.1x on a wireless network:
ap_scan=0
network={
ssid="<enter any name here, it doesn't matter>"
key_mgmt=IEEE8021X
eap=TLS
identity="<FQDN>/computers/<Linux computer name>"
client_cert="/etc/ssl/certs/<your authentication certificate name>.pem"
private_key="/etc/ssl/private/<your private key name>.pem"
}
Sekarang kita harus mengedit file antarmuka Anda. Ikuti langkah-langkah ini untuk mengonfigurasi file antarmuka Anda:
- sudo gedit / etc / network / interfaces
Rekatkan yang berikut ke dalam file di bawah eth0
antarmuka dan simpan:
# Configure the system to authenticate with WPA-Supplicant on interface eth0
wpa-iface eth0
# In this case we have a wired network:
wpa-driver wired
# Tell the system we want to use WPA-Supplicant with our configuration file:
wpa-conf /etc/wpa_supplicant.conf
Langkah selanjutnya adalah membuat dan menginstal sertifikat Anda. Kami harus membuat sertifikat yang ditandatangani sendiri, kemudian menghasilkan permintaan sertifikat berdasarkan sertifikat yang ditandatangani sendiri yang kami buat, lalu pasang sertifikat.
Catatan: Saat membuat sertifikat Anda, setiap kali meminta nama Anda, Anda harus memberikan nama komputer yang akan diautentikasi. Agar aman, saya sarankan untuk membuat nama yang cocok dengan cara itu ditugaskan ke komputer, termasuk menjadi case sensitive. Jika Anda tidak yakin bagaimana ini ditugaskan untuk komputer Anda, buka terminal dan ketik nama host.
Ikuti langkah ini:
sudo openssl req -x509 -nodes -days enter in days how long you want the cert valid for
-newkey rsa: 1024 -keyout enter a name for your private key/certificate here
.pem -out enter a name for your private key/certificate here
.pem
Contoh: sudo openssl req -x509 -nodes -days 365 -newkey rsa: 1024 -keyout privcert.pem -out privcert.pem
openssl req -baru -newkey rsa: 1024 -nodes -keyout enter a name for your private key here
.pem - out enter a name for your certificate request here
.pem
Contoh: sudo openssl req -baru -newkey rsa: 1024 -nodes -keyout privkey.pem -out certreq.pem
Semua sertifikat yang dibuat ditempatkan di direktori home Anda ( /home/<username>
). Bagian selanjutnya adalah meminta sertifikat dari CA Anda menggunakan permintaan sertifikat yang dibuat pada langkah sebelumnya. Ini perlu dilakukan pada mesin Windows, karena untuk beberapa alasan Linux dan Windows tidak rukun ketika meminta dan mengunduh sertifikat; Saya baru saja menemukan lebih mudah untuk mengirim email permintaan sertifikat kepada saya dan melakukannya di mesin Windows.
Ikuti langkah-langkah ini untuk menyelesaikan permintaan sertifikat:
- Buka direktori home Anda di mesin Linux dan temukan file permintaan sertifikat Anda
- Kirim email ke file untuk Anda sendiri atau buka file dengan editor teks (seperti gedit) dan salin dan tempel permintaan ke email dan kirimkan ke diri Anda sendiri.
- Pada klien Windows, buka halaman web menggunakan IE ke situs web CA Anda (seperti
http://caname/certsrv
).
- Pilih Minta Sertifikat
- Permintaan Sertifikat Tingkat Lanjut
- Sekarang buka email Anda dan dapatkan permintaan sertifikat bahwa Anda mengirim email sendiri.
- Jika Anda mengirim sendiri file tersebut melalui email, buka dengan notepad dan salin dan tempel konten ke dalam kotak permintaan sertifikat yang disandikan Base-64. Jika Anda mengirimi diri Anda sendiri konten file permintaan sertifikat daripada file itu sendiri, maka cukup salin dan tempel permintaan dari sana ke dalam kotak permintaan sertifikat yang disandikan Base-64.
- Klik Kirim dan unduh sertifikat dalam formulir Base-64, bukan DER.
- Simpan sertifikat ke desktop Anda dan
your Linux machine name
beri nama .pem. Sistem akan secara otomatis menambahkan .cer
ke akhir, jadi hapus saja. Linux menggunakan .pem untuk ekstensi sertifikat.
- Ambil file ini dan kirimkan kembali ke email Anda.
- Sekarang, di mesin Linux Anda, dapatkan sertifikat Anda dan simpan di suatu tempat (lebih disukai folder rumah Anda untuk menjaga hal-hal terorganisir dan bersama-sama).
- Sekarang, kami perlu menyalin sertifikat yang baru saja Anda terima ke
/etc/ssl/certs
folder Anda , dan kami perlu menyalin kunci pribadi Anda / sertifikat dan kunci pribadi yang dibuat sebelumnya di /etc/ssl/private
folder Anda . Sekarang, hanya root yang memiliki izin untuk melakukan ini, jadi Anda bisa melakukan ini dengan baris perintah dengan mengetik sudo cp /home/<username>/<certificate>.pem /etc/ssl/private
atau /etc/ssl/certs
. Ini juga dapat dilakukan dari GUI dengan menyalin dan menempel dengan menggunakan perintah gksudo dan mengetikkan nautilus. Nautilus adalah peramban file GUI yang digunakan Ubuntu dan akan menjalankannya sebagai root yang memungkinkan Anda untuk menyalin dan menempel ke direktori yang hanya dapat diakses oleh root.
Sekarang setelah sertifikat kami ada, kami perlu memberi tahu openssl bagaimana kami ingin menggunakan sertifikat itu. Untuk melakukan ini, kita harus mengedit file openssl.cnf dan memintanya untuk mengotentikasi mesin Linux kita sebagai klien daripada pengguna.
Untuk melakukan ini ikuti langkah-langkah ini:
- sudo gedit /etc/ssl/openssl.cnf
- Gulir ke bawah sekitar setengah jalan dan Anda akan melihat bagian yang disebut
[usr_cert]
. Pada bagian ini kita perlu di mana nsCertType
didefinisikan sebagai "Untuk penggunaan normal klien ini adalah khas" , dan itu harus nsCertType = client, email
dan akan dikomentari. Batalkan komentar pada baris ini dan hapus email yang muncul nsCertType = client
. Sekarang simpan file tersebut.
Sekarang Anda harus memiliki semua yang Anda butuhkan dikonfigurasi dengan benar untuk memiliki mesin Linux yang berjalan di lingkungan domain Windows dan mengautentikasi menggunakan 802.1x.
Yang tersisa sekarang adalah me-restart layanan jaringan Anda sehingga Linux akan menggunakan wpa_supplicant.conf
file yang sekarang dikaitkan dengan eth0
antarmuka Anda dan mengotentikasi. Jadi lari saja sudo service networking restart
. Jika Anda tidak mendapatkan alamat IP setelah antarmuka Anda kembali, Anda dapat secara manual meminta IP dari server DHCP Anda dengan mengetik sudo dhclient
.