Foundations·14 Feb 2021·7 min read·Güncellendi: 15 Jul 2026

RADIUS Server Nedir ve Nasıl Entegre Edilir?

Tanımsal olarak baktığımızda RADIUS, baş harflerini "Remote Authentication Dial-in User Service" tanımından alan uygulama katmanı protokollerinden biridir. İletişim yöntemi olarak UDP protokolünü kullanır ve Server (Sunucu) / Client (İstemci) mimarisi üzerine kuruludur.

RADIUS Server Nedir ve Nasıl Entegre Edilir?
How to Integrate RADIUS

Tanımsal olarak baktığımızda RADIUS, baş harflerini "Remote Authentication Dial-in User Service" tanımından alan uygulama katmanı protokollerinden biridir. İletişim yöntemi olarak UDP protokolünü kullanır ve Server (Sunucu) / Client (İstemci) mimarisi üzerine kuruludur.

RADIUS sunucusu temel olarak authentication (kimlik doğrulama), authorization (yetkilendirme) ve accounting (kayıt tutma) işlemlerini yürütür. Basit olarak bir "Secret" (gizli anahtar bilgisi) ile iletişimi şifreler. Bir uyuşmazlık durumunda ise iletişimi devam ettirmez.

RADIUS'un en temel kullanım amaçlarından biri, network cihazlarındaki oturum açma işlemlerinin tekilleştirilmesi ve Active Directory/LDAP sunucuları üzerinden oturum açmaya olanak sağlamasıdır. Çoğunlukla network cihazları üzerinde gördüğümüz RADIUS protokolü desteği, yönetilmesi zor ortamların basit konfigürasyonlar ile yönetilebilmesine olanak sağlar.

Tanımsal kısmı atlamadan, RADIUS'un UDP protokolü üzerindeki 1812 ve 1813 (bazı sistemlerde 1645 ve 1646) portlarını kullandığını belirtelim.

RADIUS Standart İletişim Mesajları

RADIUS Server, Attribute'ler kullanılarak genişletilebilen bir mekanizmaya sahiptir. Fakat burada aklımıza istediğimiz gibi esnetebileceğimiz bir yapı gelmemeli. RADIUS'u daha basite indirgeyerek talep ve cevap için kullandığı mesajları inceleyebiliriz.

Access-Request (Client) - Erişim İsteği

Bu, standart olarak istemcinin sunucuya yapmış olduğu taleptir. İstemci, RADIUS'a erişim talebini iletir. Burada paket tanımı olarak "Erişim Talebi" aklımızda yer edebilir.

Access-Reject (Server) - Erişim Reddi

İlk olarak ret mesajı üzerinden gidelim. Sunucu, yapılan talebi reddetmek istediğinde bu mesajı gönderir. Mesela kullanıcı adı veya parola yanlış girildiğinde bu mesaj gönderilir. Veya talep, sunucunun aradığı yükümlülükleri karşılamıyorsa yine aynı mesaj dönülür.

Bu iletişim paketine aynı zamanda bilgilendirme için Reply-Message eklenebilir. Bu mesaj içerisinde isteğin neden reddedildiği belirtilebilir.

Access-Accept (Server) - Erişim Onayı

Bütün talepler karşılandığında sunucu, cevap olarak bu mesajı döner. Bu mesajı alan Client (İstemci) artık bütün işlemlerin doğru olduğunu kabul ederek talebi ilerletebilir. Bu noktada kişinin kendisinden istenen oturum bilgilerini doğru girdiği kabul edilir.

Access-Challenge (Server) - Erişim İtirazı

Sunucu, yapılan erişim talebinin ikincil (veya bu süreç sürekli artırılabilir) bir doğrulamaya daha ihtiyacı olduğunu ifade edebilir. Veya özel bir durum söz konusu olduğunda Access-Challenge üzerinden Reply-Message ile birlikte kullanıcı bilgilendirilebilir.

İkincil veya çok faktörlü doğrulama yöntemleri için Access-Challenge mesajı gönderilir. Bu noktada Reply-Message içerisinde olan bilgi doğrudan kullanıcıya gösterilir.

Örneğin; "5XX XXX XX 45 telefon numarasına gönderilen doğrulama kodunuzu giriniz."

RADIUS'un İki Faktörlü veya Çok Faktörlü Doğrulama Yöntemi Olarak Kullanılması

RADIUS'un birçok kullanım alanı bulunuyor. Bu alanlardan biri ise ikincil veya çok faktörlü doğrulamada bize yardımcı olması. RADIUS sunucusu bu aşamada, authentication (kimlik doğrulama) esnasında birincil seçenek sonrasında (kullanıcı adı ve parola) karşımıza çıkan, aktif veya pasif olarak nitelendirebileceğimiz bir doğrulama mekanizması sunuyor.

Bir örnekle şekillendirecek olursak, SSL VPN cihazının Active Directory / LDAP üzerinden konfigüre edildiğini düşünelim. Bütün birincil oturum açma isteklerimiz ilk olarak Active Directory / LDAP tarafından karşılanıyor. Bu kısımdan onay geldiğinde (kullanıcı adı ve parolanız doğru), ikincil doğrulama olarak konfigüre edilmiş olan seçenek kullanıcının karşısına çıkıyor. Burada tabii ki interaktif bir ekrandan bahsetmiyoruz. Basit olarak kullanıcının karşısına çıkan ve doğrulama kodunu girebileceği bir giriş kutusundan bahsediyoruz.

Bir önceki başlıkta bahsettiğimiz Access-Challenge ve Reply-Message bu işlem için yeterlidir; fakat sunucu bir şekilde, gelen isteğin mevcut isteğin devamı olduğu konusunda bilgilendirilmelidir. Bu bilgilendirmeyi yapmak için State özelliği kullanılır. Böylece mevcutta bulunan bir süreç konusunda RADIUS Server bilgilendirilir.

RADIUS'u MFA için Push Notification (Anlık Bildirim) ile Kullanmak

RADIUS, yapısı itibarıyla aktif-aktif bir iletişim gerçekleştiren, daha doğrusu Event-Driven (Olay Güdümlü) bir mimariye sahip değildir. Push Notification (Anlık Bildirim) veya telefon çağrısı üzerinden MFA gibi işlemler ise aktif bir iletişim gerektirir. Küçük bir örnek verecek olursak, şöyle bir mimarinin RADIUS üzerinde mevcut özellikler kullanılarak kurulması maalesef pek mümkün değildir:

[CLIENT] -> Kullanıcı Adı ve Parola girilir
[SERVER] -> Kullanıcı Adı ve Parola sunucuya gönderilir
[SERVER] -> Lütfen telefonunuza gelen bildirime dokunun
[CLIENT] -> Bildirim'e dokunulana kadar bekle
[SERVER] -> Bildirim Onaylandı/Reddedildi, tekrar CLIENT'ı bilgilendir.
[CLIENT] -> Cevabı aldım, kullanıcı oturum açabilir.

Bu noktada dikkat edersek sunucunun, onayı aldığına dair istemciyi bilgilendirmesi gerekiyor. Ama maalesef böyle bir bilgilendirme yalnızca aktif iletişimde yapılabilir gibi görünüyor. Fakat bu yöntemi Timeout değeri üzerinden manipüle etmek mümkün. Bu noktada bazı ürünler (Monosign da bu ürünlerden biri) cevap alana kadar isteği bekletip, cevap geldikten sonra ilgili işlemleri yürütebilir. Dilerseniz bu kısma Monosign üzerinden örnek vererek devam edelim.

Monosign Üzerinde RADIUS Server Kullanımı

Monosign, içerisinde yerleşik (built-in) bir RADIUS Server barındıran bir Kimlik ve Erişim Yönetimi uygulamasıdır. Monosign ile tüm kimlik doğrulama, yetki, rol, çok faktörlü kimlik doğrulama (MFA) ve tek oturum açma (Single Sign-On) işlemlerini gerçekleştirebiliyoruz.

Monosign ile RADIUS Server üzerinden kimlik doğrulama işlemini gerçekleştirmek için ilk olarak bir uygulama oluşturuyoruz. Bu noktada ben uygulamaya Radius Server ismini veriyorum.

Uygulamayı oluşturduktan sonra bir erişim anahtarı (Access Key) tanımlamam gerekiyor. Tanımladıktan sonra sistem bana, sadece bu uygulama için özel üretilen iki anahtar değeri veriyor.

Monosign Radius Server Uygulama Tanımı
  • MonoSign-AppId : Anahtar Kimliği
  • MonoSign-AppKey : Anahtar Değeri

Bu değerleri, Monosign Radius Server için kurulumunu yaptığımız uygulamanın Environment Variables (Ortam Değişkenleri) kısmında kullanacağız.

Örnek ortam değişkenlerimiz aşağıdaki gibi olsun;

# RANDOM GENERATED SECRET
MONOSIGN_RADIUS_SECRET=beb84da9-dbf5-420b-b86f-e7ed90a50f28
# MONOSIGN API URL
MONOSIGN_RADIUS_API_URL=https://monosign-api.eu.ngrok.io/
# MONOSIGN APPID and APPKEY
MONOSIGN_RADIUS_APPID=19c68120-4ba7-44cf-825d-7b44f4482892
MONOSIGN_RADIUS_APPKEY=91d4b0b1-9385-4079-81cf-da8ee64b9be1
# YOU CAN PROVIDE CUSTOM PORTS IF YOU WANT
MONOSIGN_RADIUS_AUTHENTICATION_PORT=1812
MONOSIGN_RADIUS_ACCOUNTING_PORT=1813

Bu bilgileri yazdıktan sonra artık RADIUS Server bilgilerimizi herhangi bir uygulamaya girebiliriz. Örneğin Pulse Secure SSL VPN tanımında bu değerleri giriyor olalım (burada RADIUS destekleyen herhangi bir uygulamayı da kullanabilirsiniz).

Pulse Secure RADIUS Ayarları

Buradaki bilgilerin tamamını Monosign bize sağlıyor. Bu noktada bu bilgileri girmemiz yeterli. Şimdi test işlemimizi yapalım.

Önce yöntemimi seçiyorum:

Pulse Secure - MFA RADIUS

Sonrasında talep ettiği bilgileri giriyorum:

Pulse Secure - MFA RADIUS

İlk olarak kullanıcı adı ve parolamızı girdik. Burada kullandığımız kullanıcının hesabında MFA tanımı bulunuyor. Seçmiş olduğu yöntem ise "Google Authenticator". Şimdi giriş yaptıktan sonra bizi karşılayan ekranı inceleyelim.

Pulse Secure - MFA Google Authenticator

Dikkat edersek karşımıza bir bilgi yazabileceğimiz kutucuk çıkardı. Bu kutucukta talep ettiği bilgiyi ise yukarıda yazıyor.

Type your Google Authenticator Token/Code.

Burada SMS token istiyor olsaydı onu yazacaktı. Fakat Push Notification için gelen süreçte bu ekranı hiç görmüyoruz. Ekran bizi bekletiyor ve Push Notification'ı (Anlık Bildirim) onaylamamızı bekliyor. Sonrasında doğrudan bizi içeri alıyor. Aynı durum tabii ki telefon çağrısı için de geçerli.

Monosign aynı zamanda akıllı saatinizi kullanarak da oturum açma taleplerinizi saatinizden onaylamanıza imkan sağlıyor.

Nasıl Yaparım?

Monosign ile hızlıca RADIUS Server bağlantısı yapıp tüm Kimlik ve Erişim Yönetimi (IAM) sürecinizi yönetebilirsiniz. Daha detaylı bilgi almak için https://monosign.com adresini ziyaret edebilirsiniz.

Kaynaklar

RADIUS Server entegrasyonu Monosign ile çok kolay

Tagsdevelopmentradiusmonosign

Kimlikleri doğru şekilde
yönetmeye hazır mısınız?

Beş dakikadan kısa sürede tam donanımlı bir deneme ortamı kurun. Kredi kartı yok, satış engeli yok.