FreeRADIUS ve 802.1X ile Ag Erisim Kontrolu Kurulumu
Bir switch portuna fiziksel olarak takılan her cihaz, port up olduğunda ağa dahil olur. 802.1X bu varsayımı ortadan kaldırır: port, arkasındaki cihaz kimliğini kanıtlayana kadar yalnızca EAPOL paketlerini geçirir, DHCP, ARP, HTTP gibi trafiği geçirmez. Kimlik kanıtı RADIUS sunucusunda doğrulanır ve port açılır. Yani erişim kontrolü artık VLAN ataması değil, port seviyesinde, kimliğe bağlı hale gelir.
Kim Kimi Doğruluyor
Üç aktör var. Supplicant, cihaz üzerindeki kimlik doğrulama istemcisi; Windows tarafında Wired AutoConfig servisi, Linux tarafında wpa_supplicant bu rolü üstlenir. Authenticator, switch ya da access point. Kendi başına hiçbir karar vermez, EAP mesajlarını RADIUS paketlerinin içine sararak sunucuya taşır. Authentication server ise FreeRADIUS. Supplicant ile authenticator arasındaki protokol EAPOL, authenticator ile sunucu arasındaki protokol RADIUS. Switchin bu ikisi arasında köprü kurması dışında bir iş yapmaması, mimarinin en sık gözden kaçan detayı.
Kurulum ve Yol Farkı
Debian ve Ubuntu tarafında paket adı freeradius, yapılandırma /etc/freeradius/3.0/ altında durur. RHEL türevlerinde paket aynı isimli olur ama konfigürasyon dizini /etc/raddb olur. Dağıtımdan bağımsız olarak iki komut elinizin altında olmalı:
freeradius -XC
freeradius -X İlki yapılandırmayı sözdizimi düzeyinde test eder, sorun varsa satır numarasıyla söyler. İkincisi sunucuyu ön planda, tam detaylı log ile başlatır. 802.1X kurulumunun yarısı bu debug çıktısını okumaktan geçer.
Switchi Sunucuya Tanıtmak
FreeRADIUS, kendisine RADIUS paketi gönderebilecek her istemciyi clients.conf içinde tanımlanmış ister. Tanımsız bir IP adresinden gelen paket sessizce reddedilir ve switch tarafında cevap gelmiyormuş gibi görünür. Kaynak IP adresi belge amaçlı örneklere ait, kendi ortamınıza göre değiştirin:
client lab-switch {
ipaddr = 192.0.2.10
secret = GucluBirSifre123
shortname = labsw01
} secret, switch ile sunucu arasında paylaşılan anahtar. İki tarafta birebir aynı olmalı; debug çıktısında signature mismatch benzeri hatalar genelde bu yüzden çıkar. Sunucu firewall arkasındaysa switch adreslerinden 1812/udp portuna izin gerekir. 1813/udp ise accounting içindir, 802.1X için zorunlu değil ama açık tutmak akıllıca.
EAP Türü ve Sertifikalar
FreeRADIUS 3.x kurulumda EAP modülü mods-enabled/eap dosyasındadır ve default_eap_type değeri stok haliyle md5 gelir. MD5, test dışında kullanılmaması gereken eski bir tür. Gerçek kurulumda bunu tls ya da peap yapmanız gerekir.
Her iki tür de sunucu tarafında sertifika ister. Debian altında /etc/freeradius/3.0/certs/ dizininde yer alan bootstrap betiği, ilk çalıştırmada kendi kendine imzalı bir CA zinciri ve sunucu sertifikası üretir:
cd /etc/freeradius/3.0/certs
./bootstrap Üretilen ca.pem istemcilere dağıtılmalıdır; özellikle Windows makineler PEAP sırasında sunucu sertifikasını imzalayan CA yı güvenilir kökler arasında görmezse bağlantıyı reddeder. Üretim ortamında bootstrap çıktısını olduğu gibi kullanmayın, kendi CA nızla imzalanmış sertifika takın. Stok sertifikaların ömrü kısadır ve süre dolduğunda PEAP sessizce bozulur; sebep her zaman son kullanma tarihidir, logda buna benzer bir cümle görmek kolaydır.
EAP-TLS mi PEAP mı
EAP-TLS istemciden de sertifika ister, çift yönlü kimlik doğrulama sağlar ve özellikle Windows tabanlı büyük filolarda makine sertifikalarıyla ölçeklenir. PEAP, dış tünel TLS ile kurulur, iç tarafta kullanıcı adı ve parola doğrulanır; iç tür neredeyse her zaman MSCHAPv2 olur. Parola tabanlı, hızlı devreye alınabilir bir yol arıyorsanız PEAP, sertifikayı her iki tarafa da taşıyabiliyorsanız EAP-TLS tercih edin.
Kullanıcı Kaydı ve İlk Test
Dosya tabanlı yetkilendirme Debian altında mods-config/files/authorize dosyasından yürür. Basit bir PEAP kullanıcısı:
ahmet Cleartext-Password := "parola123" Sunucuyu durdurup freeradius -X ile başlatın, ardından başka bir terminalden:
radtest ahmet parola123 127.0.0.1 0 testing123 Burada testing123, kurulumda localhost için clients.conf içine yazılan stok secret değeridir. Access-Accept görüyorsanız kimlik doğrulama zinciri dosya tarafında çalışıyor demektir. PEAP ve EAP-TLS gibi tünelli türleri gerçek istemciyle test etmek için wpa_supplicant kaynaklarından derlenebilen eapol_test aracı kullanılır; radtest tüneli taklit etmez. Kullanıcı kaynağı olarak LDAP ya da Active Directory gerekirse mods-available/ldap üzerinden bağlanılır, ancak dosya ile çalışan bir yapı kurup sonraki adımda dizine geçmek hata ayıklamayı ciddi kolaylaştırır.
Cisco Tarafında Gerekenler
Authenticator rolündeki switch üzerinde AAA ve dot1x yapılandırması gerekir. IOS sözdizimi kabaca şöyle:
aaa new-model
aaa authentication dot1x default group radius
radius-server host 192.0.2.20 key GucluBirSifre123
dot1x system-auth-control
!
interface GigabitEthernet0/5
switchport mode access
dot1x pae authenticator
authentication port-control auto Eski IOS sürümlerinde dot1x port-control auto satırı aynı işi görür. Port üzerinde show authentication sessions çıktısı, oturumun hangi yöntemle, hangi sonuçla açıldığını gösterir. Yazıcı, kamera gibi supplicant barındırmayan cihazlar için MAB, kimliği doğrulanamayan cihazları kısıtlı bir misafir VLAN aına yönlendirmek için guest VLAN anahtar kelimesi switch tarafında aramanız gereken iki özellik.
Kimliğe Göre VLAN
FreeRADIUS, onay yanıtıyla birlikte switchin portunu atayacağı VLAN ı da söyleyebilir. users dosyasında yanıt nitelikleri olarak şunlar eklenir:
ahmet Cleartext-Password := "parola123"
Tunnel-Type = VLAN,
Tunnel-Medium-Type = IEEE-802,
Tunnel-Private-Group-Id = "20" Switchin dinamik VLAN atamasını desteklemesi şart. Dinamik VLAN sayesinde yazıcı mühendis departmanına taşındığında port yapılandırmasına dokunmanız gerekmez, kimlik zaten doğru ağa düşürür.
Bozan Küçük Şeyler
En sık karşılaşılan üç hata: clients.conf tarafındaki secret ile switch tarafindeki anahtarın uyuşmaması, süresi dolmuş sunucu sertifikası ve sunucunun test aracıyla değil gerçek supplicant ile denenmemiş olması. Üçünün teşhisi de freeradius -X çıktısında görünür; EAP yönlendirme zinciri adım adım loglanır, kırıldığı nokta ekrana yazılır.
Yapı çalışır hale geldiğinde port güvenliği, MAC filtreleme gibi geçici çözümlere olan ihtiyaç kendiliğinden kalkar. Kullanıcı adı ve parolayı dizin servisine bağladığınızda ağ erişimi, kurumsal kimliğin doğal bir uzantısı olur. FreeRADIUS tarafında değişen tek şey yetkilendirme kaynağı olur, switch yapılandırması aynen kalır.