Anda di halaman 1dari 30

Keamanan How-To: WPA2-Enterprise pada jaringan rumah Anda Oleh Tim Lisko pada 23 Oktober 2010 09:54 | 4 Komentar

| No Trackbacks Posting berikut sangat teknis dan keberangkatan dari sebagian besar percakapan di sini di PrivacyWonk, namun, keamanan yang baik dan privasi pergi tangan-di-tangan. Jika Anda ingin melindungi jaringan rumah Anda dan memastikan privasi komunikasi Anda melalui jaringan nirkabel, posting ini adalah untuk Anda. Jika Anda seorang pemilik usaha kecil yang harus mematuhi Asuransi Kesehatan Portabilitas Akuntabilitas Act (HIPAA), Informasi Kesehatan untuk Kesehatan Ekonomi dan Klinis (HITECH) persyaratan, yang baru lulus Massachusetts hukum pelanggaran data, atau peraturan lainnya posting ini adalah untuk Anda . Artikel ini akan memandu Anda melalui bagaimana untuk menggunakan sertifikat WPA2-Enterprise berbasis, 802.1x, otentikasi nirkabel untuk rumah Anda / jaringan bisnis kecil, khusus menggunakan Otentikasi Extensible protokol-Transport Layer Security (EAP-TLS). Ini adalah tingkat konyol keamanan untuk rumah Anda WiFi tetapi akan membantu menggagalkan penyerang calon dengan membuat investasi waktu untuk memecahkan jaringan Anda lebih besar dari hidup mereka yang fana. Kalian semua harus tahu sekarang: perlindungan WEP adalah lelucon, bisa retak dalam 60 detik. WPA PreShared Keys (PSK) yang pecah dengan kekerasan dan sangat tergantung pada kekuatan kunci. Kunci memaksa Brute telah menjadi semakin mudah bagi mereka yang memiliki akses ke meja Rainbow atau layanan meja Rainbow, mengurangi faktor pekerjaan secara signifikan. Artikel ini memberikan panduan langkah-demi-langkah tentang cara mengkonfigurasi, menginstal, dan menggunakan ini tingkat gila keamanan dalam rumah / usaha kecil. Silakan tinggalkan pertanyaan, komentar, atau kritik di bagian komentar atau drop me e-mail. Nikmati.

Perangkat lunak yang disyaratkan / hardware: FreeBSD 8.1 - sistem operasi unix favorit saya dan OS yang digunakan dalam posting berikut. Freeradius - Tersedia melalui pohon port FreeBSD di: / usr/ports/net/freeradius2 / OpenSSL - standar Tersedia melalui instalasi FreeBSD, namun, pastikan Anda bekerja dengan yang paling up-to-date rilis sebagai OpenSSL cenderung memiliki beberapa masalah keamanan. Sebuah router dan / atau jalur akses yang mendukung server RADIUS dan WPA2-Enterprise. DD-WRT adalah firmware pihak ketiga baik dan akan digunakan selama contoh ini.

12 langkah tutorial di bawah ini mewakili semua yang Anda butuhkan untuk mendapatkan sebuah contoh operasional jaringan dilindungi WPA2-Enterprise di rumah atau usaha kecil. Tutorial ini akan memandu Anda melalui penciptaan sertifikat, penyebaran, konfigurasi freeradius, Access Point Anda / Router dan klien Anda. Saya sangat mendorong Anda untuk membaca melalui dokumentasi yang diberikan oleh OpenSSL dan freeradius, terutama di sekitar file konfigurasi. Dokumentasi ini akan

memberikan wawasan yang lebih besar paket perangkat lunak dan hidup hemat ketika Anda trouble shooting. Selalu RTFM. Terakhir, saya akan mendorong Anda untuk membaca tentang Public Key Infrastructure dan sertifikat digital untuk memastikan Anda memahami apa yang sedang dilakukan dengan benar di sini dan jalan pintas yang telah taken.will memandu Anda melalui penciptaan sertifikat, penyebaran, konfigurasi freeradius, Anda Access Point / Router dan klien Anda. Saya sangat mendorong Anda untuk membaca melalui dokumentasi yang diberikan oleh OpenSSL dan freeradius, terutama di sekitar file konfigurasi. Dokumentasi ini akan memberikan wawasan yang lebih besar paket perangkat lunak dan hidup hemat ketika Anda trouble shooting. Selalu RTFM. Terakhir, saya akan mendorong Anda untuk membaca tentang Public Key Infrastructure dan sertifikat digital untuk memastikan Anda memahami apa yang sedang dilakukan dengan benar di sini dan jalan pintas yang telah diambil. Silakan gunakan indeks di bawah ini untuk cepat melompat-lompat dokumen jika Anda mencari rincian tentang langkah spesifik: Langkah 1: Menciptakan Otoritas Sertifikat Langkah 2: Buat Certificate Authority baru Sertifikat Langkah 3: Hasilkan sertifikat RADIUS Server Langkah 4: Menghasilkan Sertifikat Klien Langkah 5: Masuk ke Sertifikat Klien Langkah 6: Sertifikat Ekspor untuk Windows & Mac Langkah 7: Mengatur dan Konfigurasi freeradius Langkah 8: Uji Konfigurasi Server Anda Langkah 9: Konfigurasi Wireless AP Langkah 10: Menyebarkan Sertifikat ke Perangkat Klien Langkah 11: Wireless Setup Client (petunjuk rinci untuk Windows XP SP3 bawah) Langkah 12: Konfigurasi freeradius Start pada Boot Terminologi Penyajian terakhir

Langkah 1: Menciptakan Otoritas Sertifikat

1.1 Buat direktori yang dibutuhkan oleh OpenSSL dan freeradius: / Bin / mkdir / etc / certstore / Bin / mkdir / etc / certstore / CA / Bin / mkdir / etc / certstore / CA / swasta / Bin / mkdir / etc / certstore / certs

/ Bin / mkdir / etc / certstore / crl / Bin / mkdir / etc / certstore / swasta / Bin / mkdir / etc / certstore / newcerts / Bin / mkdir / etc / certstore / ekspor / Bin / mkdir / etc / nirkabel / Bin / mkdir / etc / nirkabel / certs / Bin / mkdir / etc / nirkabel / certs / klien / Bin / mkdir / etc / nirkabel / certs / server

certstore / CA adalah direktori Certificate Authority kami. certstore / CA / swasta untuk kunci pribadi CA kami certstore / certs direktori mana sertifikat server kami akan ditempatkan. certstore / newcerts direktori mana OpenSSL menempatkan sertifikat dibuat dalam PEM (tidak terenkripsi) Format dan dalam cert_serial_number.pem bentuk (misalnya 100001.pem). OpenSSL membutuhkan direktori ini, jadi kami menciptakannya. certstore / crl adalah di mana daftar pencabutan sertifikat kami ditempatkan. certstore / swasta adalah direktori di mana kunci pribadi kita ditempatkan. certstore / newcerts adalah direktori di mana kita akan menempatkan yang baru dibuat sertifikat dan permintaan certstore / newcerts adalah direktori di mana kita akan menempatkan PCKS diekspor # 12 kunci diformat nirkabel / certs adalah kami Gudang Sertifikat freeradius (menjaga fungsi CA dan Server fungsi terpisah) nirkabel / certs / klien adalah di mana kita akan menyimpan sertifikat klien kami. nirkabel / certs / server mana kredensial server yang akan disimpan.

Pastikan bahwa Anda mengatur hak akses terbatas ke semua kunci pribadi Anda sehingga mereka dapat dibaca hanya oleh root, atau pengguna dengan yang hak server berjalan. Jika ada yang mencuri kunci pribadi Anda, maka hal-hal benar-benar buruk. 1.2 Pastikan direktori dilindungi untuk root akses hanya: / Bin / chmod-R 0700 / etc / certstore

Perizinan Penjelasan: 0700 = Membaca, menulis, mengeksekusi pemilik (root) hanya

1.3 Buat database untuk melacak setiap cert ditandatangani. The "seri" file melacak sertifikat ditandatangani. / Bin / echo '100001 '> / etc / certstore / seri / Usr / bin / touch / etc / certstore / certindex.txt

1,4 Sunting openssl.cnf untuk menyesuaikan dengan kebutuhan Anda

############################################# # OpenSSL File Konfigurasi # Versi 1.0 # Privacywonk@privacywonk.net # 23 Oktober 2010 ############################################# # Membentuk direktori kerja. dir = / etc / certstore [Ca] default_ca = CA_default [CA_default] seri = $ dir / seri database = $ dir / certindex.txt new_certs_dir = $ dir / certs sertifikat = $ dir / CA / cacert.pem private_key = $ dir / CA / swasta / cakey.pem default_days = 365 # 2 tahun = 730, 3 tahun = 1095 = 1460 4yrs 5 thn = 1825 default_md = sha1 melestarikan = no email_in_dn = no nameopt = default_ca certopt = default_ca Kebijakan = policy_match [Policy_match] COUNTRYNAME = pertandingan stateOrProvinceName = pertandingan

OrganizationName = pertandingan OrganizationalUnitName = opsional CommonName = disediakan emailAddress = opsional [Req] default_bits = 1024 # Ukuran kunci default_keyfile = key.pem # nama kunci yang dihasilkan default_md = sha1 # message digest algoritma Oktober 23, 2010 berubah menjadi SHA1 string_mask = nombstr # diizinkan karakter distinguished_name = req_distinguished_name req_extensions = v3_req [Req_distinguished_name] Nama # Variabel Prompt string yang # ------------------------------------------------- ---------0.organizationName = Nama Organisasi (perusahaan) OrganizationalUnitName = Organisasi Satuan Nama (departemen, divisi) emailAddress = Alamat Email emailAddress_max = 40 localityName = Nama Lokalitas (kota, kabupaten) stateOrProvinceName = Negara atau Provinsi Nama (nama lengkap) COUNTRYNAME = Nama Negara (2 kode huruf) countryName_min = 2 countryName_max = 2 CommonName = Common Name (nama host, IP, atau nama Anda) commonName_max = 64 # Nilai default untuk di atas, untuk konsistensi dan kurang mengetik. # Variabel Nilai Nama # ------------------------------------------------- ----0.organizationName_default = Awesome Wifi organizationalUnitName_default = Keamanan localityName_default = << Kota >> Anda stateOrProvinceName_default = << Negara Anda >> countryName_default = US commonName_default = 10.0.1.75 Alamat # IP atau nama RADIUS Server [V3_ca] basicConstraints = CA: BENAR subjectKeyIdentifier = hash authorityKeyIdentifier = keyid: selalu, penerbit: selalu

[V3_req] basicConstraints = CA: PALSU subjectKeyIdentifier = hash ########################################################### ##################### 1.5 Membuat file xpextensions Berkas xpextensions memegang Diperpanjang Penggunaan Kunci kode object identifier (OID) yang wajib memiliki sertifikat OpenSSL dihasilkan bekerja dengan produk Microsoft. Membuat file dan menambahkan konten berikut:

[Xpclient_ext] extendedKeyUsage = 1.3.6.1.5.5.7.3.2 [Xpserver_ext] extendedKeyUsage = 1.3.6.1.5.5.7.3.1

1.6: Memastikan izin membatasi file konfigurasi Anda: / Bin / chmod 0600 / etc / certstore / openssl.cnf

Perizinan Penjelasan: 0600 = baca / tulis pemilik (root) hanya

Langkah 2: Buat Certificate Authority baru Sertifikat

Membangkitkan Certificate Authority sepasang kunci sendiri akan memungkinkan Anda untuk membuat dan menandatangani server Anda sendiri dan sertifikat klien. Karena ini adalah jaringan internal, kita tidak perlu menyibukkan diri dengan memiliki sertifikat pada akar daftar otoritas diterbitkan dipercaya. Kemudian dalam penyebaran, kita akan menggunakan sertifikat yang dihasilkan kita sendiri dan menambahkannya ke Root Otoritas sertifikat toko Terpercaya untuk klien Windows.

Pastikan perintah ini dijalankan di / etc / certstore direktori.

2.1 Menghasilkan Sertifikat CA dan pasangan Key openssl req-new-x509-extensions v3_ca-keyout CA / swasta / cakey.pem-out CA / cacert.pem-hari 3650-config. / openssl.cnf

Catatan: The "-hari" opsi disetel ke 3650, ini berarti CA cert akan berlangsung selama 10 tahun. Hal ini karena aku malas dan menerima resiko keamanan memperkenalkan. PENTING: mana ini Anda harus mulai melacak password untuk masing-masing file. Saya sarankan membuat file pada media removable. Namun, memahami hal ini memperkenalkan risiko keamanan. Saya juga menyarankan menggunakan generator password acak yang mencakup huruf kecil, huruf besar, karakter khusus, dan angka. Sekali lagi, ini adalah untuk jaringan rumah Anda sehingga Anda tidak perlu password 128-karakter tetapi mereka pasti tidak akan merugikan. Namun, setiap kali Anda perlu untuk menandatangani sertifikat baru Anda akan membutuhkan password ini. 2.2. Melindungi kunci pribadi Anda yang baru dibuat: / Bin / chmod 0400 / etc / certstore / CA / swasta / cakey.pem

Perizinan Penjelasan: 0400 = Baca saja oleh pemiliknya 2.3 Ekspor Key CA Anda untuk penyebaran Tombol ini akan digunakan untuk komputer klien Anda, mereka akan perlu memiliki akses ke kunci CA karena mereka akan CA yang dipercaya seperti VeriSign, dll openssl x509-in CA / swasta / cacert.pem-outform DER-out ekspor / AwesomeCA.der

Langkah 3: Hasilkan sertifikat RADIUS Server

3.1 Server penandatanganan permintaan: openssl req-new-node-keyout newcerts / radius_key.pem-out newcerts / radius_req.pem-hari 1825config openssl.cnf

3.2 Masuk Radius Server Sertifikat openssl / ca-config. openssl.cnf-out newcerts / radius_cert.pem-ekstensi xpserver_ext-extfile / xpextensions-infiles newcerts / radius_req.pem.

Masukkan password. Konfirmasi penandatanganan tindakan.

3.3 Copy Server sepasang kunci dan kunci CA ke / etc / nirkabel / certs / server cp / etc / certstore / newcerts / radius_cert.pem / etc / nirkabel / certs / server cp / etc / certstore / newcerts / radius_key.pem / etc / nirkabel / certs / server cp / etc / certstore / CA / cacert.pem / etc / nirkabel / certs / server

Langkah 4: Menghasilkan Sertifikat Klien Ini merupakan langkah penting. Ambil inventarisasi perangkat yang akan terhubung melalui jaringan nirkabel Anda. Pastikan setiap perangkat di bawah kendali Anda memiliki sertifikat yang unik. Saya juga membuat sertifikat utilitas untuk penggunaan masa depan dan sertifikat beberapa tamu. Sebagai contoh: XPLaptop1 XPLaptop2 XPLaptop3 XPLaptop4 XPLaptop5 Android1 Android2 AppleIOS1 AppleIOS2 GuestKey1 GuestKey2 GuestKeyOSX1

Saya menginvestasikan waktu untuk membuat tombol-tombol ini dimuka dan menyimpannya pada drive USB (Kingston DataTraveler, kunci besi, atau USB drive lainnya dienkripsi) atau CD-R untuk penggunaan masa depan. Lebih mudah untuk menggali removable media daripada ingat persis bagaimana membuat kunci jika ini bukan sesuatu yang Anda lakukan secara teratur. Catatan: Pastikan bidang Nama umum diubah dari default. Nama umum harus unik ke tombol tertentu, yaitu XPLaptop1. Melacak nama-nama yang umum digunakan. Anda akan perlu untuk membuat password PEM untuk masing-masing, memilih sesuatu yang kuat. Menyimpan password pada file ini PEM juga.

openssl req-new-keyout newcerts/XPLaptop1_key.pem-out newcerts/XPLaptop1_req.pem-hari 1825config. / openssl.cnf

Langkah 5: Masuk ke sertifikat klien

Untuk setiap sertifikat yang dihasilkan Anda harus masuk dengan kunci CA. 5.1 Untuk sertifikat jendela menggunakan perintah berikut: / openssl ca-config. / openssl.cnf-out newcerts/XPLaptop1_cert.pem-ekstensi xpclient_ext-extfile. xpextensions-infiles newcerts/XPLaptop1_req.pem

5.2 Untuk MAC klien OSX menggunakan perintah berikut: openssl ca-config. / openssl.cnf-out newcerts/GuestOSX1_cert.pem-infiles newcerts/GuestOSX1_req.pem

5.3 Copy sertifikat klien (kunci publik) untuk freeradius CertStore: / etc / nirkabel / certs / klien cp / etc / certstore / newcerts / * _cert.pem / etc / nirkabel / certs / klien

Langkah 6: Sertifikat Ekspor untuk Windows & Mac

Disarankan untuk menggunakan Standar Kriptografi Public-Key (PKCS) 12 untuk mengekspor sertifikat untuk kompatibilitas Microsoft. PKCS # 12 mendefinisikan format file yang biasa digunakan untuk menyimpan X.509 kunci pribadi disertai sertifikat kunci publik, dilindungi dengan kunci simetris berbasis password. Ketika Anda siap untuk memindahkan file-file media bergerak, cukup download seluruh isi / etc / certstore / ekspor.

openssl pkcs12-ekspor-in newcerts / XPLaptop_cert.pem-Inkey newcerts / XPLaptop_key.pem-out export/XPLaptop_cert.p12-clcerts

Sebuah catatan pada password ekspor. Idealnya, Anda harus memungkinkan setiap pengguna untuk memilih password mereka. Namun, yang umumnya akan memungkinkan individu untuk memilih password mengerikan lemah, sehingga mengurangi sertifikat dan membuatnya rentan terhadap serangan brute force. Sertifikat X.509 menggabungkan pasangan kunci publik dan swasta ke dalam satu file biner, password ekspor akan mengontrol akses ke area kunci pribadi. Pilih sesuatu yang acak dan kuat, seperti yang Anda lakukan untuk password PEM.

Langkah 7: Mengatur dan Konfigurasi freeradius

7.1 - Setup Diffie-Hellman parameter dan file acak

cd / etc / nirkabel / openssl dhparam-check-teks -5 1024-out dh

Keluaran perintah: Membangkitkan parameter DH, 1024 bit prima aman panjang, genset 5 Ini akan memakan waktu yang lama

+ ....... + + * + + * + + * + + * + + * + + * (Dan fulls layar lainnya ini)

Parameter DH tampaknya ok.

dd if = / dev / urandom of = count random = 2

Keluaran perintah: 2 +0 catatan dalam 2 +0 catatan keluar 1024 byte yang ditransfer dalam 0,000078 detik (13.134.457 byte / detik)

/ Usr / sbin / chown freeradius: freeradius / etc / nirkabel / dh / Usr / sbin / chown freeradius: freeradius / etc / nirkabel / random / Bin / chmod 0600 / etc / nirkabel / dh / Bin / chmod 0600 / etc / nirkabel / random

Perizinan Penjelasan: Kami chown file dh untuk memastikan freeradius dapat mengaksesnya untuk digunakan dalam pertukaran DH. Kami kemudian chmod sehingga izin menulis dikeluarkan dari pengguna lain. o = orang lain "-w" = menghapus hak akses tulis. The "dh" file yang dibuat oleh openssl adalah file parameter Diffie-Hellman. Hal ini digunakan oleh freeradius untuk negosiasi TLS kunci sesi. Random file yang dibuat oleh "dd" Program ini digunakan untuk data acak dalam operasi TLS.

7.2 Konfigurasi eap.conf ########################################################### ###### # Eap.conf - Konfigurasi untuk WiFi EAP-TLS (dan jenis lainnya) # Versi 1.0 # 23 Oktober 2010 # Privacywonk@privacywonk.net ########################################################### ###### eap {

default_eap_type = tls timer_expire = 60 ignore_unknown_eap_types = NO cisco_accounting_username_bug = no max_sessions = 4096 # # EAP-TLS tls { certdir = / etc / nirkabel / certs / klien # klien direktori cert # Private_key_password = # Tantangan password untuk kunci pribadi (jika diatur) private_key_file = / etc / nirkabel / certs / server / radius_key.pem certificate_file = / etc / nirkabel / certs / server / radius_cert.pem # Trusted Root File CA CA_file = / etc / nirkabel / certs / server / cacert.pem # Diffie-Hellman parameter file, yang digunakan oleh freeradius untuk menegosiasikan kunci sesi TLS dh_file = / etc / nirkabel / dh File bitstream # Acak yang juga digunakan dalam operasi TLS: random_file = / etc / nirkabel / random

fragment_size = 1024 # Cipher_list = "default" # man 1 cipher, saus lemah cipher_list = "TINGGI" # memaksa tinggi ... mungkin masih saus lemah untuk windows (3DES). } # Dekat TLS config ################################################## # #!! PERINGATAN untuk kompatibilitas Windows Anda!!! # ################################################## # # Jika Anda melihat server mengirim Access-Challenge, # Dan klien tidak pernah mengirimkan lagi Access-Request, # Lalu # # STOP! #

# Sertifikat server harus memiliki khusus OID ini # Di dalamnya, atau klien Microsoft akan diam-diam # Gagal. Lihat "script / xpextensions" file untuk # Rincian, dan halaman berikut: # # Http://support.microsoft.com/kb/814394/en-us # # Untuk tambahan Windows XP SP2 masalah, lihat: # # Http://support.microsoft.com/kb/885453/en-us # # # Jika masih tidak berhasil, dan Anda menggunakan Samba, # Anda mungkin menghadapi bug Samba. Lihat: # # Https://bugzilla.samba.org/show_bug.cgi?id=6563 # # Perhatikan bahwa kita tidak harus setuju dengan mereka # Penjelasan ... tapi memperbaiki tidak muncul untuk bekerja. # ################################################## } Konfigurasi eap # dekat

7.3 Konfigurasi clients.conf ########################################################### ###### # Clients.conf - perintah konfigurasi client # Versi 1.0 # 23 Oktober 2010 # Privacywonk@privacywonk.net ########################################################### ###### client localhost { ipaddr = 127.0.0.1 rahasia = testing123 require_message_authenticator = no nastype = lainnya # localhost tidak biasanya NAS ... } # Localhost dekat

klien 10.0.1.1 {# Ini harus alamat IP atau nama host Anda AP / Router rahasia = << Sandi Rahasia Anda Bersama Antara AP dan RADIUS. Waspadalah karakter khusus >> shortname = << Anda SSID Nama Jaringan >> nastype = # sesuai jenis NAS lain untuk AP nirkabel } # Dekat WiFi

7.4 Konfigurasi radius.conf ########################################################### ###### # Clients.conf - berkas konfigurasi server freeradius. # Versi 1.0 # 23 Oktober 2010 # Privacywonk@privacywonk.net ########################################################### ###### # # Baca "man radiusd" sebelum mengedit file ini. Lihat bagian # Berjudul Debugging. Ini menguraikan metode di mana Anda dapat dengan cepat # Mendapatkan konfigurasi yang Anda inginkan, tanpa berlari ke # Kesulitan. # # Jalankan server dalam mode debugging, dan BACA output. # # $ Radiusd-X # ########################################################### ######

prefix = / usr / local exec_prefix = $ {prefix} sysconfdir = $ {prefix} / etc localstatedir = / var sbindir = $ {} exec_prefix / sbin logdir = / var / log raddbdir = $ {sysconfdir} / raddb radacctdir = $ {} logdir / radacct # Nama server berjalan. Lihat juga "-n" opsi baris perintah. name = radiusd

# Lokasi config dan file log. confdir = $ {} raddbdir run_dir = $ {} localstatedir / run / $ {name} # Kemungkinan Harus $ {} localstatedir / lib / radiusd db_dir = $ {} raddbdir # # Libdir: Dimana menemukan * modul rlm_. libdir = / usr/local/lib/freeradius-2.1.9 # Pidfile: Dimana untuk menempatkan PID dari server RADIUS. pidfile = $ {} run_dir / $ {name}. pid

# User / group: Nama (atau # Nomor) dari user / group untuk menjalankan radiusd sebagai. # user = freeradius group = freeradius # Max_request_time: Waktu maksimum (dalam hitungan detik) untuk menangani permintaan. max_request_time = 10 # Cleanup_delay: Waktu untuk menunggu (dalam hitungan detik) sebelum membersihkan balasan yang dikirim ke NAS. cleanup_delay = 5 # Max_requests: Jumlah maksimum permintaan yang menjaga server # Melacak. Ini harus 256 dikalikan dengan jumlah klien. # Mis Dengan 20 klien, nomor ini harus 5120. max_requests = 5120 # Mendengarkan: Membuat server mendengarkan pada alamat IP tertentu, dan mengirim # Balasan keluar dari alamat tersebut. Direktif ini adalah yang paling berguna untuk # Host dengan beberapa alamat IP pada satu antarmuka. mendengarkan { type = auth ipaddr = 10.0.1.75 # 0 berarti "penggunaan / etc / services untuk port yang tepat" port = 0

} # "Mendengarkan" Bagian kedua ini adalah untuk mendengarkan pada akuntansi # Pelabuhan, juga. # mendengarkan { ketik = acct ipaddr = 10.0.1.75 port = 0 } hostname_lookups = NO allow_core_dumps = no # hanya mengaktifkan untuk debugging regular_expressions = yes extended_expressions = yes

# # # # # # # # # # # # # # # # # LOGGING # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # Logging bagian. Berbagai "log_ *" item konfigurasi # Akhirnya akan pindah ke sini. # log { tujuan = file file = $ {} logdir / radius.log syslog_facility = daemon # Untuk debugging awal tujuan segala sesuatu di bawah diatur ke ya. Hal ini akan memberikan file log verbose untuk memastikan kelancaran operasional. Setelah itu didirikan, ini semua bisa diubah menjadi tidak ada. stripped_names = yes auth = yes auth_badpass = yes auth_goodpass = yes } # Program untuk mengeksekusi untuk melakukan pemeriksaan konkurensi. checkrad = $ {} sbindir / checkrad KONFIGURASI # # # # # # # # # # # # # # # # # KEAMANAN # # # # # # # # # # # # # # # # # # # # # # # # # # ########## # Mungkin ada beberapa metode menyerang pada server. Ini # Bagian memegang item konfigurasi yang meminimalkan dampak

# Serangan tersebut # keamanan { max_attributes = 200 # nilai default reject_delay = 1 status_server = yes } # # # # # # # # # # # # # # # # # PROXY CONFIGURATION # # # # # # # # # # # # # # # # # # # # # # # # # # # # ######## # Proxy_requests: Ternyata proxy permintaan RADIUS on atau off. proxy_requests = no # $ TERMASUK proxy.conf # # # # # # # # # # # # # # # # # KLIEN KONFIGURASI # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ###### # Konfigurasi Klien didefinisikan dalam "clients.conf". $ TERMASUK clients.conf # # # # # # # # # # # # # # # # # THREAD POOL KONFIGURASI # # # # # # # # # # # # # # # # # # # # # # # # # ########### # Kolam thread adalah kelompok berumur panjang benang yang # Bergiliran (round-robin) menangani setiap permintaan yang masuk. kolam thread { start_servers = 5 max_servers = 32 min_spare_servers = 3 max_spare_servers = 10 max_requests_per_server = 0 } KONFIGURASI # MODUL # # Nama dan konfigurasi setiap modul terletak di bagian ini. # # Setelah modul didefinisikan di sini, mereka dapat disebut dengan nama, # Di bagian lain dari file konfigurasi ini. # modul { # $ INCLUDE $ {} confdir / modules / $ TERMASUK $ {} confdir / modules / exec

$ TERMASUK $ {} confdir / modules / expr $ TERMASUK $ {} confdir / modules / kadaluarsa $ TERMASUK $ {} confdir / modules / logintime $ TERMASUK $ {} confdir / modules / preprocess $ TERMASUK $ {} confdir / modules / acct_unique $ TERMASUK $ {} confdir / modules / wilayah $ TERMASUK $ {} confdir / modules / detail $ TERMASUK $ {} confdir / modules / attr_filter $ TERMASUK $ {} confdir / modules / radutmp # Extensible Authentication Protocol $ TERMASUK eap.conf } # Instansiasi # instantiate { # # Memungkinkan eksekusi skrip eksternal. # Seluruh baris perintah (dan output) harus masuk ke dalam 253 byte. # # Mis Framed-Pool = `% {exec :/ bin / echo foo}` exec # # Modul ekspresi tidak melakukan otorisasi, # Otentikasi, atau akuntansi. Ini hanya tidak dinamis # Penerjemahan, dalam bentuk: # # Sesi-Timeout = `% {expr: 2 + 3}` # # Jadi modul perlu instantiated, tapi TIDAK BISA # Tercantum dalam bagian lain. Lihat 'doc / rlm_expr' untuk Informasi # lebih. # expr # Sehari-hari # default ... kedaluwarsa logintime } ###########################################################

########### # # Kebijakan yang dapat diterapkan di banyak tempat yang tercantum # Global. $ TERMASUK policy.conf ########################################################### ########### # # Load server virtual. $ TERMASUK situs-diaktifkan / ########################################################### ###########

Catatan: Arahan untuk penebangan nama dilucuti, baik dan password yang jelek akan menghasilkan file log verbose. Ini berguna untuk keperluan debugging, namun, log dapat memberikan informasi penting. Berikut adalah contoh dari file log yang dihasilkan ketika semua arahan ini dihidupkan:

Tue 26 Okt 2010 21:53:47: Tupoksi: Login OK: [YourCertsCommonName1 /] (dari klien YourAP / Router pelabuhan 60 cli 0088dbc207e6) Wed 27 Oktober 2010 05:09:30: Tupoksi: Login OK: [YourCertsCommonName2 /] (dari klien / Router Anda pelabuhan 42 cli 00516f9b3176) Mon 25 Oktober 2010 02:13:06: Tupoksi: Login yang salah: [InvalidKeyCommonName /] (dari klien boomsquad pelabuhan 46 cli f09defea03fa4) Mon 25 Oktober 2010 02:14:15: Error: TLS Pemberitahuan baca: fatal CA diketahui Mon 25 Oktober 2010 02:14:15: Error: TLS_accept: gagal dalam SSLv3 membaca klien Sertifikat Mon 25 Oktober 2010 02:14:15: Error: rlm_eap: SSL error error: 14094418: rutinitas SSL: SSL3_READ_BYTES: TLSv1 waspada ca diketahui Mon 25 Oktober 2010 02:14:15: Error: SSL: SSL_read gagal dalam TLS (-1), sesi TLS gagal.

7.5 Update / usr / local / etc / raddb / situs-tersedia / default File ini mengontrol otentikasi, otorisasi, dan modul akuntansi yang tersedia untuk freeradius. Kami ingin mengunci ini untuk EAP saja.

########################################################### ###### # Sites-available/default - situs bawaan freeradius / file otentikasi.

# Versi 1.0 # 23 Oktober 2010 # Privacywonk@privacywonk.net ########################################################### ###### # Otorisasi. Pertama preprocess (petunjuk dan huntgroups file), # Kemudian alam, dan akhirnya melihat di "pengguna" file. # # Urutan modul wilayah akan menentukan agar # Kita mencoba untuk menemukan wilayah yang cocok. # # Membuat * yakin * bahwa 'preprocess' datang sebelum alam apapun jika Anda # Perlu setup petunjuk untuk server radius remote otorisasi { # # Modul preprocess menangani sanitasi beberapa aneh # Atribut dalam permintaan, dan mengubahnya menjadi atribut # Yang lebih standar. # # Dibutuhkan perawatan memproses 'raddb / petunjuk' dan # 'Raddb / huntgroups' file. preprocess # # Modul ini menangani EAP-MD5, EAP-TLS, dan EAP-LEAP # Otentikasi. # # Ini juga menetapkan EAP-Type atribut dalam permintaan # Atribut daftar dengan jenis EAP dari paket. # # Pada 2.0, modul EAP kembali "ok" di panggung mengotorisasi # Untuk TTLS dan PEAP. Dalam 1.x, tidak pernah kembali "ok" di sini, jadi # Perubahan ini kompatibel dengan konfigurasi yang lebih tua. # # Contoh di bawah ini menggunakan modul failover untuk menghindari query semua # Dari modul berikut jika modul EAP kembali "ok". # Oleh karena itu, server LDAP dan / atau SQL Anda tidak akan bertanya # Untuk banyak paket yang bolak-balik untuk mengatur TTLS # Atau PEAP. Beban pada server tersebut sehingga akan berkurang. # eap { ok = kembali

# } # End mengotorisasi # Authentication. # # # Bagian ini daftar yang modul yang tersedia untuk otentikasi. mengotentikasi { eap } # End mengotentikasi # Pra-akuntansi. Tentukan jenis akuntansi untuk digunakan. # preacct { preprocess acct_unique akhiran } # Preacct dekat # Akuntansi. Log data akuntansi. # akuntansi { perincian # Filter atribut dari respon akuntansi. attr_filter.accounting_response } # Akuntansi dekat # Database Sesi, digunakan untuk memeriksa Simultan-Gunakan. Entah radutmp yang # Atau rlm_sql modul dapat menangani hal ini. # Modul rlm_sql adalah * jauh * lebih cepat sesi { radutmp } Sesi # dekat # Pasca Otentikasi # Setelah kita tahu bahwa pengguna telah dikonfirmasi, ada Langkah # tambahan yang bisa kita ambil. post-auth {

exec Pasca-Auth-Type TOLAK { attr_filter.access_reject } # Dekat menolak } # Dekat pos auth

7.6 Aman file konfigurasi freeradius dan Sertifikat Kita perlu untuk melindungi file konfigurasi dan certstore dari mencongkel mata ...

chown-R freeradius: freeradius / usr / local / etc / raddb / chmod-R 0700 / usr / local / etc / raddb / chmod 0400 / usr / local / etc / raddb / *. conf chown-R freeradius: freeradius / etc / nirkabel chmod-R 0700 / etc / nirkabel / certs chmod 0400 / etc / nirkabel / certs / server / *. pem pem chmod 0400 / etc / nirkabel / certs / klien / *.

Perizinan Penjelasan: Direktori harus 0700 (Baca, menulis, mengeksekusi pemilik hanya) untuk memungkinkan eksekusi oleh server freeradius, namun, sebagai file konfigurasi dan sertifikat tidak diubah oleh server mereka dapat dikunci ke 0400 (read only) .

Langkah 8: Uji Konfigurasi Server Anda

8.1 Uji file konfigurasi / Usr / local / sbin / radiusd-X-f

Ini akan melepaskan sejumlah besar teks debug. Anda tidak akan melihat apapun Peringatan atau pernyataan Kesalahan sama sekali. Idealnya, itu akan berakhir dengan sesuatu di sepanjang baris:

Mendengarkan pada alamat otentikasi 10.0.1.75 Port 1812 Mendengarkan akuntansi alamat 10.0.1.75 Port 1813 Mendengarkan pada perintah file / var / run / radiusd / radiusd.sock Siap untuk permintaan proses.

Klik di sini untuk melihat output debug penuh dari startup sukses. Jika Anda melihat kesalahan, meninjau file konfigurasi, RTFM, tekan google, atau tinggalkan aku komentar dan saya akan mencoba untuk mendiagnosa. Setelah Anda memiliki startup yang sukses dan sudah tahu masalah konfigurasi potensial membunuh server yang berjalan (Ctrl-C) dan restart seperti: / Usr / local / sbin / radiusd-X-f> ~ root / radius.debug.log.txt

Pindah ke jendela terminal baru jalankan perintah berikut: / Usr / bin / tail-f ~ root / radius.debug.log.txt

Ini akan memungkinkan Anda untuk menonton log secara real time dan juga melestarikan salinan untuk diperiksa nanti. Ketika kita bergerak menuju pengaturan jalur akses dan klien (pemohon) kita bisa memantau jika AP dengan benar melewati lalu lintas ke server freeradius, jika klien (pemohon) menggunakan sertifikat yang tepat, dll 8.2 Pengujian freeradius Jika Anda ingin meluangkan waktu untuk melakukan proper test, saya akan menyarankan metodologi pengujian EAP-TLS sangat rinci disajikan dalam Software Majalah Gratis: HOWTO: Pengaturan Tambahan dari freeradius Server untuk otentikasi EAP. Secara khusus, "Langkah 4. Ayunan penuh dengan EAP-TLS, EAP-TTLS dan PEAP". Ini akan akan sangat jelas jika konfigurasi disajikan dalam tutorial ini bekerja atau tidak. Namun, pengujian yang baik selalu didorong!

Langkah 9: Konfigurasi Wireless AP

Mudah-mudahan kita tidak menyia-nyiakan banyak waktu hanya untuk mengetahui router Anda tidak mendukung otentikasi WPA2-Enterprise. Saya Cisco / Linksys router rumah tidak mendukung keluar dari kotak tapi DD-WRT, firmware pihak ketiga, tidak. Berikut adalah screenshot. Setup sangat sederhana:

Langkah 10: Menyebarkan Sertifikat ke Perangkat Klien Download sertifikat diekspor ke USB drive atau burn ke CD-R. Jika Anda telah memilih untuk setup password acak di tempat password pengguna disediakan, pastikan Anda memiliki daftar Anda dapat copy dan paste dari ketika menginstal. Ini bukan keamanan besar tapi itu membuat penyebaran lebih mudah. Sekali lagi, ini adalah jaringan rumah Anda bukan jaringan rahasia. 10.1 Menginstal sertifikat Certificate Authority Klik dua kali pada file DER. Kita buat sebelumnya (AwesomeCA.der). Layar berikut akan muncul:

Klik "Install" Button. Ini akan membawa Anda ke layar yang meminta pemilihan Store Sertifikat. Pilih tombol radio kedua "Tempatkan semua sertifikat di toko berikut" dan klik "Browse." Pilih "Trusted Root Otoritas Sertifikasi" Toko dari daftar. Klik OK.

Klik "Next" Anda akan diminta dengan peringatan keamanan. Klik di sini untuk screenshot (terlalu besar untuk ditampilkan pada halaman web). Klik Ya. 10.2 Menginstal Sertifikat Klien Double klik pada file p12 kita buat sebelumnya..

Klik Next. Sebuah layar akan memverifikasi lokasi tombol yang ingin Anda impor.

Klik Next. Masukkan password untuk sertifikat ekspor. Hal ini akan memungkinkan jendela untuk berhasil mengimpor cert.

Klik Next. Windows akan memberitahu Anda sertifikat berhasil diimpor. Langkah 11: Wireless Setup Client (petunjuk rinci untuk Windows XP SP3 hanya di bawah) Setup jaringan Wireless baru. Pilih WPA2 dengan enkripsi AES

Klik Tab Authentication. Pastikan untuk memilih "Smart Card atau Sertifikat lainnya." Klik Properties.

Gulir untuk mencari dan memilih nama Otoritas Cert Anda dalam daftar. Klik OK.

iPhone Instruksi MAC OSX Instruksi

Langkah 12: Konfigurasi freeradius Start pada Boot

Jika klien Anda berhasil tersambung, membunuh apapun kasus radius Anda dapat berjalan melalui baris perintah (misalnya, debugging server yang disebutkan pada langkah 8). 12.1 Tambahkan Radius ke rc.conf untuk memastikan freeradius dimulai saat boot. / Bin / echo radiusd_enable = "YES" >> / etc / rc.conf

12.2 Mulai server melalui script rc.d.

/ Usr / local / etc / rc.d / radiusd start

Terminologi Otentikasi, Otorisasi, dan Akuntansi (AAA) Protokol: Otentikasi - Otentikasi mengacu pada proses di mana identitas suatu entitas adalah otentik, biasanya dengan memberikan bukti bahwa ia memegang identitas digital tertentu seperti sebuah identifier dan mandat yang sesuai. Sertifikat digital yang dihasilkan dalam tutorial ini adalah jenis credential. Otorisasi - Menentukan apakah entitas tertentu yang berwenang untuk melakukan kegiatan tertentu, biasanya log on ke aplikasi atau layanan Akuntansi - pelacakan konsumsi sumber daya jaringan oleh pengguna. Pemohon - entitas di salah satu ujung point-to-point LAN segmen yang berusaha untuk disahkan oleh authenticator melekat pada ujung link tersebut. Dalam prakteknya, pemohon adalah sebuah aplikasi perangkat lunak yang diinstal pada komputer pengguna akhir. Pengguna memanggil pemohon dan menyerahkan mandat untuk menghubungkan komputer ke jaringan yang aman. Jika otentikasi berhasil, authenticator biasanya memungkinkan komputer untuk terhubung ke jaringan Authenticator - entitas di salah satu ujung point-to-point LAN segmen yang memfasilitasi otentikasi entitas yang melekat pada ujung lain dari link tersebut. Dalam prakteknya, authenticator biasanya switch jaringan atau akses nirkabel point / router yang berfungsi sebagai titik koneksi untuk komputer bergabung dengan jaringan tersebut. Authentication Server - server yang menyediakan layanan otentikasi pengguna atau sistem lain melalui jaringan. Remotely ditempatkan pengguna dan server lainnya otentikasi ke server tersebut, dan menerima tiket kriptografi. Tiket ini kemudian ditukar dengan satu sama lain untuk memverifikasi identitas. Dalam prakteknya, dan berlaku untuk digunakan dalam posting ini, freeradius. Remote Authentication Dial Dalam Pengguna Jasa (RADIUS) - sebuah protokol jaringan yang menyediakan otentikasi terpusat, Otorisasi, dan Akuntansi (AAA) manajemen untuk komputer untuk menghubungkan dan menggunakan layanan jaringan.

Penyajian terakhir

Sementara isi posting ini akan membantu Anda menyebarkan beberapa kick ass keamanan nirkabel itu bukan solusi keamanan yang lengkap. Bahkan, seperti yang saya catat di pos, cara saya menangani kunci dan frase terkait lulus memperkenalkan risiko keamanan. Melindungi dan mengelola kunci Anda adalah penting untuk memastikan jaringan tetap aman. Pastikan Anda telah dikurung komputer FreeBSD yang host Otoritas Sertifikat dan server yang freeradius. Jika Anda memiliki tamu sering menggunakan jaringan Anda, saya akan menyarankan menciptakan terpisah Virtual Wireless LAN bagi mereka untuk menggunakan bukan memberikan mereka akses berbasis sertifikat. Catatan tentang menjaga Otoritas Sertifikat. Ini menjengkelkan. Jika Anda mengharapkan tingkat fluiditas dalam basis pengguna Anda, karyawan meninggalkan, sering tamu, dll Saya akan sangat menyarankan berinvestasi waktu ke mengotomatisasi proses pembuatan sertifikat. Ada banyak alat di luar sana yang dapat membantu dalam hal ini. Misalnya, TinyCA. Terakhir, saya berharap posting ini berguna dan bahwa Anda mampu untuk berhasil meniru penyebaran WPA2. Aku tahu ada beberapa daerah yang tidak dapat dijelaskan di pos, jika Anda memiliki pertanyaan silahkan menjangkau.

Anda mungkin juga menyukai