PfSense FreeRadius ve Captive portal kurulumu

PfSense FreeRadius ve Captive portal kurulumu

PfSense_FreeRadius
Merhaba Arkadaşlar,
Bu gün kü komuzuda PfSense üzerinde FreeRadius kurulumu ve yapılandırmasını inceliyor olacağız.
Bu makalemizde ;
  • -Radius Server Nedir
  • -FreeRadius nedir pfsense üzerine nasıl kurulur ve nasıl configure edilir
  • -FreeRadius Kurulumu ve Captive portal Entegrasyonu nasıl yapılır.
  • -FreeRadius üzerinde oluşturduğumuz kullanıcılara download/upload kota,mac filtreleme… gibi uygulamaları uygulayarak test edeceğiz.
Öncelikle konumuza bir giriş yapalım ve inceleyeceğimiz serverın ne olduğundan başlayalım.

Radius Server Nedir :
            RADIUS  (Remote Authentication Dial-iUser Service) Livinstone Enterprise tarafından geliştirilmiş bir protokoldür. RADIUS istemci-sunucu modeli tabanlıdır ve mesaj değişimi UDP protokolü ile gerçekleşir.FreeRADIUS dünyada en çok tercih edilen açık kaynak kodlu RADIUS serverdır. Dünya üzerindeki birçok ISP firması RADIUS server olarak FreeRADIUS kullanmaktadır.
RADIUS client-server modeli tabanlıdır ve mesaj değişimi UDP protokolü ile gerçekleşir. Network Access Server (NAS), RADIUS kullanıcısı olarak davranır ve kullanıcı isteğini RADIUS server’a aktarır. Diğer RADIUS kullanıcıları wireless access point, routerler, ve switchler olabilir. RADIUS server kullnıcılardan istek aldıktan sonra için authentication, authorization, and accounting (AAA)işlemlerini gerçekleştirir. RADIUS (Remote Authentication Dial-in User Service) sunucular uzaktan bağlanan kullanıcılar için kullanıcı ismi-şifre doğrulama (authentication), raporlama/erişim süresi (accounting) ve yetkilendirme (authorization) işlemlerini yapar Kullanıcı ve server arasındaki iletişim private key ile şifrelendirilmiş şekilde gerçekleştirilir, bu sayede şifre asla network üzerinden gönderilmez. Kullanıcı ve serverlar iletişim olmadan önce bu güvenlik yöntemine göre konfigure olmuştur, ve eğer şifreler uyuşmazsa bağlantı sonlandırılır. RADIUS serverlar farklı databaseler’e (örneğin SQL, LDAP) entegre edilebilir authentication methodları kullanır.
            Örneğin işyeri dışından şirket ağına bağlanmak için bu yapı kullanılabilir, kullanıcılar tek tek yetkilendirilebilir .Daha çok internet servis sağlayıcıları tarafından kullanılsalar da, kendi kullanıcılarına hesap açma ve yetkilendirme yapabilmek için merkezi bir kontrol kurulmak istenen tüm ağlarda kullanılabilir. Geniş Wi-Fi (kablosuz) ağlarda da sıklıkla kullanılır.
            RADIUS serverler authentication/authorization işlemini yapar. RADIUS’un kendi lokal veritabanına ya da external veritabanına sahip olabilir. Lokal veri tabanında ki kullanıcılara native users (yerli kullanıcılar) denir.
RADIUS serverlar proxy server olarak da davranabilir, yani RADIUS server gelen istekleri başka RADIUS server’a iletip gelen cevabı RADIUS kullanıcısına geri iletebilir. Proxy server olarak davranabilmesi 2 ayrı internet sağlayıcısının bir birleri ile bağlantı kurmasını sağlar. RADIUS standartı ilk olarak authentication ve accounting paketleri için UDP 1645 ve 1646 portlarını kullanır. Fakat daha sonra RADIUS standart grubu 1812 ve 1813 portlarını atadı, fakat hala daha bir çok şirket 1645/1646 protlarını kullanır. RADIUS IPv6 desteği bulunmaktadır.
RADIUS, UDP protokolü üzerine dayalıdır. Bu makalemizde 1812-1813 nolu UDP portlarını kullanacağız.
RADIUS için geliştirilmiş özgür yazılımlardan biri FreeRADIUS. Bu yazılımla yapabileceklerinizin bir kısmı şöyle:
  • Kişi bazında yetkilendirme yapılabilir.
  • Gruplar tanımlanıp, farklı erişim hakları verilebilir.
  • Yapılan girişlerin kaydı tutulabilir.
  • Sisteme o an bağlı kullanıcı listesini gösterebilir.
  • Tek kullanıcının aynı anda iki bağlantı yapması engellenebilir. Bunu Captive portalda yapamazsınız !
  • Proxy kullanımını destekler
FreeRADIUS, şu işletim sistemleri üzerinde çalışabiliyor :AIX, Cygwin, FreeBSD, HP-UX, Linux (CentOS, Debian, Mandriva, RedHat, SUSE, Turbolinux, Ubuntu), Mac OSX, NetBSD, OpenBSD, OSF/Unix, Solaris.
Freeradius_diagram
Artık Kurulum için yapılandırmaya geçebiliriz.
1-)İlk olarak pfsense Serverımıza FreeRadius2 Paketi kuruyoruz bunun için
System –> Package seçeneği takip ediyoruz ve ubrada FreeRadius2 paketini bulup kurulumunu yapıyoruz.
FreeRadius_01
Bu işlemden sonra Services menüsü altında FreeRadius Seçeneğini göreceksiniz eğer sisteminizde hemen bu menü altında yer almadıysa pfsense firewallınızı restart ediniz.
2-) Öncelikle Proxy Serverımızın ayarlarının aşağıdaki gibi olduğunu kontrol ediyoruz.
FreeRadius_02
Access Control sekmesinde Subnet bilgimizin aşağıdaki gibi göründüğünden emin olalım.
FreeRadius_03
Proxy Serverımızın bu ayarlarını yapılandırdıktan sonra makinemizin internete çıkıp çıkmadığını kontrol edelim eğer internetimiz sorunsuz şekilde çalışıyorsa aşağıdaki adımları takip edebiliriz.
3-)  Servers –>FreeRadius Seçeneğini seçerek Radius serverımızı yapılandırmaya geçiyoruz. Aşağıdaki şekilde Loglama seçeneklerini enable ederek devam ediyoruz
FreeRadius_04
Sayfanın en altındaki Enable Plain MAC Auth kutucuğunu aktif hale getiriyoruz. Diğer bölümler ile ilgili bir değerde değişiklik yapmıyoruz bu haliyle kayıt ediyoruz.
FreeRadius_05
4-)FreeRadius –> Interfaces tabına geçiyoruz ve + ya basarak Radius serverımızın kullandığı portları açıyoruz.
FreeRadius_06
Authentication ve Acaunt doğrulaması için bize önerilen 1812-1813 portlarını açıyoruz
FreeRadius_07
5-)Server–>Captive Portal Seçeneğini takip ediyorum ve captive portal için bir zone tanımlıyorum(Bir önceki makalede bu adımı anlatmıştım.) ve Captive portalı enable ediyoruz.
FreeRadius_08
Status –> Services diyerek çalışmakta olan servislerimizi görüntülüyoruz.
Burada captiveportal servisimizin çalıştığını görüyoruz birazdan captive portal için Radius server üzerinde tanımlama yapacağız.
FreeRadius_09
6-)FreeRadius –>NAS/Clients sekmesine geliyoruz ve aşağıdaki gibi
Client ip address: Bu bölüme Pfsense firewall sunucunuzun ip adresini
Client Shortname: Bu kısmada az önce yukarıda çalışırlığını gördüğümüz captiveportal serverın adını
Client Shared Secret : Bu bölümeyse içerisinde tr karakter olmayan bir şifre giriyoruz.
FreeRadius_10
Bu işlemi yaptıktan sonra Save diyerek kayıt ediyoruz. 
7-) Sıra Radius Server için User(Kullanıcı) Hesabı oluşturmaya geldi bu kısım da oluşturduğunuz kullanıcı ile ilgili bir çok şeyi kısıtlayabilmektesiniz şimdi kullanıcı ile ilgili olan bölümleri inceleyelim.
FreeRadisu –>User tabındayken sağdan + butonuna basıyoruz ve yeni bir user ekleme ekranı geliyor karşımıza.
Aşağıdaki ekranda
FreeRadius_11
GENERAL CONFIGURATION
Username :kullanıcı adı tanımlanacak
Password : kullanıcı hesabı için bir parola belirliyoruz
Password encryption : şifreleme formatını dilerseniz buradan değiştirerek MD5 yapıp 128 bitlik bir şifrelemede verebilirsiniz.
Enable one-Time : seçeneğini seçerseniz bu kullanıcı hesabı bu parola ile sadece bir kez internete giriş yapabilecek anlamına gelmektedir. Bu seçeneği enable ettiğinizde aşağıdaki
İnit-Secret , PIN , Time Offset seçenekleri aktif olmaktadır.
MISCELLANEOUS CONFIGURATION
Number of simultaneous connections : Bu seçenek ile bu hesap bilgilerini kullanarak aynı anda kaç kullanıcının internet kullanabileceğini belirliyoruz.
Redirection URL :buraya girdiğiniz site http://www.serdarbayram.net formatında site adı girerek internete çıkmak isteyen kullanıcıları ilk olarak bu sayfaya yönlendirmiş olursunuz
Description : burahya ise user hakkında açıklama girebilirsiniz.
FreeRadius_12
TIME CONFIGURATION
Expiration Date :Buraya Kullanıcı hesabının en son hangi tarihe kadar kullanılabileceği bilgisini giriyoruz.
  Ör: Nov 12.2014 gibi bize belirttiği formatta girmeliyiz.
Session Timeout : Kullanıcı Belirtilen süre kadar internet kullanabilir
Possible Login Times :Burada bize belirtmiş olduğu formatta kullanıcının hangi günler hangi saatler arası internete girebileceğini belirlememize olanak sağlar.
Amount of Time :Kullanıcı hesabı için buraya girilen dakika kadar sonra bağlantıyı keser kullanıcı tekrar kullanıcı bilgileri ile giriş yapmak durumunda kalır.
Time Period :Bu bilgileri günlük haftalık aylık olarak belirleyebilirsiniz:
Ör: kullanıcıya günlük 2 saat internete girme hakkı tanıdınız buraya weekly yaparsanız haftada 2 saat internet kullanma hakkı olacak gibi düşünebilirsiniz.
TRAFFIC AND BANDWIDTH
Amount of Download and Upload Traffic : Buraya kullanıcı hesabı için upload ve download kotaları koyabilirsiniz gireceiniz değer MB cinsinden olmalıdır.
Time Perio : Bu bilgileri günlük haftalık aylık olarak belirleyebilirsiniz.
Maximum Bandwidth Dow : Max Dowlod kotasını belirleyebilirsiniz.
Maximum Bandwidth Up : Max Ipload kotasını belirleyebilirsiniz.
8)Radius serverımız üzerinde kullanıcı hesabımızı tanımladık ve şimdi Server –> Captive Portal seçeneğine gidelim ve Captive portal üzerinde Raius Server ayarlarını yapılandıralım.
Captive portalımızı açıyoruz ve Authentication Bölümüne geliyoruz.
FreeRadius_13
İp address : bu kısma Radius serverın ip adresini giriyoruz
Shared secret : buraya ise Radius server da belirlemiş olduğumuz paylaşım anahtarını giriyoruz.
Secondary Authentication Source bölümünde eğer 2. Bir Radius serverınız yok ise bu alanı boş bırakıyorsunuz.
FreeRadius_14
Sayfanın al kısımlarını resimde sarı ile işaretlenmiş bölgeleri dikkate alarak düzenliyoruz.
Radius Options bölümünde
Mac Authentication secret için : Radius serverda belirlemiş olduğumuz şifreyi giriyoruz.
Radius NAS IP attribute : bölümünde local ip adresimizi giriyoruz
Mac Address formatında ise ietf formatını seçmemiz gerekiyor bu formatta mac adreslerini “-“(çizgi) ile ayırıyoruz.
9-) Artık Radius serverımız için gerekli adımlarımızı tamamladık şimdi ağımızdaki bir makineden internete çıkmayı denediğimizde bizi captive portal login sayfası karşılıyor.
Buraya Radius server da oluşturmuş olduğum misafir kullanıcısı ile giriş yapıyorum
FreeRadius_15
Captive portal bizi yönlendiriyor.
FreeRadius_16
Evet Artık Captive portal ve Rradius server kimlik doğrulamasından geçerek internete çıkabiliyoruz.
FreeRadius_17
Şimdi Captive portal monitoring ekranına bakarak kimlerin internet kullandığını görüntüleyelim.
FreeRadius_019
Ekran görüntüsünde gördüğünüz gibi artık internete çıkan tüm kullancıların
  • ip adreslerini
  • Mac Adreslerini
  • Kullanıcı isimlerini
Görüntüleyebilmekteyiz bağlantısını kesmek istediğiniz kullanıcıyı bağlantının karşısındaki çarpı butonuna basarak sistemden atabilirsiniz.
10-) Eğer kullanıcıların internete çıkarken captive portal karşılama adresi ile karşılaşmadan nete çıkmalarını istiyorsanız! 
Bu işlem için Mac authentication yapmamız gerekiyor;
ilk olarak kullanıcının captive portal üzerinden adına bakıp mac adresini bir yere not ediyoruz  ve daha sonra 
Server –>Free Radius –> Macs Tabına geliyoruz .Sağdan “+” butonuna basarak devam ediyoruz.
FreeRadius_20
Kimlik doğrulamasının otomatik olarak mac adresi üzerinden yapılmasını istediğimiz bilgisayarın mac bilgilerini (:) yerine çizgiler (-) ayırarak yazıyoruz.
FreeRadius_21
Bu mac adresine sahip bilgisayar için kısıtlama yapmak istersek Kullanıcı(User) bölümünde açıklamış olduğum kısıtlama(internet trafiği download upload kotaları …vs) gibi menüler ve işlevleri aynı şekilde mac filtreleme için de geçerlidir.
Mac adresini yazıp save diyerek kayıt ettiğimizde Captive portal ekranı artık karşımıza gelmeyecek ve bu makine otomatik olarak internete çıkacaktır.
Bu kullanıcıyı captive portal üzerinde mac adresi ile görüntüleyeceksiniz buda mac doğrulamasından geçmiş olduğunu gösterecektir.
FreeRadius_22
Serdar BAYRAM

Hiç yorum yok:

Yorum Gönder