Kebolehpercayaan dan skalabiliti pengguna Perkhidmatan Dial-In (RADIUS) Remote Remote

DIPOS oleh Zevenet | 3 Oktober 2017

Gambaran Keseluruhan

RADIUS or Perkhidmatan Pengguna Dail Automatik Jauh adalah protokol rangkaian yang menyediakan Pengesahan, Pengesahan dan Perakaunan pengguna dan peranti terpusat dalam pengurusan. Ia digunakan secara meluas oleh Penyedia Perkhidmatan Internet dan perusahaan untuk mengawal akses ke Internet, perkhidmatan tempatan, rangkaian tanpa wayar melalui titik akses WiFi, dll.

Protokol RADIUS dilaksanakan dalam lapisan permohonan dengan senibina klien-pelayan yang boleh menggunakan TCP atau UDP sebagai lapisan pengangkutan dan dikomunikasikan dengan pangkalan data pengguna seperti Active Directory, Perkhidmatan LDAP or Sistem perakaunan Linux. Penyelesaian RADIUS yang paling popular adalah Server Radius FreeRadius atau Microsoft NPS.

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.)

Pilihannya, pelanggan dan pelayan boleh menukar mesej perakaunan seperti Permintaan Perakaunan dan Tanggungjawab Perakaunan untuk mengekalkan pengenal sesi 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.

Zevenet akan berkongsi mesej protokol RADIUS di antara semua pelayan RADIUS, sama ada mereka berada di laman web yang berbeza atau tempatan. Dalam bahagian berikut, kami menerangkan konfigurasi persekitaran seperti ini, pemeriksaan kesihatan lanjutan untuk perkhidmatan RADIUS dan cabaran keselamatan protokol ini.

Konfigurasi Perkhidmatan Maya RADIUS

Sifat protokol RADIUS berdasarkan paket UDP, jadi konfigurasi persekitaran RADIUS yang boleh dipercayai dibina dengan LSLB ladang dengan L4xNAT profil di lapisan 4, pelabuhan 1812 dan 1813, jenis protokol UDP dan pilihan DNAT untuk mempunyai ketelusan dan mendapatkan IP pelanggan di bahagian belakang (walaupun NAT harus bekerja dengan sempurna juga).

Dalam Perkhidmatan Kami, kegigihan tidak diperlukan secara lalai melainkan sesetengah melekat antara pelayan radius klien diperlukan.

Jika RADIUS digunakan melalui TCP dan bukannya UDP, ia boleh ditukar dalam medan jenis protokol. Ia juga boleh ditetapkan SEMUA protokol untuk membolehkan TCP dan UDP pada masa yang sama dari 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 lanjut dimasukkan ke dalam nama Zevenet dengan nama check_radius di bawah folder lalai / usr / local / zenloadbalancer / app / libexec /.

Bantuan arahan ini boleh disenaraikan:

root@zevenet5# /usr/local/zenloadbalancer/app/libexec/check_radius --help
Tests to see if a RADIUS server is accepting connections.

Usage:
check_radius -H host -F config_file -u username -p password
			[-P port] [-t timeout] [-r retries] [-e expect]
			[-n nas-id] [-N nas-ip-addr]

Options:
 -h, --help
    Print detailed help screen
 -V, --version
    Print version information
 --extra-opts=[section][@file]
    Read options from an ini file. See
    https://www.monitoring-plugins.org/doc/extra-opts.html
    for usage and examples.
 -H, --hostname=ADDRESS
    Host name, IP Address, or unix socket (must be an absolute path)
 -P, --port=INTEGER
    Port number (default: 1645)
 -u, --username=STRING
    The user to authenticate
 -p, --password=STRING
    Password for autentication (SECURITY RISK)
 -n, --nas-id=STRING
    NAS identifier
 -N, --nas-ip-address=STRING
    NAS IP Address
 -F, --filename=STRING
    Configuration file
 -e, --expect=STRING
    Response string to expect from the server
 -r, --retries=INTEGER
    Number of times to retry a failed connection
 -t, --timeout=INTEGER
    Seconds before connection times out (default: 10)

This plugin tests a RADIUS server to see if it is accepting connections.
The server to test must be specified in the invocation, as well as a user
name and password. A configuration file may also be present. The format of
the configuration file is described in the radiusclient library sources.
The password option presents a substantial security issue because the
password can possibly be determined by careful watching of the command line
in a process listing. This risk is exacerbated because the plugin will
typically be executed at regular predictable intervals. Please be sure that
the password used does not allow access to sensitive system resources.

Pertama, mari kita periksa sama ada ia berfungsi dengan betul dengan melaksanakan perintah contoh berikut (sila gunakan parameter konfigurasi pelanggan radius anda sendiri dari Zevenet):

root@zevenet5# cd /usr/local/zenloadbalancer/app/libexec/
root@zevenet5# ./check_radius -H <RADIUS_SERVER_IP> -P <RADIUS_SERVER_PORT> -u <DUMMY_USER_NAME> -p <DUMMY_USER_PASSWD> -F <RADIUS_CLIENT_CONFIG_FILE>

Ujian akan dilakukan dari alat Zevenet ke satu pelayan RADIUS tertentu dengan pengesahan pengguna palsu dan, secara pilihan, fail konfigurasi klien untuk parameter klien tertentu. Mari kita uji perintah, dan kemudian, apabila kita mendapat OK dari pelayan dan KEGAGALAN ketika turun kita dapat mengkonfigurasi pemeriksaan kesihatan lanjutan di Perkhidmatan Kami seksyen perkhidmatan maya kami yang baru dibuat.

Jangan lupa untuk menggunakan HOST token apabila mengkonfigurasi pemeriksaan kesihatan lanjut di Zevenet seperti di bawah.

check_radius -H HOST -P 1812 -u johndoe -p johnspass -F /etc/radius_client.cfg

Lihat di bawah Perkhidmatan Kami konfigurasi bahagian.

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 ada beberapa kesulitan dari pilihan ini kerana lapisan aplikasi tidak mengetahui tentang kebijakan keselamatan, kerana ini tersirat dalam lapisan jaringan. Untuk menggunakan pendekatan ini dengan Zevenet, diperlukan beberapa konfigurasi manual kerana belum disatukan.

Spesifikasi DTLS or Keselamatan Layer Pengangkutan Datagram membolehkan untuk menyediakan penyulitan, memantau dan mengawal dasar keselamatan lalu lintas tersebut.

Satu lagi pilihan akan menjadi RADIUS TLS yang menyediakan keupayaan TCP keandalan dan lapisan pengangkutan dalam pesanan.

Untuk pendekatan seperti ini, IANA telah mencipta kemasukan rasmi untuk RadSec (Keselamatan RADIUS) untuk menggunakan UDP 2083 pelabuhan untuk RADIUS / TLS pelaksanaannya.

Pilihan lain adalah untuk meningkatkan lapisan pencerapan dan pengesahan dengan EAP (Protokol Pengesahan Terlanjutan) yang tidak digunakan dalam lapisan penubuhan pautan tetapi semasa fasa pengesahan sambungan, mengelakkan penggunaan MD5 pengurangan yang lemah.

Di samping itu, dengan Zevenet, perkhidmatan RADIUS boleh dilindungi dengan modul IPDS terhadap paket jahat dan tuan rumah, serangan DoS, cubaan kuasa kasar dan banyak lagi.

Keupayaan Proksi RADIUS

Sekiranya beberapa pelayan RADIUS dikerahkan di pelbagai laman web, akan menarik untuk meneruskan sambungan pelanggan ke laman web yang menguruskan data pengesahan, kebenaran dan perakaunan mereka. Pada masa ini, Zevenet tidak menyokong keupayaan proksi RADIUS tetapi ia akan disertakan dalam masa terdekat. Nantikan perkembangan terkini!

Nikmati perkhidmatan mengakses rangkaian yang tersedia dan berskala tinggi anda!

Berkongsi pada:

Dokumentasi di bawah syarat-syarat Lesen Dokumentasi Bebas GNU.

Adakah artikel ini berguna?

Artikel yang berkaitan