RHEL / CentOS 7 Üzerinde Tacacs+ Yapılandırması ve Kullanıcı Kimlik Doğrulaması
1. Genel Bakış
Tacacs+; kimlik doğrulama, yetkilendirme, hesap yönetimi gibi hizmetler için kullanılan bir kimlik ve erişim yönetimi çözümüdür. Ağ üzerindeki cihazlara merkezi bir kimlik doğrulama ve kimlik erişim yönetimi olarak kullanılır.
Hesap yönetimi, ayrıcalıklı kullanıcılar tarafından yürütülen tüm eylemleri günlüğe kaydederek zorunlu bir denetim ve olay günlüğü takibini sağlar.
2. Başlarken
RHEL / CentOS 7 Linux sunucuyu kurduğunuzu ve düzgün çalıştırdığınızı varsayalım.
3. Tacacs + Kurulumu
Öncelikle, tac_plus paketinin yeni bir Yum deposu dosyası oluşturmamız gerekiyor, ancak kaynak kodu derlemesi yapmayacağız.
# cd /etc/yum.repos.d/ # vim tacacs-plus.repo [tacacs-plus] name=Tacacs Plus baseurl=http://li.nux.ro/download/nux/misc/el6/x86_64/ enabled=0 gpgcheck=1 gpgkey=http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro
Şimdi aşağıdaki komutla tac_plus paketini kurarak, Tacac+ kurulumuna başlayabiliriz.
# yum –enablerepo=tacacs-plus install tac_plus
4. Tacacs + Yapılandırması
Aşağıdaki tabloda belirtilen şekilde yapılandırma yapmamız gerekiyor. İki kullanıcı grubu oluşturacağız. İlk grup, ağ cihazlarında tam yetkiye sahip “netadmins”grubu olacak. İkinci grup sadece show komutlarını çalıştırabilen ve ağ cihazlarında herhangi bir değişiklik yapamayan “guestusers” dır.
Authentication | Authorization Commands | Accounting | |
Group Name | Group Member | ||
netadmins | ali | Full privileges | /var/log/tac.acct |
ahmet | |||
guestusers | mehmet | show | |
exit | |||
end |
tac_pwd komutunu kullanarak, Tacacs+ kullanıcıları için encrypted parola oluşturuyoruz. Örneğimizde “ali”, “ahmet” ve “mehmet” kullanıcılarına aynı parolayı vereceğiz. Yani, parolayı üç kez üretmek zorunda değiliz. Fakat siz sunucunuzda bu şekilde yapmazsanız iyi olur.
# tac_pwd Password to be encrypted: 4444 AQTf0/E.xcBhU
Yapılandırmayı aşağıdaki gibi yapabiliriz.
# vim /etc/tac_plus.conf key = “VK@123” accounting file = /var/log/tac.acct ## Groups Definition ## group = netadmins { default service = permit service = exec { priv-lvl = 15 } } group = guestusers { default service = deny service = exec { priv-lvl = 15 } cmd = show { permit .* } cmd = exit { permit .* } cmd = quit { permit .* } cmd = end { permit .* } } ## Users Definition ## user = ali { login = des AQTf0/E.xcBhU member = netadmins } user = ahmet { login = des AQTf0/E.xcBhU member = netadmins } user = mehmet { login = des AQTf0/E.xcBhU member = guestusers }
Son olarak, sistemi yeniden başlatarak tac_plus servisini çalıştıracağız.
# system restart tac_plus # chkconfig tac_plus on
Tac_plus portunu aşağıdaki komutla görüntüleyebiliriz.
# nmap localhost Starting Nmap 6.40 ( http://nmap.org ) at 2017-05-25 22:19 +07 Nmap scan report for localhost (127.0.0.1) Host is up (0.0000080s latency). Other addresses for localhost (not scanned): 127.0.0.1 Not shown: 997 closed ports PORT STATE SERVICE 22/tcp open ssh 49/tcp open tacacs Nmap done: 1 IP address (1 host up) scanned in 0.10 second
Şimdi tac_plus portunun çalışması için güvenlik duvarında buna izin vermemiz gerekiyor.
# vim /etc/sysconfig/iptables -A INPUT -p tcp -m state –state NEW -m tcp –dport 49 -j ACCEPT # systemctl restart iptables # iptables -L -v -n
5. Sonuç
Kimlik ve erişim yönetimi çözümü için Tacacs+’ı, RHEL / CentOS 7 üzerinde yapılandırdık. Faydalı olacağını umuyorum. Herhangi bir sorunuz veya öneriniz olursa yazmaktan çekinmeyin.
Merhaba, makale için teşekkürler.
Kullanıcı yetkilendirmesi yapabiliyor muyuz? Yani bazı kullanıcılar sadece show komutlarını çalıştırsın gibi
merhabalar, yanlış hatırlamıyorsam /etc/tac_plus.conf üzerinde bir group tanımlaması yaptıktan sonra kullanıcı gruba dahil ederek istediğinize benzer bir yetki kısıtlaması yapabiliyorsunuz. agciyiz.net sayfasında buna değinilmiştir,
cmd = show {
permit .*
}
şeklinde uygulanıyordu