Kurumsal Network Kurulumu

Switch TACACS+ Yapılandırması: Giriş, Komut Yetkisi ve Kayıt

Switch TACACS+ yapılandırması adım adım: sunucuyu tanıtmak, AAA listeleriyle girişi ve komut yetkisini bağlamak, sunucu cevap vermezse yedek girişi ölçmek.

İlker Pehlivan

Switch TACACS+ yapılandırması, switch’e yönetici girişini yerel hesaplardan alıp merkezi bir TACACS+ sunucusuna bağlamaktır. Bağlama dört listeyle yapılır: giriş, oturum yetkisi, komut yetkisi ve komut kaydı. Bu yazıda lab switch’imi bir Linux TACACS+ sunucusuna bağlıyor ve her adımın sonucunu hem switch’ten hem sunucudan okuyorum. Sunucu cevap vermediğinde switch’in ne yaptığını da ölçüyorum.

Bir süpermarket şubesinde her kasiyerin kendi kodu vardır ve o kodu şube değil, genel müdürlüğün personel sicili doğrular. İade yapmak ya da fiyat düzeltmek gibi kritik işlemlerde kasa her seferinde merkeze bu kasiyerin bu işlemi yapıp yapamayacağını sorar. Merkez de hangi kasiyerin hangi işlemi ne zaman yaptığını kaydeder. Bu yazı kasanın tarafını, yani kasanın merkeze nasıl bağlandığını ve merkeze ulaşılamadığında ne yaptığını anlatıyor.

Switch TACACS+ yapılandırması benzetmesi: süpermarket kasasında kasiyer yazar kasanın tuş takımına kendi kodunu giriyor, kasadan duvar boyunca uzanan hat merkez ofisine gidiyor, ofiste bir görevli defterine yazıyor
Kasiyerin kodunu şube değil merkez doğrular ve her işlem merkezin defterine yazılır. Switch'te TACACS+ yapılandırılınca giriş ve her komut da merkezi sunucuya sorulur ve kaydedilir.

Bu yazı switch yapılandırma rehberimizdeki merkezi yönetici girişi adımının ayrıntısıdır ve Kurumsal Network Kurulumu hizmetimizin switch tarafına aittir. Protokolün kendisini, RADIUS’tan farkını ve sunucunun Ubuntu’da nasıl kurulduğunu TACACS+ nedir yazımızda anlattık. Aynı işi müşterilerimizin ağında nasıl yürüttüğümüzü switch kurulumu ve VLAN yapılandırma hizmeti sayfamızda gösterdik. Aynı switch’i RADIUS ve Windows NPS ile bağladığımız ikiz yazı switch RADIUS yapılandırması.

Yapılandırmadan Önce: Sunucu, Anahtar ve Yedek Giriş

Switch’i merkeze bağlamadan önce merkezin hazır olması gerekir. Beş şeyi önceden kontrol ediyorum:

  1. TACACS+ sunucusu ayakta ve switch’i tanıyor. Sunucuda switch’in adresi bir host kaydıyla tanımlı ve sunucu başka adreslere cevap vermiyor. Kurulumu TACACS+ sunucusu kurulumu bölümünde adım adım gösterdik.
  2. Paylaşılan anahtar iki tarafta aynı. Switch ile sunucu paketin gövdesini bu anahtarla gizler; anahtarlar farklıysa sunucu switch’in isteğini çözemez.
  3. Switch’te yerel bir yönetici hesabı var. Sunucuya ulaşılamadığında switch’e girmenin tek yolu budur. Hesabın nasıl açıldığını switch’te yerel yönetici hesabı yazımızda anlattık.
  4. İki cihazın saati doğru. Saatleri tutmayan iki cihazın kaydını bir arızada yan yana okuyamazsınız. Switch’in saatini switch NTP server ayarı yazımızda iç NTP sunucusuna bağladık.
  5. İkinci bir SSH oturumu açık. Kimlik doğrulamayı değiştiren yanlış bir satır yeni girişleri keser. Değişiklikleri bir oturumdan yapıp ötekini geri dönüş yolu olarak açık tuttum.

Switch’te TACACS+ dört ayrı listeyle çalışır. Her liste sunucuya ayrı bir soru sorar ve sunucuya ulaşılamadığında ne yapılacağı da listenin içine yazılır:

ListeSwitch sunucuya ne sorarLab’daki tanımSunucuya ulaşılamazsa
Giriş (aaa authentication login)Kullanıcı adı ve parola doğru mu?tacacs localYerel hesaplara bakar
Oturum yetkisi (aaa authorization exec)Bu kullanıcı komut satırı açabilir mi?tacacs localYerel hesaplara bakar
Komut yetkisi (aaa authorization commands)Bu kullanıcı bu komutu çalıştırabilir mi?tacacs noneKomutu sormadan çalıştırır
Komut kaydı (aaa accounting commands)Çalışan komutu kaydeder misin?stop-only tacacsLab’da ölçmedim

Kasiyer benzetmesinde bu dört liste şuna karşılık gelir:

  • Giriş listesi, kasiyerin kodunu merkeze sormaktır.
  • Oturum yetkisi, kodu doğrulanan kasiyerin o kasayı açmaya yetkili olup olmadığını sormaktır.
  • Komut yetkisi, iade gibi her kritik işlemde merkeze yeniden sormaktır.
  • Komut kaydı, işlemin merkezin defterine yazılmasıdır.

Switch’i TACACS+ Sunucusuna Bağlamak: Giriş ve Oturum Yetkisi

Sunucu hazır, yerel acil durum hesabı yerinde. Şimdi switch’e sunucuyu tanıtıyor ve SSH girişini ona bağlıyorum.

Önce sunucunun adresini ve paylaşılan anahtarı yazıyorum, sonra giriş listesini tanımlayıp SSH hattına bağlıyorum. Listede önce tacacs, sonra local yazıyor; sunucuya ulaşılamazsa switch kendi yerel hesaplarına döner:

Switch Konsolu
configure
tacacs-server host 192.168.1.46
key <paylaşılan anahtar>
exit
aaa authentication login tacacsList tacacs local
line ssh
login authentication tacacsList
exit
exit

Giriş listesi tek başına yetmez. Switch, kimliği doğrulanan kullanıcıya komut satırını açmadan önce ikinci bir listeye bakar: oturum yetkisi. Bu switch’te o liste varsayılan olarak yalnız yerel hesaplara soruyordu (aaa authorization exec "dfltExecAuthList" local). Oturum yetkisini de TACACS+‘a bağlıyorum:

Switch Konsolu
configure
aaa authorization exec tacacsExec tacacs local
line ssh
authorization exec tacacsExec
exit
exit

İki listenin ayrı çalıştığını lab’da gördüm. Giriş listesini bağlayıp oturum yetkisini yerelde bıraktığımda sunucu kimliği doğruladı, switch ise kapıyı açmadı. O denemenin iki uçtan kaydını aşağıdaki doğrulama bölümünde gösteriyorum.

İki liste bağlandıktan sonra sistemkusu-yonetici hesabıyla girdim ve switch bu kez komut satırını açtı:

Çıktı
Using username "sistemkusu-yonetici".
gmsw01#

# istemi en yüksek yetki seviyesidir. Bu seviyeyi switch değil, sunucudaki kullanıcı profili verdi.

Komut Yetkisi ve Komut Kaydı: Her Komut Sunucuya Sorulur

Giriş çalışıyor, ama bu hâliyle içeri giren her yönetici her komutu çalıştırabiliyor. TACACS+‘ı yerel hesaplardan ayıran asıl özellik komut başına yetki ve her komutun kaydıdır. İki listeyi daha tanımlayıp SSH hattına bağlıyorum:

Switch Konsolu
configure
aaa authorization commands tacacsCmd tacacs none
aaa accounting commands tacacsAcct stop-only tacacs
line ssh
authorization commands tacacsCmd
accounting commands tacacsAcct
exit
exit

Komut yetkisi listesinde tacacs’tan sonra none yazıyor. Lab switch’imde bu listenin yöntemleri yalnız tacacs ve none; local seçeneği yok. none, sunucuya ulaşılamazsa komutların yetki sorulmadan çalışması demektir. Bu bilinçli bir seçim ve bedelini aşağıda ölçüyorum.

sistemkusu-izleyici ile girip bir okuma ve bir yapılandırma komutu denedim:

Switch Konsol Çıktısı
gmsw01#show clock
15:26:46 (UTC+0:00) Sep 23 2026
Time source is SNTP (not synchronized)
gmsw01#configure
configure: Command Is Not Authorized

show clock çalıştı, configure geri çevrildi. sistemkusu-yonetici ise yapılandırma moduna sorunsuz girdi. Kararı switch değil sunucu verdi, çünkü izleyici profili yalnız show ile başlayan komutlara izin veriyor.

Burada bir sıra tuzağı var. İzleyici profili de oturumu en yüksek seviyeden açıyor, çünkü kısıtlamayı seviye değil komut yetkisi yapıyor. Komut yetkisini SSH hattına bağlamadan önceki adımda sistemkusu-izleyici switch’e gmsw01# istemiyle, yani tam yetkiyle girmişti. Salt okunur bir hesap, ancak komut yetkisi de bağlandığında salt okunur olur. İşlemleri merkeze sormayan bir kasa da kodu doğrulanmış her kasiyere her işlemi yaptırır.

Switch TACACS+ Yapılandırmasını Doğrulamak: Switch’ten ve Sunucudan

Dört liste bağlandı. Şimdi yapılandırmanın istediğimiz gibi çalıştığını iki uçtan okuyorum; önce switch’in kendi gördüğünü, sonra sunucunun kaydını.

Switch Tarafı: Tanımlı Sunucu ve Bekleme Süresi

Switch’te show tacacs tanımlı sunucuyu ve bekleme süresini gösterir:

Switch Konsol Çıktısı
gmsw01#show tacacs
Global Timeout: 5
Host address               Port    Timeout   Priority
------------------------   -----   -------   --------
192.168.1.46               49      Global    0

Bu çıktıda üç alana bakılır:

  1. Host address sunucunun adresidir. Yanlışsa switch başka bir makineye sorar.
  2. Port 49 olmalıdır, çünkü TACACS+ bu TCP portunu kullanır.
  3. Global Timeout switch’in sunucudan cevap için kaç saniye beklediğidir. Bu değerin ne kadar önemli olduğunu sunucu cevap vermediğinde ölçtüm; sonucu bir sonraki bölümde gösteriyorum.

Sunucu Tarafı: Oturum ve Komut Kararları

Sunucunun yetki günlüğü her oturumu, kullanıcıya uygulanan profille birlikte yazar:

Çıktı
2026-09-23 15:25:44 +0000 192.168.1.2	sistemkusu-yonetici	unknown		yonetici	permit	shell
2026-09-23 15:25:50 +0000 192.168.1.2	sistemkusu-izleyici	unknown		izleyici	permit	shell

Profil sütunu kimin hangi yetkiyle girdiğini gösterir: sistemkusu-yonetici yönetici, sistemkusu-izleyici izleyici profiliyle. Komut kararları da aynı günlükte satır satır durur. İzleyicinin az önceki iki denemesi sunucuda şöyle göründü:

Çıktı
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

Switch’te çalışan show clock sunucuda permit, geri çevrilen configure ise deny olarak kayıtlı. İki uç aynı şeyi söylüyor. Günlüklerin tamamını ve her sütunun anlamını TACACS+ nedir yazımızda okuduk.

İki Uç Farklı Şey Söylüyorsa: Kimlik Doğrulandı, Giriş Reddedildi

Doğrulamanın asıl işe yaradığı yer, iki ucun birbirini tutmadığı andır. Giriş listesini bağlayıp oturum yetkisini yerelde bıraktığım denemede switch girişi reddetti:

Çıktı
Using username "sistemkusu-yonetici".
Access denied
FATAL ERROR: Configured password was not accepted

Aynı saniyede sunucunun kaydı ise başka bir şey söylüyordu:

Bash
$ sudo tail -1 /var/log/tac_plus-ng/erisim.log
2026-09-23 15:25:08 +0000 192.168.1.2	sistemkusu-yonetici	unknown	192.168.1.115	shell login succeeded

Sunucu kimliği doğrulamış, switch yine de kapıyı açmamış. Nedeni AAA’nın ikinci harfidir. sistemkusu-yonetici switch’in yerel hesaplarında olmadığı için kimliği doğrulansa da yerel oturum yetkisi listesinden geçemedi. Sunucu “evet” deyip switch “hayır” diyorsa sorunu önce switch’teki listelerde arayın, çünkü biri hâlâ yerelde kalmış olabilir. Doğrulama başka bir yerde tutmuyorsa aşağıdaki sık yapılan hatalar listesine bakın.

TACACS+ Sunucusu Cevap Vermezse Switch Ne Yapar?

Yapılandırma doğrulandı. Ama merkezi girişin bir bedeli var ve o bedel, merkezin durabilmesidir. Switch’e girişi bir sunucuya bağladığınızda, o sunucu durduğunda ne olacağını da önceden bilmeniz gerekir. İki durumu ayrı ayrı ölçtüm, çünkü sonuçları çok farklı çıktı.

Birincisi, servis durduğunda. Sunucuda tac_plus-ng’yi durdurdum. Makine açık olduğu için switch’in TCP 49 isteğine hemen bir red cevabı döndü ve switch beklemeden yerel hesaba geçti. Yerel ilker hesabıyla bağlanıp çıkmak üç denemede de 1,2 saniye sürdü; servis çalışırken aynı iş 3 ile 4,3 saniye arasında sürüyordu, çünkü switch her adımda sunucuya soruyordu. sistemkusu-yonetici ise giremedi, çünkü o hesabın switch’te yerel bir karşılığı yok.

İkincisi, sunucu hiç cevap vermediğinde. Bu, sunucunun kapalı olduğu ya da aradaki bağlantının koptuğu durumdur ve switch’in isteği cevapsız kalır. Bunu sunucuda 49 numaralı portu sessizce düşürerek ölçtüm. Yerel hesapla giriş yine başarılı oldu ama yaklaşık 10 saniye sürdü. Doğrulama bölümündeki show tacacs çıktısında switch’in bekleme süresi 5 saniyeydi ve ölçtüğüm süre bunun iki katına denk geliyor.

Asıl ağır bedel girişten sonra geldi. Üç show clock komutunu arada bekleme olmadan arka arkaya gönderdim:

Switch Konsol Çıktısı
15:31:03 (UTC+0:00) Sep 23 2026
gmsw01#show clock
15:31:08 (UTC+0:00) Sep 23 2026
gmsw01#show clock
15:31:13 (UTC+0:00) Sep 23 2026

Her komut 5 saniye bekledi. Switch her komuttan önce sunucuya yetki sordu, zaman aşımını bekledi ve ancak ondan sonra none yöntemine geçip komutu çalıştırdı. Sunucu açıkken aynı üç komut toplam 5 saniyede bitmişti. Bir arıza sırasında switch’te sorun arayan kişi için her komutun 5 saniye beklemesi ciddi bir yavaşlıktır.

Benzetme burada kopuyor. Gerçek bir markette genel müdürlüğe ulaşılamadığında kasiyer bunu hemen anlar ve ne yapacağına karar verir. Switch ise cevap gelmeyen sunucuyu her komutta yeniden bekleyerek fark eder.

Bu ölçümden üç kural çıkıyor:

  1. Kimlik doğrulama listesinde yerel hesap mutlaka kalmalı. Switch’te yalnız acil durumda kullanılacak, parolası güvenli bir yerde saklanan bir yerel yönetici hesabı bulunur.
  2. Tek bir TACACS+ sunucusu tek bir arıza noktasıdır. show tacacs çıktısındaki öncelik (Priority) sütunu birden çok sunucu tanımlanabildiğini gösteriyor; ikinci sunucuyu lab’da denemedim. İkinci bir sunucu, birinin durmasının bütün switch yönetimini yavaşlatmasını önler.
  3. Sunucunun kendisi izlenmelidir. Sunucunun durduğu, bir yönetici switch’e girmeye çalıştığında değil, izleme sisteminin alarmıyla fark edilmelidir.

Switch’i TACACS+‘a Bağlarken Unutulan: Servis Hesapları

Lab’da bir sürpriz daha vardı ve TACACS+‘a geçen her kurumun karşılaşacağı türdendi. Bu switch’in yapılandırması her gece bir betikle, yedekci adlı bir hesapla SSH anahtarı kullanılarak yedekleniyor; kurulumunu switch yapılandırma yedeği yazımızda anlattık.

SSH hattı TACACS+‘a bağlandıktan sonra yedek betiğini çalıştırdım ve betik başarısız oldu:

Bash
$ /usr/local/bin/switch-yedek.sh; echo "betik cikis $?"
betik cikis 1
$ journalctl -q -t switch-yedek --no-pager | tail -1
Sep 23 15:32:15 sistemkusu-syslog switch-yedek[7443]: gmsw01: yapılandırma alınamadı, önceki yedek korunuyor

TACACS+ sunucusunun kaydında nedeni duruyordu: yedekci ... shell login failed. Hesap anahtarla bağlansa da switch girişi TACACS+‘a sordu ve sunucu bu hesabı tanımadığı için reddetti. Betik boş bir yedeği iyi yedeğin üstüne yazmadığı için bir kayıp olmadı, ama yedek o geceden itibaren alınmayacaktı.

Merkezi girişe geçerken yalnız insanları değil, cihaza giren her otomatik işi de listeleyin. Yedek, izleme ve envanter betikleri de birer kullanıcıdır ve TACACS+ sunucusunda en düşük yetkiyle tanımlanmaları gerekir. Şubede gece sayım yapan el terminalinin de merkezde bir kodu olmalıdır.

Switch TACACS+ Yapılandırmasında Sık Yapılan Hatalar

  • Yalnız giriş listesini bağlamak. Oturum yetkisi yerel listede kalırsa sunucunun doğruladığı kullanıcı yine de giremez; lab’da Access denied bu yüzden geldi.
  • Komut yetkisini bağlamadan hesabı salt okunur sanmak. İzleyici profili oturumu en yüksek seviyeden açar ve kısıtlama ancak komut yetkisi bağlanınca başlar.
  • Yerel hesabı listeden çıkarmak. Sunucuya ulaşılamadığında switch’e girmenin başka yolu kalmaz.
  • Tek sunucuyla yetinmek. Sunucu cevap vermezken her giriş ve her komut zaman aşımını bekler.
  • Servis hesaplarını unutmak. Yedek ve izleme betikleri TACACS+‘a geçişin ilk gecesi sessizce durur.
  • Yapılandırma yedeğini sıradan bir dosya gibi saklamak. Switch’in çalışan yapılandırmasında paylaşılan anahtar düz metin durur; yedeği ele geçiren anahtarı da ele geçirir. Bunun protokol açısından ne anlama geldiğini TACACS+ nedir yazımızda paket düzeyinde gösterdik.

Sonuç: Merkezi Giriş, Merkezin Durabileceğini Unutmadan Kurulur

Switch TACACS+ yapılandırması dört listedir ve dördünün de ayrı ayrı bağlanması gerekir: giriş, oturum yetkisi, komut yetkisi ve komut kaydı. Lab’da yalnız okuma yetkisi olan kullanıcının configure komutu geri çevrildi ve her komut kullanıcı adıyla sunucuya yazıldı. Ortak yönetici parolasıyla çalışan bir switch’te bu kayıtların hiçbiri tutulmaz.

Bedeli ise merkezin durabilmesidir. Sunucu cevap vermediğinde giriş 10 saniye, her komut 5 saniye sürdü ve yerel karşılığı olmayan hesaplar giremedi. Sunucuda tanımlanmayan yedek hesabı ise sunucu çalışırken bile giremedi. Yerel acil durum hesabını, ikinci sunucuyu ve servis hesaplarını aynı günde düşünmek gerekir. Kasiyer kodunu merkez doğrular, ama merkez cevap vermediğinde şubenin kapısını kimin açacağı da önceden yazılıdır.

Merkezi girişin bir switch’i canlıya alma sırasındaki yerini switch yapılandırma rehberimizde gösterdik.

Switch TACACS+ Yapılandırması Hakkında Sık Sorulan Sorular

Girebilirsiniz, yeter ki kimlik doğrulama listesinde TACACS+'tan sonra yerel hesap yazılı olsun. Lab'da sunucu cevap vermezken yerel hesapla giriş yaklaşık 10 saniye sürdü ve sonrasında her komut 5 saniye bekledi. TACACS+ sunucusunda tanımlı olup switch'te yerel karşılığı olmayan hesaplar ise o sırada giremez.
Çünkü switch girişten sonra ayrı bir listeye, oturum yetkisine bakar. Lab'da giriş listesi TACACS+'a bağlıyken oturum yetkisi yerel hesaplarda kalmıştı. Sunucunun günlüğü girişi başarılı yazdı, switch ise Access denied döndü. Oturum yetkisini de TACACS+'a bağlayınca giriş açıldı.
Lab switch'imde komut yetkisi listesinin yöntemleri yalnız tacacs ve none; local seçeneği yok. none, sunucuya ulaşılamazsa komutun yetki sorulmadan çalışması demektir. Bedelini de ölçtüm. Sunucu hiç cevap vermediğinde her komut 5 saniyelik zaman aşımını bekledikten sonra çalıştı.
Switch girişi TACACS+'a bağlanınca otomatik işlerin hesapları da sunucuya sorulur. Lab'da yedek betiğinin kullandığı yedekci hesabı sunucuda tanımlı olmadığı için giriş reddedildi ve yedek alınamadı. Bu hesapları TACACS+ sunucusunda en düşük yetkiyle tanımlamak gerekir.
İlker Pehlivan
Yazan

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.

LinkedIn

Benzer Makaleler

Kurumsal Network Kurulumu altındaki diğer 114 makale