개요
TACACS+ 서버를 이용하여 네트워크 장비의 단일 인증 구성
구성환경
CentOS 7.6 / tacacs+ / cisco 2960
1. TACACS+ 서버 설치
1.1 TACACS+ 패키지 다운로드
ftp://ftp.shrubbery.net/pub/tac_plus
1.2 TACACS+ 서버 패키지 설치
shell> tar zxvf tacacs+-F5.0.0a1.tar.gz
shell> configure --prefix=/usr/local/tacacs -enable-maxsess -without-libwrap
shell> make
shell> make install
1.3 TACACS+ 서버 설정
shell> vi /usr/local/tacacs/conf/tacplus.conf
key = tacPassword # 공유키 설정 accounting file = /var/log/tac_plus.acct # account record 파일 위치 # enable 설정 user = $enable$ { # enable password login = cleartext "cisco" # 평문 암호 사용 #login = des "HwpiveoW0gyNE" # des 암호 사용 $INSTALL_HOME/bin/tac_pwd 명령어 사용 } # 관리자 그룹 설정 group = admins { default service = permit login = cleartext "adminPW" service = exec { priv-lvl = 15 # Privilege Level(권한 레벨) 설정 } } # 제한적인 그룹 설정 group =operators { default service = deny # cmd 권한에 대한 기본 설정 login = cleartext "operatorPW" service = exec { priv-lvl = 1 # Privilege Level(권한 레벨) 설정 } cmd = show { permit .* } cmd = logout { permit .* } # config 모드에서 명령어 제어, 스위치 설정에서 aaa authorization config-commands 설정이 되어 있어야만 적용됨 cmd = configure { permit .* } cmd = write { permit .* } cmd = snmp-server { # snmp-server 명령어의 모든 인수 허용 permit .* } cmd = no { # no 명령어 사용시 no snmp-server의 모든 인수를 허용하고 그외 no 명령어는 거부 permit "snmp-server .*" deny .* } cmd = interface { permit "FastEthernet .*" # interface 명령어에서 FastEthernet 인수 외에는 모두 거부 deny .* } cmd = description { # description 명령어의 모든 인수 허용 permit .* } } # 제한적인 그룹 설정, enable 모드로 진입하더라도 cmd에 정의한 것들만 실행 가능 group = monitors { default service = deny login = cleartext "monitorPW" # 사용자 패스워드가 설정되어 있지 않을 경우 group에 설정된 패스워드가 적용됨 service = exec { priv-lvl = 1 } cmd = show { permit ver permit env permit privilege permit logging permit interfaces deny .* } } # admins 그룹의 admin 사용자 정의 user = admin { default service = permit login = cleartext "admin" member = admins # 사용자 그룹 설정 } # operators 그룹의 john, fred 사용자 정의 user = john { default service = deny # 그룹설정과 겹칠경우 사용자 설정이 우선함 member = operators } user = fred { default service = deny expires = "Apr 11 2020" # 사용자 만료기한 설정 service = exec { autocmd ="telnet 192.168.0.1" # 로그인시 자동으로 autocmd 실행 } member = operators # 사용자 그룹 설정 } # monitors 그룹의 tom 사용자 정의 user = tom { default service = deny member = monitors # 사용자 그룹 설정 } |
1.4 DES 암호 설정
shell> tac_pwd
Password to be encrypted: 123 => 암호입력
40RV06kkUGKPA => 암호화된 패스워드
1.5 tacacs+ 서비스 구동
shell> tac_plus -C /usr/local/tacacs/conf/tacplus.conf
2. 스위치 설정
2.1 configureation
(config)# aaa new-model |
** TACACS+ 서버가 장애시 모든 접속이 되지 않을 수 있으므로 login,enable시 local 사용자 데이타 베이스를 설정 권장
마무리
네트워크 장비들이 많을 경우 tacacs 서버를 구성함으로써 사용자 인증을 단일화 할수 있어 편하다. 또한 그룹별로 권한을 부여할수 있어 큰 구모의 회사에서는 권한 관리에 더 유용하지 않을까 한다.
'네트워크' 카테고리의 다른 글
CISCO SNMP V3 구성 (2) | 2021.03.09 |
---|