Cisco Ağ Cihazları için Active Directory Entegreli TACACS+ Kurulumu ve Monitoring
Kurumsal ağ altyapılarında switch, router ve firewall gibi ağ cihazlarına yapılan erişimlerin güvenli bir şekilde yönetilmesi kritik bir gereksinimdir. Geleneksel yöntemlerde her cihaz üzerinde ayrı kullanıcı hesapları oluşturulması hem yönetimsel zorluklar yaratır hem de güvenlik açısından risk oluşturur.
Bu sorunu çözmek için AAA (Authentication, Authorization, Accounting) mimarisi kullanılır. Cisco ağ cihazlarında en yaygın kullanılan AAA protokollerinden biri TACACS+ (Terminal Access Controller Access-Control System Plus) protokolüdür.
TACACS+ sayesinde ağ cihazlarına yapılan erişimler merkezi bir sunucu üzerinden doğrulanır ve kullanıcı aktiviteleri kayıt altına alınır. Bu sistem Active Directory entegrasyonu ile kullanıldığında, ağ yöneticileri Cisco cihazlara kendi domain hesapları ile giriş yapabilir ve kullanıcı yönetimi tamamen merkezi hale gelir.
Bu makalede aşağıdaki konular detaylı olarak ele alınacaktır:
TACACS+ mimarisi
- Linux üzerinde TACACS+ server kurulumu
- Active Directory entegrasyonu
- Cisco switch ve router konfigürasyonu
- Komut bazlı yetkilendirme
- Loglama ve monitoring sistemi kurulumu
TACACS+ ve AAA Kavramı
AAA üç temel bileşenden oluşur.
|
Bileşen |
Açıklama |
Amacı |
|
Authentication |
Kullanıcının kimliğinin doğrulanması |
"Sen kimsin?" (Kullanıcı adı ve şifre kontrolü) |
|
Authorization |
Kullanıcının hangi işlemleri yapabileceğinin belirlenmesi |
"Neleri yapabilirsin?" (Yetki seviyesi ve komut kısıtlama) |
|
Accounting |
Kullanıcının yaptığı işlemlerin kayıt altına alınması |
"Neler yaptın?" (Yazılan her komutun loglanması) |
Sistem Mimarisi
Active Directory entegrasyonlu TACACS+ mimarisi aşağıdaki şekilde çalışır.
Bu yapı sayesinde:
• Network adminleri domain hesapları ile giriş yapar
• Kullanıcı yetkileri merkezi olarak kontrol edilir
• Tüm işlemler loglanır
• Güvenlik ve denetlenebilirlik artırılır
Kullanılacak Bileşenler
Bu makalede aşağıdaki sistemler kullanılacaktır.
|
Bileşen |
Görevi / Rolü |
Protokol / Bağlantı |
|
Ubuntu Server |
TACACS+ servisinin (genelde tac_plus) üzerinde koştuğu işletim sistemi katmanı. |
Ana Platform |
|
Active Directory (AD) |
Tüm ağ adminlerinin kullanıcı bilgilerini ve gruplarını tutan merkezi veritabanı. |
LDAP / LDAPS (636) üzerinden sorgulanır. |
|
TACACS+ Sunucusu |
Cisco cihazlarından gelen istekleri karşılar, AD'ye sorar ve "Authentication, Authorization, Accounting" işlemlerini yönetir. |
TCP 49 portunu kullanır. |
|
Cisco Switch/Router |
Adminin bağlanmaya çalıştığı uç nokta. Kullanıcı bilgilerini TACACS+ sunucusuna iletir. |
TACACS+ Protokolü |
|
IPSec VPN / WAN |
Uzaktaki adminin yerel ağdaki Cisco cihazına güvenli bir tünel üzerinden erişmesini sağlar. |
IKEv2 / ESP |
|
ELK Stack |
TACACS+ loglarını toplar, görselleştirir ve kimin hangi komutu yazdığını raporlar. |
Syslog / Filebeat |
TACACS+ Server Kurulumu (Linux)
Sunucu işletim sistemi olarak Ubuntu Server kullanılacaktır.
Sistem Güncelleme
sudo apt update
sudo apt upgrade
TACACS+ Kurulumu
sudo apt install tacacs+
TACACS+ Temel Konfigürasyonu
Konfigürasyon dosyasını düzenleyelim.
sudo nano /etc/tacacs+/tac_plus.conf
key = enable_akademi123
accounting file = /var/log/tacacs.log
user = admin {
default service = permit
login = cleartext password123
}
Active Directory Entegrasyonu
Active Directory entegrasyonu için Linux sunucuda LDAP bağlantısı kurulur.
AD kullanıcıları TACACS+ tarafından doğrulanabilir hale gelir.
Gerekli paketler:
sudo apt install libpam-ldap nslcd ldap-utils
LDAP bağlantısı yapılandırılır.
AD server bilgileri girilir:
LDAP URI: ldap://192.168.1.10
Base DN: dc=enableakademi,dc=local
Test etmek için:
ldapsearch -x
TACACS+ ile AD Kullanıcı Doğrulama
TACACS konfigürasyonuna LDAP authentication eklenebilir.
sudo nano /etc/tacacs+/tac_plus.conf
Dosyanın içine user tanımlamalarının olduğu bölüme eklenir.
Örnek tam yapı :
key = enable_akademi123
accounting file = /var/log/tacacs.log
user = DEFAULT {
login = PAM
service = exec {
priv-lvl = 15
}
}
Bu ayar tüm ad kullanıcılara yetki tanımlar , belirli bir grup adminlik ve sadece readonly için aşağıdaki ayarlar olmalıdır.
key = enable_akademi123
accounting file = /var/log/tacacs.log
group = network-admins {
service = exec {
priv-lvl = 15
}
}
group = readonly {
service = exec {
priv-lvl = 1
}
}
user = DEFAULT {
login = PAM
member = network-admins
}
PAM Neden Kullanılıyor?
Active Directory doğrulaması Linux’ta genelde PAM üzerinden yapılır.
Akış şöyle olur:
Admin → Switch
Switch → TACACS Server
TACACS → PAM
PAM → Active Directory
Konfigürasyon Sonrası Servisi Restart Et
sudo systemctl restart tacacs+ veya sudo service tacacs+ restart
Cisco Switch Üzerinde TACACS+ Konfigürasyonu
AAA aktif edilir.
conf t
aaa new-model
TACACS Server Tanımlama
tacacs server TACACS-SRV
address ipv4 192.168.1.50
key enable_akademi123
Authentication Ayarı
aaa authentication login default group tacacs+ local
Authorization Ayarı
aaa authorization exec default group tacacs+ local
Accounting Ayarı
aaa accounting commands 15 default start-stop group tacacs+
Bu ayar tüm komutların loglanmasını sağlar.
SSH Erişimi
line vty 0 4
login authentication default
transport input ssh
TACACS+ Loglarının İzlenmesi
Log dosyası:
/var/log/tacacs.log
Logları izlemek için:
tail -f /var/log/tacacs.log
Monitoring Sistemi Kurulumu
Logların merkezi olarak analiz edilmesi için ELK Stack kullanılabilir.
|
Bileşen |
Görevi (Amacı) |
TACACS+ Senaryosundaki Rolü |
|
Filebeat / Log Forwarder |
Veri Toplayıcı |
Ubuntu üzerindeki TACACS+ log dosyalarını (/var/log/tac_plus.log) okur ve iletir. |
|
Logstash |
Log İşleme & Filtreleme |
Gelen ham logu (timestamp, kullanıcı adı, IP, komut) parçalarına ayırır ve temizler. |
|
Elasticsearch |
Log Veritabanı (Search Engine) |
İşlenmiş logları indeksler ve saniyeler içinde arama yapılabilir hale getirir. |
|
Kibana |
Dashboard & Görselleştirme |
"Hangi admin hangi saatte hangi komutu yazdı?" gibi verileri grafik ve tablolara döker. |
Kibana Dashboard
Kibana üzerinden şu veriler görüntülenebilir:
- Başarılı login girişleri
- Başarısız giriş denemeleri
- Kullanıcı aktiviteleri
- En çok kullanılan komutlar
- Hangi cihazlara erişildiği
Bu sayede ağ güvenliği önemli ölçüde artırılır.
Elasticsearch Kurulumu
sudo apt install elasticsearch
Servisi başlat:
sudo systemctl enable elasticsearch
sudo systemctl start elasticsearch
Logstash Kurulumu
sudo apt install logstash
Kibana Kurulumu
sudo apt install kibana
Servisi başlat:
sudo systemctl start kibana
Web arayüzü:
http://SERVER-IP:5601
TACACS+ Loglarının ELK'ye Gönderilmesi
Logstash konfigürasyonu:
sudo nano /etc/logstash/conf.d/tacacs.conf ile dizine yeni bir dosya açıp aşağıdaki ayarları girerek kaydedin.
input {
file {
path => "/var/log/syslog"
type => "syslog"
}
}
output {
elasticsearch {
hosts => ["localhost:9200"]
}
}
sudo systemctl restart logstash ile servisi yeniden başlatın.
sudo systemctl status logstash ile servisin durumunu kontrol edin.
Elasticsearch'e Log Geliyor mu bunu kontrol etmemiz gerekmektedir.
curl localhost:9200/_cat/indices?v komutu ile aşağıdakine benzer bir çıktı görüryorsanız loglar geliyor demektir.
tacacs-logs
Kibana otomatik görmez, index pattern oluşturman gerekir.
http://SERVER-IP:5601 – ile kibanaya giriş yapın:
Stack Management > Index Patterns > Create index pattern > tacacs-logs* yazıyoruz. Sonra Discover diyerek logları alıp arayüze getirmesini bekliyoruz.
Arayüz giriş şifreleri kurulum esnasında tarafınızdan istenmektedir. Kullanıcı adı elastic’dir.
Güvenlik İçin Öneriler
TACACS+ kurulumunda aşağıdaki güvenlik önlemleri önerilir.
- Güçlü TACACS secret key kullanılması
- SSH erişiminin zorunlu tutulması
- TACACS server için firewall kuralları oluşturulması
- Local fallback authentication tanımlanması
- Logların merkezi bir monitoring sisteminde saklanması
