TACACS+ Nedir? RADIUS Farkı ve Linux'ta TACACS+ Sunucusu
TACACS+ nedir: ağ cihazına yönetici girişini merkezden doğrulayan, yetkilendiren ve kaydeden protokol; RADIUS farkı, Cisco kökeni ve Ubuntu'da sunucu kurulumu.
- TACACS+ Nedir? Kim, Ne Yapabilir, Ne Yaptı
- TACACS+ ile RADIUS Farkı
- RADIUS ve TACACS+ Birlikte Kullanılabilir mi?
- Hangi Sunucu Karar Verir? Red ile Sessizlik Ayrı Şeylerdir
- RADIUS ile TACACS+ Birlikte Nasıl Kullanılır? Görev Paylaşımı
- TACACS+ Sunucusu Kurulumu: Ubuntu’da tac_plus-ng
- Windows’ta TACACS+ Sunucusu Kurulabilir mi?
- TACACS+ Sunucusunun Günlükleri: Her Karar Satır Satır
- TACACS+ Paketinde Ne Görünür? Gövde Gizlenir, Şifrelenmez
- TACACS+ En İyi Uygulamaları: Canlıya Almadan Önce
- Sonuç: TACACS+ Her Kararı Kaydeder, Yolunu Siz Korursunuz
- TACACS+ Hakkında Sık Sorulan Sorular
TACACS+, bir ağ cihazına kimin girebileceğini, girdikten sonra hangi komutları çalıştırabileceğini ve hangi komutu ne zaman çalıştırdığını merkezi bir sunucudan yöneten protokoldür. Bu üç işe birlikte AAA denir: kimlik doğrulama (authentication), yetkilendirme (authorization) ve kayıt (accounting). TACACS+ üçünü birbirinden ayrı yürütür. Bu yazıda protokolün nasıl çalıştığını ve RADIUS’tan farkını anlatıyorum. Ardından Ubuntu’da bir TACACS+ sunucusu kuruyor, verdiği kararları günlüklerinden ve paketin kendisinden okuyorum.
RADIUS yazımızda kasadaki POS cihazının müşterinin kartını bankaya sorduğunu anlatmıştık. TACACS+ ise aynı bankanın kendi görevlisine bakan yüzüdür. Gişe görevlisi bankanın sistemine kendi sicil numarası ve şifresiyle girer ve o şifreyi şube değil, bankanın merkezi sistemi doğrular.
Görevli bir hesabın bakiyesine bakabilir, ama yetki limitinin üstündeki bir havalede sistem onun yetkisini her seferinde ayrıca sorar. Yaptığı her işlem sicil numarasıyla merkezde kayda geçer ve bankanın teftiş kurulu bir işlemi kimin yaptığını sonradan o kayıttan bulur. TACACS+ ağ cihazlarına aynı düzeni getirir.
Bu yazı kurumsal ağ protokolleri rehberimizin kimlik doğrulama ayağına aittir ve Kurumsal Network Kurulumu hizmetimizin kapsamındadır. Switch’in bu sunucuya nasıl bağlandığını, komut yetkisinin switch tarafını ve sunucu cevap vermediğinde ne olduğunu switch TACACS+ yapılandırması yazımızda ölçtüm. Aynı işi müşterilerimizin ağında nasıl yürüttüğümüzü switch kurulumu ve VLAN yapılandırma hizmeti sayfamızda anlattık.
TACACS+ Nedir? Kim, Ne Yapabilir, Ne Yaptı
TACACS+, ağ cihazlarına yönetici girişini tek bir merkezden doğrulayan, yetkilendiren ve kayda geçiren protokoldür. Switch’e girmenin varsayılan yolu yerel hesaptır: kullanıcı adı ve parola switch’in kendi yapılandırmasında durur. Yerel hesabın nasıl açıldığını ve parolasının nasıl saklandığını switch’te yerel yönetici hesabı yazımızda anlattık. On switch’lik bir ağda bu, on ayrı yerde tutulan aynı hesap demektir. Bir yönetici işten ayrıldığında hesabı on switch’te ayrı ayrı kapatmak gerekir. Hangi yöneticinin hangi switch’te ne yaptığı da hiçbir yerde toplanmaz.
TACACS+ bu üç soruyu tek bir sunucuya taşır:
- Kimlik doğrulama: bu kişi gerçekten iddia ettiği kişi mi? Kullanıcı adı ve parola cihazda değil sunucuda kontrol edilir. Gişe görevlisinin şifresini şubenin değil merkezin doğrulaması budur.
- Yetkilendirme: bu kişi şu komutu çalıştırabilir mi? Cihaz her komuttan önce sunucuya sorabilir. Limitin üstündeki her havalede görevlinin yetkisinin ayrıca sorulması da budur.
- Kayıt: bu kişi ne yaptı? Cihaz çalıştırılan her komutu kullanıcı adıyla sunucuya bildirir. Teftiş kurulunun sonradan okuduğu kayıt budur.
Protokolün kökeni Cisco’dadır. İlk TACACS, BBN’in askerî MILNET ağı için geliştirdiği, UDP üzerinde çalışan basit bir erişim protokolüdür. Cisco onu önce XTACACS adıyla genişletti, sonra kimlik doğrulamayı, yetkilendirmeyi ve kaydı birbirinden ayıran TACACS+‘ı geliştirdi. Protokolü ilk tarif eden belge, Cisco’dan D. Carrel ile L. Grant’in 1997 tarihli taslağıdır (draft-grant-tacacs-02). Bu taslak hiçbir zaman standart olmadı.
TACACS+ TCP 49 numaralı portu kullanır ve RFC 8907 ile 2020’de belgelendi. Bu RFC bir standart değil, bilgilendirme (Informational) belgesidir; özetinde de söylendiği gibi, bugün cihaz yönetiminde geniş ölçüde kullanılan protokolü yazıya geçirir.
TACACS+ ile RADIUS Farkı
Ağ cihazlarında merkezi kimlik için ikinci seçenek RADIUS’tur. İkisinin farkı, taşıdıkları işin türünden gelir. RADIUS kullanıcıyı ağa alır; bir bilgisayarın ağa bağlanması, Wi-Fi ya da VPN girişi onun işidir. TACACS+ ise yöneticiyi cihazın içine alır.
| RADIUS | TACACS+ | |
|---|---|---|
| Taşıma | UDP 1812 ve 1813 | TCP 49 |
| Paketin korunması | Yalnız parola alanı gizlenir | Gövdenin tamamı gizlenir (şifreleme değil) |
| AAA ayrımı | Kimlik ve yetki tek cevapta | Üçü ayrı mesajlarla |
| Komut bazlı yetki | Yok | Var |
| Tipik kullanım | Ağa giriş, Wi-Fi, VPN | Ağ cihazı yönetimi |
Pratikteki en büyük fark komut bazlı yetkidir. RADIUS’ta yönetici girişte kaba bir yetki seviyesi alır ve o seviyedeki her komutu çalıştırır. TACACS+‘ta switch her komuttan önce sunucuya sorar ve bir yöneticiye yalnız show komutlarını açabilirsiniz. RADIUS’un nasıl çalıştığını ve hangi durumda cihaz girişi için yeterli olduğunu RADIUS makalemizde anlattık.
RADIUS ve TACACS+ Birlikte Kullanılabilir mi?
Kullanılabilir. İkisi farklı işlere baktığı için aynı ağda yan yana durur. RADIUS kabloyla porta bağlanan cihazı ve Wi-Fi’ye giren kullanıcıyı doğrular; TACACS+ ise switch’in komut satırına giren yöneticiyi doğrular. Asıl soru “Hangisi üstün?” değil, “Cihaz hangisine önce soruyor?” sorusudur ve bunu protokol değil, cihazdaki yöntem listesi belirler.
Switch’te her AAA adımının kendi listesi vardır: giriş, oturum yetkisi, komut yetkisi ve kayıt. Hangi sunucuya hangi sırayla sorulacağı her listeye ayrı ayrı yazılır. Lab switch’imde giriş listesinin seçenekleri RADIUS’u ve TACACS+‘ı yan yana sunuyor:
gmsw01(config)#aaa authentication login tacacsList ?
enable Select enable as the authentication method.
line Select line as the authentication method.
local Select local as the authentication method.
none Select no authentication.
radius Select RADIUS as the authentication method.
tacacs Select TACACS+ as the authentication method.Liste hat başına da ayrı seçilir. Aynı switch’te show authentication methods çıktısı konsol, Telnet ve SSH hatlarını ayrı ayrı gösteriyor; porta 802.1X ile bağlanan cihazların doğrulaması da (DOT1X) kendi satırında duruyor. Yani bir switch’in portları RADIUS’a, yönetici girişi TACACS+‘a aynı anda bağlı olabilir.
Hangi Sunucu Karar Verir? Red ile Sessizlik Ayrı Şeylerdir
Bir listede birden çok sunucu olduğunda kararı şu kural belirler: sonraki yöntem, önceki sunucu “hayır” dediğinde değil, hiç cevap vermediğinde denenir. Cisco’nun AAA yapılandırma kılavuzu iki durumu ayrı adlandırır. Sunucunun kullanıcıyı reddetmesi FAIL’dir ve süreç orada durur; sunucunun cevap vermemesi ERROR’dur ve ancak o zaman listedeki bir sonraki yönteme geçilir: “The additional methods of authentication are used only if the previous method returns an error, not if it fails.”
Lab switch’imde bu kuralın yarısını ölçtüm. TACACS+ servisi durduğunda ve sunucu hiç cevap vermediğinde switch listedeki yerel hesaba geçti. Sunucunun reddettiği bir kullanıcının yerel hesaba düşmediğini ayrıca sınamadım; o yarı kılavuzun tarifidir.
SSH girişi tacacs radius local sırasıyla tanımlı bir switch’i düşünün. Kuralın sonucu üç ayrı durumdur:
- TACACS+ sunucusu kullanıcıyı kabul ediyor. Girişi TACACS+ yapar; RADIUS’a ve yerel hesaba hiç sorulmaz.
- TACACS+ sunucusu parolayı reddediyor. Giriş kapanır. RADIUS’ta ya da switch’te aynı adla geçerli bir hesap olsa bile onlara sorulmaz.
- TACACS+ sunucusu cevap vermiyor. Switch zaman aşımını bekler, sonra RADIUS’a sorar; RADIUS da cevap vermezse yerel hesaba bakar.
Kimlik doğrulamayı bir sunucuya, yetkiyi öbürüne vermek de biçim olarak mümkündür, çünkü her adım kendi listesidir. Bunun iki şartı vardır. Komut yetkisi yalnız TACACS+‘ta bulunur. Lab switch’imde komut yetkisi listesi yalnız tacacs ve none yöntemlerini, komut kaydı listesi yalnız tacacs yöntemini kabul ediyor. TACACS+ sunucusu da komutu kullanıcının profiline bakarak onayladığı için kullanıcı orada da tanımlı olmalıdır. Bu karışımı lab’da denemedim.
RADIUS ile TACACS+ Birlikte Nasıl Kullanılır? Görev Paylaşımı
İki protokolü birlikte kullanmanın en temiz yolu, ağa girişi RADIUS’a ve cihaz yönetimini TACACS+‘a bırakarak işi göreve göre bölmektir. Bir yöneticinin kimliğini RADIUS’la, komutlarını TACACS+‘la denetlemek aynı kişiyi iki sunucuda tutarlı tutmayı gerektirir ve bir arızada hangi sunucunun ne dediğini okumayı zorlaştırır. Göreve göre bölünmüş bir ağda iş şöyle paylaşılır:
| İş | Protokol | Sunucu | Cihazda nereye bağlanır |
|---|---|---|---|
| Kabloyla porta bağlanan cihaz (802.1X) | RADIUS | NPS ya da FreeRADIUS | Switch’in port doğrulaması |
| Kablosuz ağa giren kullanıcı | RADIUS | NPS ya da FreeRADIUS | Erişim noktası ya da kablosuz denetleyici |
| VPN’e bağlanan kullanıcı | RADIUS | NPS ya da FreeRADIUS | Güvenlik duvarı |
| Switch’e yönetici girişi ve oturum yetkisi | TACACS+ | tac_plus-ng | Giriş ve oturum yetkisi listeleri, sonda yerel hesap |
| Komut yetkisi ve komut kaydı | TACACS+ | tac_plus-ng | Komut yetkisi ve komut kaydı listeleri |
Aynı kişi bu tabloda iki kez görünebilir. Bir ağ yöneticisi sabah bilgisayarıyla ağa RADIUS üzerinden bağlanır, öğleden sonra bir switch’e girdiğinde TACACS+ onu karşılar. Bankada da müşterinin kartını onaylamak ile görevlinin limitini sormak ayrı işlerdir; hangisine önce bakılacağını sistemler değil, şubenin yazılı prosedürü belirler.
Kurulum sırası şöyledir:
- Kimlik kaynağını tek tutun. İki sunucu da aynı dizine bağlanır, örneğin Active Directory’ye. Kullanıcı bir kez tanımlanır ve işten ayrılan bir kişinin hesabı tek yerde kapanınca hem ağa hem cihazlara girişi birlikte kapanır. FreeRADIUS’un dizine nasıl bağlandığını FreeRADIUS kurulumu rehberimizde anlattık.
- Yetkiyi dizindeki gruplara bağlayın. Ağ yöneticileri bir gruba, salt okunur hesaplar başka bir gruba girer ve her sunucu kendi kararını bu gruba göre verir. Yeni bir yöneticiye yetki vermek sunucu yapılandırmasına dokunmayı değil, onu gruba eklemeyi gerektirir.
- RADIUS’u ağa giriş için kurun. Windows tarafında NPS, Linux tarafında FreeRADIUS bu işi üstlenir; ikisinin farkını RADIUS yazımızda anlattık.
- TACACS+‘ı cihaz yönetimi için kurun. Sunucu kurulumu aşağıdaki bölümde adım adım duruyor.
- Cihazda listeleri ayırın. Port doğrulaması RADIUS’a, yönetici girişi TACACS+‘a gider ve giriş listesinin sonunda yerel acil durum hesabı durur. Switch komutlarını switch TACACS+ yapılandırması yazımızda gösterdik.
- İki sunucunun kaydını aynı yerde toplayın. “Kim ağa girdi?” ile “Kim switch’te ne yaptı?” sorularının cevabı bir olayda aynı zaman çizelgesinde okunmalıdır. Günlükleri bir merkezi syslog sunucusunda toplamak bunu sağlar.
TACACS+ sunucusu yedeksizse giriş listesinde TACACS+‘tan sonra RADIUS’u yedek yöntem olarak yazabilirsiniz. Önceki alt başlıktaki kural gereği RADIUS’a ancak TACACS+ cevap vermediğinde sorulur. O oturumda komutlar yine TACACS+‘a sorulamaz; lab’daki komut yetkisi listesinde sonraki yöntem none olduğu için komutlar yetki sorulmadan çalışır.
Komut başına denetim gerekmiyorsa cihaz girişini de yalnız RADIUS’a bağlamak yetebilir. On üç lokasyondaki switch girişini kişisel Active Directory hesaplarına RADIUS ile bağladığımız projeyi ağ erişimi sıkılaştırma vaka çalışmasında anlattık. Orada salt okunur ayrımı RADIUS’un kaba yetki seviyesiyle çözülüyordu; komut bazında ayrım gerekseydi TACACS+ şart olurdu.
TACACS+ Sunucusu Kurulumu: Ubuntu’da tac_plus-ng
Windows Server’ın kendi araçlarıyla TACACS+ sunucusu kurulamaz, bu yüzden sunucuyu Linux’a kuruyorum; Windows’taki seçenekleri bu bölümün sonunda anlattım. Lab’da TACACS+ sunucusunu merkezi log için kurduğumuz sistemkusu-syslog adlı Ubuntu 24.04 sunucusuna kuruyorum. Bu bölüm o sunucunun zaten ayakta olduğunu varsayar; Ubuntu kurulumunu Ubuntu Server kurulum rehberimizde anlattık.
İlk sürpriz paket deposunda çıktı. Ubuntu 24.04 depolarında bir TACACS+ sunucu paketi yok; apt-cache search tacacs yalnız bir Perl istemci kütüphanesi döndürdü. Debian arşivindeki eski tacacs+ paketi de 4.0.4.27a sürümünde kalmış. Bu yüzden güncel ve bakımı süren açık kaynak tac_plus-ng’yi kaynaktan derliyorum:
sudo apt-get update
sudo apt-get install -y build-essential libpcre2-dev libssl-dev
git clone --depth 1 https://github.com/MarcJHuber/event-driven-servers.git
cd event-driven-servers
./configure --prefix=/usr/local tac_plus-ng
make
sudo make installYapılandırmayı /usr/local/etc/tac_plus-ng.cfg dosyasına yazıyorum. Üç kullanıcı var: sistemkusu-yonetici ile ilker her komutu çalıştırabiliyor, sistemkusu-izleyici yalnız show komutlarını çalıştırabiliyor. ilker switch’te yerel olarak da tanımlı, bu yüzden sunucuya ulaşılamadığında ne olduğunu bu hesapla ölçtüm:
id = spawnd {
listen { port = 49 }
spawn { instances min = 1 instances max = 4 }
background = no
}
id = tac_plus-ng {
log erisim { destination = /var/log/tac_plus-ng/erisim.log }
log yetki { destination = /var/log/tac_plus-ng/yetki.log }
log kayit { destination = /var/log/tac_plus-ng/kayit.log }
access log = erisim
authorization log = yetki
accounting log = kayit
host lab-switch {
address = 192.168.1.2
key = "<paylaşılan anahtar>"
}
profile yonetici {
script {
if (service == shell) {
if (cmd == "") { set priv-lvl = 15 permit }
permit
}
}
}
profile izleyici {
script {
if (service == shell) {
if (cmd == "") { set priv-lvl = 15 permit }
if (cmd =~ /^show /) permit
if (cmd =~ /^terminal length /) permit
if (cmd =~ /^exit/) permit
deny
}
}
}
user sistemkusu-yonetici {
password login = clear "<parola>"
profile = yonetici
}
user sistemkusu-izleyici {
password login = clear "<parola>"
profile = izleyici
}
user ilker {
password login = clear "<parola>"
profile = yonetici
}
}host bloğu sunucunun kime cevap vereceğini belirler; yalnız switch’in adresi yazılı. key switch’te de aynı olmalıdır, çünkü paketin gövdesi bu anahtarla gizlenir. profile blokları yetkiyi tanımlar: cmd == "" oturumun açılmasıdır, öbür satırlar komut başına karardır. Lab’da parolalar düz metin yazıldı. Gerçek bir kurulumda sunucu kullanıcıları Active Directory gibi bir dizine bağlanır; tac_plus-ng’nin kaynağıyla gelen örnekler arasında Active Directory yapılandırması da var.
Sözdizimini sudo tac_plus-ng -P /usr/local/etc/tac_plus-ng.cfg ile sınadım, sonra kaynakla gelen systemd birimiyle servisi başlattım. Servisin günlüğü sunucunun 49 numaralı portu açtığını gösteriyor:
Sep 23 15:24:39 sistemkusu-syslog tac_plus-ng[6251]: bind to [::]:49 succeeded[::] sunucunun bütün adreslerinden gelen bağlantıyı kabul ettiğini gösterir. Kime cevap vereceğini ise yukarıdaki host bloğu belirler.
Windows’ta TACACS+ Sunucusu Kurulabilir mi?
Windows Server’ın kendi araçlarıyla TACACS+ sunucusu kurulamaz. Windows’un kimlik doğrulama sunucusu NPS’tir ve Microsoft onu RADIUS’un uygulaması olarak tanımlar: “NPS is the Microsoft implementation of the RADIUS standard specified by the Internet Engineering Task Force (IETF) in Request for Comments (RFCs) 2865 and 2866.” (Microsoft Learn, Network Policy Server). Aynı sayfada TACACS+ hiç geçmiyor.
Lab’da kullandığım tac_plus-ng de Windows’u desteklenen platformlar arasında saymıyor. Projenin kendi belgesi Linux, FreeBSD ve OpenBSD’yi sayıyor ve öteki platformların yakın zamanda denenmediğini yazıyor (event-driven-servers).
Windows ağırlıklı bir kurumun önünde şu yollar durur:
- TACACS+ sunucusunu Windows üstündeki bir Linux sanal sunucusunda çalıştırmak. Hyper-V’deki bir Ubuntu sanal sunucusu bu bölümdeki kurulumu olduğu gibi taşır ve kullanıcılar yine Active Directory’den gelebilir. Sanal sunucunun nasıl çalıştığını hypervisor yazımızda anlattık.
- Komut başına yetki gerekmiyorsa NPS ile RADIUS’u kullanmak. Cihaz girişi Windows’un kendi aracıyla merkezileşir, ama komut yetkisi ve komut kaydı olmaz. NPS’in bu işteki yerini RADIUS yazımızda anlattık.
- Windows’a kurulan ticari bir TACACS+ sunucusu almak. Windows’ta TACACS+ sunucusu çalıştırmanın tek yolu budur; bu ürünler Windows Server’ın parçası değildir, üçüncü taraf yazılım olarak satın alınır. Seçim lisans, destek ve dizin entegrasyonu üzerinden yapılır.
Benim tercihim ilk yoldur. Sunucu tarafı açık kaynak kalır ve bu yazıdaki ölçümler olduğu gibi geçerli olur.
TACACS+ Sunucusunun Günlükleri: Her Karar Satır Satır
Sunucu dinliyor. Switch’i bu sunucuya bağlamayı switch TACACS+ yapılandırması yazımızda adım adım anlattık; burada aynı denemelerin sunucuda nasıl göründüğünü okuyorum. Sunucu üç ayrı günlük tutuyor ve her biri AAA’nın bir harfine denk geliyor.
İlk giriş denemesi servisin kendi günlüğüne şöyle düştü:
Sep 23 15:25:08 sistemkusu-syslog tac_plus-ng[6253]: 192.168.1.2 shell login for 'sistemkusu-yonetici' from 192.168.1.115 on unknown succeeded (profile=yonetici)Bu satır üç şeyi söyler:
192.168.1.2isteği gönderen istemcidir, yani switch.from 192.168.1.115yöneticinin switch’e bağlandığı bilgisayardır. Switch bu adresi sunucuya kendisi bildirir.profile=yoneticikullanıcıya uygulanan yetki profilidir.
Komut kararları ayrı iki günlükte durur. sistemkusu-izleyici switch’te show clock çalıştırdı ve configure denedi; switch ikinci komutu configure: Command Is Not Authorized diyerek geri çevirdi. Sunucunun yetki ve kayıt günlükleri aynı anı şöyle yazdı:
$ sudo tail -8 /var/log/tac_plus-ng/yetki.log
...
2026-09-23 15:26:47 +0000 192.168.1.2 sistemkusu-izleyici unknown izleyici permit shell show clock
2026-09-23 15:26:48 +0000 192.168.1.2 sistemkusu-izleyici unknown izleyici deny shell configure
2026-09-23 15:26:56 +0000 192.168.1.2 sistemkusu-yonetici unknown yonetici permit shell
2026-09-23 15:26:57 +0000 192.168.1.2 sistemkusu-yonetici unknown yonetici permit shell configure
$ sudo tail -8 /var/log/tac_plus-ng/kayit.log
...
2026-09-23 15:26:48 +0000 192.168.1.2 sistemkusu-izleyici unknown stop shell show clock
2026-09-23 15:26:51 +0000 192.168.1.2 sistemkusu-izleyici unknown stop shell exit
2026-09-23 15:26:58 +0000 192.168.1.2 sistemkusu-yonetici unknown stop shell configure
...Okurken dört alana bakılır:
- Saat ve istemci kararın ne zaman ve hangi cihaz için verildiğini gösterir.
- Kullanıcı ve profil kimin, hangi yetki tanımıyla işlem yaptığını gösterir.
- Karar yalnız yetki günlüğünde bulunur:
permitizin,denyred demektir. - Komut satırın sonunda durur. Kayıt günlüğündeki
stop, komutun çalışıp bittiğini bildiren kayıttır.
Bir arızadan sonra “Bu değişikliği kim yaptı?” sorusunun cevabı artık cihazda değil, sunucunun kayıt günlüğündedir. Teftiş kurulunun bir işlemi sicil numarasından bulması da budur.
Günlüklerdeki saatlerin anlamlı olması için hem switch’in hem sunucunun saati doğru olmalıdır. Bunu switch NTP server ayarı yazımızda anlattık.
TACACS+ Paketinde Ne Görünür? Gövde Gizlenir, Şifrelenmez
Tabloda TACACS+‘ın gövdenin tamamını gizlediğini yazdık. Sunucuda paket yakalayıp switch’in ilk kimlik doğrulama paketine baktım. TCP başlığından sonra gelen TACACS+ başlığı şöyle:
c001 0100 13a2 7469 0000 001cBu on iki bayt açıkta durur ve şöyle okunur:
c0: protokol sürümü.01: paket türü, kimlik doğrulama.01: sıra numarası, oturumun ilk paketi.00: bayrak baytı. RFC 8907’de bu baytın en düşük biti “gövde gizlenmedi” anlamına gelir. Bit kalkık değil, yani gövde gizlenmiş.13a27469: oturum kimliği.0000001c: gövde uzunluğu, 28 bayt.
Başlığın ardından gelen 28 baytta sistemkusu-yonetici adı okunmuyor, bayt dizisi rastgele görünüyor. Ama bu bir şifreleme değil. RFC 8907’nin güvenlik bölümü bunu açıkça söyler: bu korumaya “şifreleme değil gizleme (obfuscation) demek daha doğrudur, çünkü anlamlı bir bütünlük, gizlilik ya da tekrar oynatma koruması sağlamaz” (RFC 8907, bölüm 10.1). Aynı bölüm, TACACS+ kullananların sunucuya yalnız bilinen istemcilerin erişmesini sağlamasını ve aktarım yolunun tamamını denetlemesini şart koşar.
Banka benzetmesi burada kopuyor. Bir bankanın gişesiyle merkezi arasındaki trafiği açık bir hattan geçirmesi beklenmez; TACACS+ ise gövdeyi şifrelemez, yalnız gizler. Yolu korumak protokole değil, onu kuran kişiye kalır.
Lab’da bir bulgu bu uyarıyı somutlaştırıyor. Switch’in çalışan yapılandırmasında paylaşılan anahtar düz metin duruyor: tacacs-server host satırının altındaki key satırında anahtarın kendisi yazılı. Switch yapılandırmasının yedeğini ele geçiren biri bu anahtarı da ele geçirir; RFC’ye göre gövdeyi gizleyen de bu anahtardır. Yedek dosyasını neden gizli belge gibi saklamak gerektiğini switch yapılandırma yedeği yazımızda anlattık.
TACACS+ En İyi Uygulamaları: Canlıya Almadan Önce
Sunucu kuruldu ve kararlarını yazıyor. Canlıya almadan önce aşağıdaki uygulamaları yerine getirin. Maddelerin çoğu lab’da gördüğüm bir arızadan, anahtarla ilgili olanlar RFC 8907’den geliyor:
- İki sunucu kurun. Merkez durduğunda bütün cihazların yönetimi yavaşlar. Lab’da sunucu cevap vermezken switch’e giriş yaklaşık 10 saniye, her komut 5 saniye sürdü; ölçümün tamamını switch TACACS+ yapılandırması yazımızda anlattık.
- Yerel acil durum hesabını listenin sonunda tutun. Sunucuya ulaşılamadığında cihaza girmenin tek yolu budur. Lab’da sunucu durduğunda yalnız switch’te yerel karşılığı olan hesap girebildi; bu hesabın nasıl açıldığını switch’te yerel yönetici hesabı yazımızda anlattık.
- Sunucuyu izlemeye alın. Sunucunun durduğu, bir yöneticinin girememesinden değil izleme sisteminin alarmından öğrenilmelidir.
- Yetkiyi role göre ve en düşük yetkiden başlayarak verin. Lab’daki izleyici profili yalnız
showkomutlarına izin verdi veconfigurekomutunu geri çevirdi. Profil kişiye değil role yazılır; yeni bir yönetici profile eklenerek yetki alır. - Salt okunur hesabı komut yetkisiyle birlikte açın. İzleyici profili de oturumu en yüksek seviyeden açıyor ve kısıtlama ancak cihazda komut yetkisi bağlandığında başlıyor. Komut yetkisi bağlanmadan önce lab’daki izleyici hesap switch’e tam yetkiyle girmişti.
- Otomatik işlerin hesaplarını sunucuda tanımlayın. Lab’da yedek betiğinin kullandığı
yedekcihesabı sunucuda yoktu ve erişim günlüğüneshell login faileddüştü. Yedek, izleme ve envanter hesapları sunucuda en düşük yetkiyle tanımlanır. - Kullanıcıları bir dizine bağlayın. Yukarıdaki yapılandırmadaki düz metin parola yalnız lab içindir; gerçek bir kurulumda kullanıcılar Active Directory gibi bir dizinden gelir.
- Her cihaza ayrı ve uzun bir anahtar verin, anahtarı düzenli değiştirin. RFC 8907, sunucunun her istemci için ayrı bir anahtar tanımlamaya izin vermesini şart koşar, yöneticilerin anahtarları düzenli aralıklarla değiştirmesini ister ve istemcilerin 16 karakterden kısa anahtarla sunucu tanımlanmasına izin vermemesini önerir (RFC 8907, bölüm 10.5.1).
- Yapılandırma yedeklerini gizli belge gibi saklayın. Lab switch’inin çalışan yapılandırmasında paylaşılan anahtar düz metin duruyordu; yedeği ele geçiren anahtarı da ele geçirir.
- Trafiği yalnız yönetim ağından geçirin. Gövde şifrelenmez, yalnız gizlenir; RFC 8907 bu yüzden aktarım yolunun tamamının denetlenmesini şart koşar (yukarıdaki paket bölümü).
- Sunucuyu yalnız cihazlara açın.
hostbloğuna yalnız cihazların adresleri yazılır ve TCP 49 güvenlik duvarında yalnız onlara açılır. - Saatleri aynı kaynağa bağlayın. Cihazın ve sunucunun saati tutmazsa bir arızada iki tarafın kaydını yan yana okuyamazsınız.
- Cihazdaki değişikliği ikinci bir oturum açıkken yapın. Kimlik doğrulamayı değiştiren yanlış bir satır yeni girişleri keser; açık kalan oturum geri dönüş yolunuzdur.
Sonuç: TACACS+ Her Kararı Kaydeder, Yolunu Siz Korursunuz
TACACS+ ağ cihazına yönetici girişini tek bir sunucuda doğrular, her komutu ayrıca yetkilendirir ve her kararı kullanıcı adıyla kaydeder. Lab’da sunucunun günlüğü, izleyici hesabın configure denemesini deny, show clock komutunu permit diye yazdı. Ortak yönetici parolasıyla çalışan bir ağda bu kaydın hiçbiri tutulmaz.
Bedeli iki yerdedir. Gövde yalnız gizlendiği için taşıdığı yolu sizin korumanız gerekir, merkez durduğunda da bütün cihazların yönetimi yavaşlar. Gişe görevlisinin her işlemini merkez onaylar, ama merkezin kendisi de korunmak ve yedeklenmek zorundadır.
Protokolün ağ protokolleri arasındaki yerini kurumsal ağ protokolleri rehberimizde, switch tarafını switch TACACS+ yapılandırması yazımızda anlattık.
TACACS+ Hakkında Sık Sorulan Sorular
BT Danışmanı | Ağ, Sistem ve Güvenlik Yönetimi
İlker Pehlivan, karmaşık BT altyapılarını ölçeklenebilir ve güvenli sistemlere dönüştürür. Buradaki rehberleri kendi laboratuvarında kurup ölçerek yazar.
LinkedInBenzer Makaleler
Kurumsal Ağ Protokolleri: DHCP'den LDAP'a
Bir şirketi ayakta tutan ağ protokolleri: DHCP, DNS, Kerberos, LDAP, SMB, RDP, SSH ve BGP. Hangisi ne yapar, nasıl zincirlenir, bozulduğunda nereden anlaşılır.
PPPoE Nedir? Modem Köprü Modu ve Çift NAT
PPPoE nedir, nasıl çalışır? Keşif ve oturum aşamaları paket paket, MTU neden 1492, hat kopunca ne olur, modem köprü modu ve çift NAT farkı; lab ölçümleriyle.
Yönlendirme Tablosu Nedir? Statik ve Varsayılan Rota
Yönlendirme tablosu nedir: bağlı, statik ve varsayılan rota, en uzun önek eşleşmesi, metrik ve yedek hat, dönüş rotası. Linux lab'ında ölçülmüş örneklerle.
Ethernet Nedir? Çerçeve Yapısı, Hızlar ve Kablo Çiftleri
Ethernet nedir, nasıl çalışır? İki makine arasında yakaladığım çerçevelerle alanları, 64 baytlık dolguyu, FCS'i, hız ailesini ve kablonun dört çiftini anlattım.
LACP Nedir? Link Aggregation ve Port Channel Farkı
LACP nedir, nasıl çalışır? İki switch arasında ölçtüm: kablo kopunca yarım saniye, tek uç susunca 3 ya da 82 saniye. Port channel ve statik bağ farkı.
LLDP Nedir? Komşu Keşfi, LLDP-MED ve CDP Farkı
LLDP nedir, nasıl çalışır? Lab switch'imde ölçtüm: 30 saniyede bir komşuya adını ve port açıklamasını anlattı, 52 portta açık geldi. LLDP-MED ve CDP farkı.
Kurumsal Network Kurulumu altındaki diğer 114 makale
- Spanning Tree (STP) Nedir? RSTP, BPDU ve Ağ Döngüsü
- VPN Nedir? Site-to-Site, Uzaktan Erişim ve IPsec
- VRRP Nedir? Sanal IP ile Varsayılan Ağ Geçidini Yedeklemek
- IMAP Nedir, POP3 Nedir? Aralarındaki Fark
- SMTP Nedir? Mail Nasıl Gönderilir ve Neden Gitmez?
- TLS Nedir? SSL ile Farkı, Sürüm Pazarlığı ve Ölçümü
- FTP, FTPS ve SFTP Nedir? Aralarındaki Fark
- Syslog Nedir? Facility, Severity ve 514 Portu
- TFTP Nedir? Port 69, Switch Yedeği ve PXE
- NAT Nedir? Ağ Adresi Çevirisi Nasıl Çalışır?
- RDP Nedir? Uzak Masaüstü Protokolü ve Güvenliği
- SNMP Nedir? MIB, OID ve Trap Mekanizması
- ICMP Nedir? Ping, TTL ve Tracert Komutu
- VLAN Nedir? 802.1Q Etiketi, Access ve Trunk Farkı
- ARP Nedir? MAC Adresi, ARP Tablosu ve Spoofing
- IP Adresi Nedir? Subnet Maskesi, CIDR ve IPv6
- Port Nedir? TCP ve UDP Farkı, Bağlantı Arızası Tespiti
- SSH Nedir? Şifreli Yönetim ve Anahtar Tabanlı Giriş
- Telnet Nedir? Şifresiz Yönetim Protokolü ve Riskleri
- NFS Nedir? NAS ve Sanallaştırmada Dosya Paylaşımı
- HTTP ve HTTPS Nedir? Aradaki Fark ve Şifreleme
- RADIUS Sunucusu Nedir? 802.1X ile Ağ Kimlik Doğrulama
- LDAP ve LDAPS Nedir? Dizin Sorgulama ve 636 Portu
- SMB Nedir? Port 445, Dosya Paylaşımı ve SYSVOL
- Kerberos Nedir? Kimlik Doğrulama ve Bilet Mantığı
- DNS Nedir, Nasıl Çalışır? Kayıt Türleri ve TTL
- DHCP Nedir? Ağda IP Adresi Nasıl Dağıtılır?
- NTP Nedir? Kurumsal Ağda Saat Senkronizasyonu
- Alan Adı Güvenliği: Transfer Kilidi, Yenileme ve WHOIS
- DNS Önbelleği Temizleme: flushdns, Chrome ve DNS Sunucusu
- Mail Başlığı Nasıl Okunur? From, Return-Path ve Received
- SPF, DKIM ve DMARC Nedir? Mail Kimliği Nasıl Doğrulanır?
- FortiGate Firewall Active Directory Entegrasyonu: LDAP
- FortiGate Firewall Admin Hesabı: Yetki Profilleri
- FortiGate Firewall Antivirüs Profili: Flow ve Proxy Farkı
- FortiGate Firewall Bant Genişliği Sınırlama: Traffic Shaping
- FortiGate Firewall BGP Yapılandırması: Komşuluk ve Duyuru
- FortiGate Firewall Firmware Güncelleme: Yükseltme Yolu
- FortiGate Firewall HA Yapılandırması: FGCP ile İki Cihaz
- FortiGate Firewall IPS Yapılandırması: Sensör ve İmzalar
- FortiGate Firewall IPsec VPN: Şubeler Arası Tünel
- FortiGate Firewall İleri Seviye Rehberi: VPN, SD-WAN ve BGP
- FortiGate Firewall RADIUS: Merkezi Yönetici Girişi
- FortiGate Firewall SD-WAN: Yedek Hat ve Performans SLA
- FortiGate Firewall SSL Inspection: Derin Denetim ve Muafiyet
- FortiGate Firewall Şifre Sıfırlama ve Fabrika Ayarları
- FortiGate Firewall Uygulama Kontrolü: Uygulama Engelleme
- FortiGate Firewall Uzaktan Erişim VPN: IPsec ve FortiClient
- FortiGate Firewall Web Filtre: Kategori ve Güvenli Arama
- FortiGate Firewall Sıkılaştırma: Güvenlik Kontrol Listesi
- FortiGate Firewall Sorun Giderme: Debug Flow ve Sniffer
- FortiGate Firewall Yedek Alma ve Geri Yükleme
- FortiGate Firewall Adres Nesneleri ve Adlandırma Standardı
- FortiGate Firewall DHCP Sunucusu: Kapsam ve Rezervasyon
- FortiGate Firewall DNS Ayarı: Ad Çözümleme ve DNS Sunucusu
- FortiGate Firewall İlk Kurulum: Konsol ve İlk Giriş
- FortiGate Firewall Log Ayarları: Disk, Syslog ve 5651
- FortiGate Firewall NAT Ayarı: IP Pool ve Central NAT
- FortiGate Firewall NTP Ayarı: Saat Dilimi ve Zaman Sunucusu
- FortiGate Firewall Policy Yapılandırması: Kural Seti
- FortiGate Firewall SNMP Ayarı: İzleme Sistemine Bağlamak
- FortiGate Firewall Statik Rota Yapılandırması
- FortiGate Firewall VLAN Yapılandırması: Alt Arayüz ve Trunk
- FortiGate Firewall WAN Ayarı: Statik IP, DHCP ve PPPoE
- FortiGate Firewall Zone ve DMZ Yapılandırması
- Firewall Nedir? Güvenlik Duvarı Nasıl Çalışır?
- FortiGate Firewall Nasıl Kullanılır? Günlük Yönetim Rehberi
- FortiGate Firewall Yapılandırma Rehberi: Kontrol Listesi
- FortiGate Firewall Yönetim Erişimi: HTTPS ve Trusted Host
- Full Duplex ve Half Duplex Nedir? Tam ve Yarım Çift Yön
- Switch 802.1X Yapılandırması: MAB ve İzleme Kipi
- Switch DHCP Snooping Yapılandırması: Trust ve Hız Sınırı
- Switch Port Teşhisi: Duplex Uyuşmazlığı ve Kablo Testi
- Layer 3 Switch Nedir? SVI ve VLAN'lar Arası Yönlendirme
- Switch LACP Yapılandırması: Port Channel Nasıl Kurulur?
- Switch LLDP Yapılandırması: Port Tespiti ve Güvenlik
- Switch SNMP Yapılandırması: SNMPv3, Trap ve Inform
- Switch Syslog Ayarı: Log Sunucusu, Seviye ve Komut Kaydı
- Switch VLAN Yapılandırması: VLAN Oluşturma ve Port Atama
- Switch'te VLAN'lar Arası Yönlendirme: SVI Yapılandırması
- Ağ Segmentasyonu Nedir? VLAN Planı Nasıl Yapılır?
- BPDU Guard Nedir? PortFast, Root Guard ve Storm Control
- Switch ACL Yapılandırması: Yönetim Erişimini Daraltmak
- Switch Nedir, Ne İşe Yarar? Çeşitleri ve Router Farkı
- Switch Sıkılaştırma: Yönetim, Kontrol ve Veri Düzlemi
- Switch Yapılandırma Yedeği: Elle ve Otomatik Yedekleme
- Switch RADIUS Yapılandırması: NPS ile Yönetici Girişi
- Switch DNS Server Ayarı: Name Server ve Alan Adı
- Switch SSH Yapılandırması: Telnet ve HTTP'yi Kapatmak
- Management VLAN Nedir? Yönetim Ağını Kullanıcıdan Ayırmak
- Switch TACACS+ Yapılandırması: Giriş, Komut Yetkisi ve Kayıt
- Switch NTP Server Ayarı: Saati İç NTP Sunucusuna Bağlamak
- Switch Yapılandırma Rehberi: Adım Adım Kontrol Listesi
- Switch'e Konsoldan Bağlanmak: Konsol Kablosu ve PuTTY
- Switch'te Yerel Yönetici Hesabı: Kullanıcı, Yetki ve Parola
- Yönetilebilir Switch Ayarları: Ad, IP ve VLAN Planı
- Bulut Santral: Özellik Seçimi, Devreye Alma ve Geçiş
- IP Santral Kurulumu: Dahili Planı, Çağrı Akışı ve Ağ
- Kartlı Geçiş Sistemi Kurulumu: PDKS, Turnike ve Dizin
- Kurumsal İnternet Hattı: Tarife, Statik IP ve Yedek Hat
- SIP Trunk ve İş Telefon Hattı: Numara Taşıma
- IP Kamera Sistemi Kurulumu: Ağ, Kayıt ve KVKK
- Ağ Erişim Kontrolü: 802.1X, NAC ve Çok Faktörlü Doğrulama
- Fiber Optik Kablolama: Çekim, Sonlandırma ve Ölçüm Raporu
- Sistem Odası Kurulumu: Kabinet Düzeni, Güç ve Soğutma
- Misafir Wi-Fi ve Hotspot Kurulumu: Captive Portal ve 5651
- Network Danışmanlığı: Ağ Analizi, Optimizasyon ve QoS
- Şubeler Arası Bağlantı: SD-WAN, Metro Ethernet, Yedekli Hat
- Kurumsal Wi-Fi Kurulumu: Isı Haritası, Access Point ve Test
- Yapısal Kablolama Hizmeti: Keşif, Montaj ve Test Raporu
- Yapısal Kablolama ve Zayıf Akım: Kurumsal Bina Altyapısı
- Kurumsal Firewall Kurulumu, Yönetimi ve Danışmanlığı
- Kurumsal Kablosuz Ağ Tasarımı: Survey'den Kuruluma
- Switch Kurulumu, VLAN ve Yönlendirici Yapılandırma Hizmeti
Ücretsiz Değerlendirme
Ortak parolayla hangi komutu kimin yazdığı bilinmez. Merkezi girişi birlikte planlayalım mı?
İçindekiler
Ana Hizmet
Kurumsal Network Kurulumu