Pengenalan #
RADIUS atau Remote Authentication Dial-In User Service ialah protokol rangkaian yang menyediakan pengurusan berpusat Pengesahan, Pengesahan dan Perakaunan pengguna dan peranti. Ia digunakan secara meluas oleh Penyedia Perkhidmatan Internet dan perusahaan untuk mengawal akses kepada Internet, perkhidmatan tempatan, rangkaian tanpa wayar melalui titik akses WiFi, dsb.
Protokol RADIUS dilaksanakan dalam lapisan aplikasi dengan seni bina klien-pelayan yang boleh menggunakan TCP atau UDP sebagai lapisan pengangkutan dan dikomunikasikan dengan pangkalan data pengguna seperti Active Directory , perkhidmatan LDAP atau sistem perakaunan Linux . Penyelesaian RADIUS yang paling popular ialah FreeRadius atau Microsoft NPS Radius Server.
Protokol Mesej RADIUS #
Pemesejan protokol berdasarkan permintaan pelanggan dan cara respons pelayan seperti yang ditunjukkan di bawah.
1. Pelanggan menghantar satu Akses-Permintaan ke pelayan untuk setiap pengguna atau peranti yang disahkan ke port pelayan TCP / UDP 1812 (versi pelayan lama akan digunakan 1645 untuk pengesahan juga).
2. Jawapan pelayan mengikut dasar Akses-Terima jika pengesahan dibenarkan, Akses-Tolak jika akses tidak dibenarkan atau Akses-Cabaran jika pelayan memerlukan lebih banyak maklumat untuk menentukan akses (seperti pengesahan kedua: PIN, kata laluan, sijil, dll.)
Secara pilihan, klien dan pelayan boleh bertukar mesej perakaunan seperti Permintaan Perakaunan dan Respons Perakaunan untuk mengekalkan pengecam sesi yang unik.
3. Pelanggan menghantar satu Permintaan Perakaunan ke pelayan melalui port TCP / UDP 1813 untuk pengurusan sesi perakaunan (versi pelayan yang lebih lama akan digunakan 1646 untuk pengesahan juga).
4. Jawapan pelayan dengan a Tanggungjawab Perakaunan mesej untuk mengesahkan sesi baru.
Dalam persekitaran RADIUS, perkhidmatan tambahan bagi pengurusan pangkalan data pengguna diperlukan dan penting untuk dipertimbangkan dalam ketersediaan yang tinggi, yang akan dirawat dalam artikel khusus lain.
Pengimbangan beban RADIUS dan persekitaran ketersediaan tinggi #
Masalahnya jika layanan RADIUS mati dapat menimbulkan risiko pengguna tidak dapat mengakses ke jaringan pelayan, atau masuk ke aplikasi, pengguna tidak dapat membuka sesi ke dalam perangkat atau tidak dapat izin untuk menggunakan hak di proses perniagaan. Untuk menyelesaikan situasi seperti itu, tujuan artikel ini adalah untuk mengatur persekitaran yang ditunjukkan di bawah.
RELIANOID akan berkongsi mesej protokol RADIUS antara semua pelayan RADIUS, sama ada ia berada di tapak yang berbeza atau tempatan. Dalam bahagian berikut kami menerangkan konfigurasi persekitaran jenis ini, pemeriksaan kesihatan lanjutan untuk perkhidmatan RADIUS dan cabaran keselamatan protokol ini.
Konfigurasi Perkhidmatan Maya RADIUS #
Sifat protokol RADIUS adalah berdasarkan paket UDP, jadi konfigurasi persekitaran RADIUS yang andal dibina dengan ladang LSLB dengan profil L4xNAT pada lapisan 4, port 1812 dan 1813 , jenis protokol UDP dan DNAT pilihan untuk mempunyai ketelusan dan mendapatkan IP klien di bahagian belakang (walaupun NAT sepatutnya berfungsi dengan sempurna juga).
Dalam Perkhidmatan , tiada kegigihan diperlukan secara lalai melainkan terdapat sedikit kelekitan antara pelayan jejari klien.
Jika RADIUS digunakan melalui TCP dan bukannya UDP, ia boleh diubah dalam medan jenis protokol. Ia juga boleh ditetapkan untuk SEMUA protokol bagi membenarkan kedua-dua TCP dan UDP pada masa yang sama daripada IP maya yang sama.
Akhirnya, konfigurasikan backend tanpa port yang dikonfigurasi (kerana ia akan menggunakan port tujuan sambungan klien) dan uji sambungannya. Setelah perkhidmatan maya RADIUS dikonfigurasi dengan jayanya, kami dapat menetapkan pemeriksaan kesihatan lanjutan untuk perkhidmatan ini.
RADIUS Advanced Check Configuration Kesihatan #
Cek lanjutan disertakan dalam RELIANOID dengan nama check_radius di bawah folder lalai / usr / local / zenloadbalancer / app / libexec /.
Bantuan arahan ini boleh disenaraikan:
root@noid5# /usr/local/zenloadbalancer/app/libexec/check_radius --help Ujian untuk melihat sama ada pelayan RADIUS menerima sambungan. Penggunaan: check_radius -H hos -F config_file -u nama pengguna -p kata laluan [-P port] [-t tamat masa] [-r cuba semula] [-e jangkakan] [-n nas-id] [-N nas-ip-addr ] Pilihan: -h, --help Cetak skrin bantuan terperinci -V, --versi Cetak maklumat versi --extra-opts=[section][@file] Baca pilihan daripada fail ini. Lihat https://www.monitoring-plugins.org/doc/extra-opts.html untuk penggunaan dan contoh. -H, --hostname=ADDRESS Nama hos, Alamat IP, atau soket unix (mesti laluan mutlak) -P, --port=Nombor Port INTEGER (lalai: 1645) -u, --nama pengguna=STRING Pengguna ke sahkan -p, --kata laluan=STRING Kata laluan untuk pengesahan (RISIKO KESELAMATAN) -n, --nas-id=Pengecam STRING NAS -N, --nas-ip-address=STRING NAS Alamat IP -F, --nama fail= STRING Fail konfigurasi -e, --expect=STRING Rentetan tindak balas yang diharapkan daripada pelayan -r, --retries=INTEGER Bilangan kali untuk mencuba semula sambungan yang gagal -t, --timeout=INTEGER Saat sebelum tamat masa sambungan (lalai: 10) Pemalam ini menguji pelayan RADIUS untuk melihat sama ada ia menerima sambungan. Pelayan untuk diuji mesti dinyatakan dalam seruan, serta nama pengguna dan kata laluan. Fail konfigurasi mungkin juga ada. Format fail konfigurasi diterangkan dalam sumber perpustakaan radiusclient. Pilihan kata laluan membentangkan isu keselamatan yang besar kerana kata laluan itu mungkin boleh ditentukan dengan memerhati baris arahan dengan teliti dalam penyenaraian proses. Risiko ini menjadi lebih teruk kerana pemalam biasanya akan dilaksanakan pada selang masa yang boleh diramalkan. Sila pastikan bahawa kata laluan yang digunakan tidak membenarkan akses kepada sumber sistem yang sensitif.
Pertama, mari kita semak sama ada ia berfungsi dengan betul dengan melaksanakan perintah contoh berikut (sila gunakan parameter konfigurasi klien jejari anda sendiri daripada RELIANOID):
root@noid5# cd /usr/local/zenloadbalancer/app/libexec/ root@noid5# ./check_radius -H -P -u -hlm -F
Ujian akan dilakukan dari RELIANOID perkakas kepada satu pelayan RADIUS tertentu dengan pengesahan pengguna tiruan dan, secara pilihan, fail konfigurasi klien untuk parameter klien tertentu. Mari kita uji arahan, dan kemudian, apabila kita mendapat OK dari pelayan dan KEGAGALAN ketika turun kita dapat mengkonfigurasi pemeriksaan kesihatan lanjutan di Perkhidmatan seksyen perkhidmatan maya kami yang baru dibuat.
Jangan lupa untuk menggunakan HOST token semasa mengkonfigurasi pemeriksaan kesihatan lanjutan RELIANOID seperti di bawah.
check_radius -H HOST -P 1812 -u johndoe -p johnspass -F /etc/radius_client.cfg
Lihat di bawah konfigurasi bahagian Perkhidmatan.
Pilihan Keselamatan RADIUS #
Protokol RADIUS secara tradisional menggunakan algoritma MD5 untuk pengesahan setiap paket dan pengesahan integriti terhadap UDP. Oleh kerana kedua-duanya tidak menyediakan enkripsi keselamatan dan perlindungan, beberapa pendekatan telah dikaji.
Penyerahan RADIUS ke atas IPsec or Keselamatan Protokol Internet telah digunakan secara meluas tetapi terdapat beberapa kesukaran dalam pilihan ini kerana lapisan aplikasi tidak mengetahui dasar keselamatan, kerana ia tersirat dalam lapisan rangkaian. Untuk menggunakan pendekatan ini dengan RELIANOID ia memerlukan beberapa konfigurasi manual kerana ia belum disepadukan lagi.
Spesifikasi DTLS atau Datagram Transport Layer Security membolehkan penyulitan, memantau dan mengawal dasar keselamatan trafik tersebut.
Pilihan lain ialah RADIUS melalui TLS yang menyediakan keupayaan kebolehpercayaan TCP dan lapisan pengangkutan mengikut tertib.
Untuk pendekatan seperti ini, IANA telah mencipta entri rasmi untuk RadSec ( RADIUS Security ) untuk menggunakan port UDP 2083 bagi pelaksanaan RADIUS/TLS .
Satu lagi pilihan adalah untuk meningkatkan lapisan digest dan authorization dengan EAP ( Extensible Authentication Protocol ) yang tidak digunakan dalam lapisan penubuhan pautan tetapi semasa fasa pengesahan sambungan, dengan mengelakkan penggunaan MD5 weak digest.
Di samping itu, dengan RELIANOID, perkhidmatan RADIUS boleh dilindungi dengan modul IPDS daripada paket dan hos berniat jahat, serangan DoS, percubaan kekerasan dan banyak lagi.
Keupayaan Proksi RADIUS #
Jika beberapa pelayan RADIUS digunakan di seluruh tapak yang berbeza, adalah menarik untuk memajukan sambungan pelanggan ke tapak yang menguruskan data pengesahan, kebenaran dan perakaunan mereka. Pada masa ini, RELIANOID tidak menyokong keupayaan proksi RADIUS tetapi ia dirancang untuk disertakan tidak lama lagi. Nantikan perkembangan terkini!
Nikmati perkhidmatan mengakses rangkaian yang tersedia dan berskala tinggi anda!



