두 번째 비밀번호 프롬프트에서 Cisco 스위치의 AAA / TACACS + 비밀번호가 항상 실패합니다


9

AAA / TACACS +를 사용하여 네트워크 장치에 로그인 할 때마다 사용자 이름 프롬프트 후 비밀번호 프롬프트를 팻핑 하면 비밀번호가 정확하더라도 두 번째 비밀번호 프롬프트가 항상 실패합니다. 사용자 이름 프롬프트를 다시 기다려야하며, 바로 다음에 나오는 첫 번째 비밀번호 프롬프트에서 정확한 비밀번호를 얻어야합니다. 즉, 두 번째 비밀번호 프롬프트가 표시되면 작동하지 않습니다.

아래의 위생 된 상호 작용 및 구성을 참조하십시오.

사용자 액세스 확인
사용자 이름 : 사용자 이름
암호:

비밀번호 : (항상 여기서 실패)
액세스 거부

사용자 액세스 확인
사용자 이름 : 사용자 이름
암호:

1 행 (site-name)의 s-site-rack-agg2.example.net에 연결되었습니다.
s-site-rack-agg2 #

이 동작을 설명하기 위해 두 번째 비밀번호 프롬프트와 다른 점은 무엇입니까?

내가 가지고있는 전형적인 AAA 및 관련 구성은 다음과 같습니다.

aaa 새 모델
aaa 인증 로그인 기본 그룹 tacacs + 로컬 회선
aaa 인증 로그인 CONSOLE 없음
aaa 인증 활성화 기본 그룹 tacacs + enable
aaa 인증 실행 기본 그룹 tacacs + 로컬 인증 된 경우
aaa 인증 명령 1 기본 그룹 tacacs + 로컬 인증 된 경우
aaa 인증 명령 7 기본 그룹 tacacs + 로컬 인증 된 경우
aaa 인증 명령 15 개의 기본 그룹 tacacs + 로컬 인증 된 경우
aaa accounting exec 기본 시작-중지 그룹 tacacs +
aaa 계정 명령 0 기본 시작-중지 그룹 tacacs +
aaa 계정 명령 1 기본 시작-중지 그룹 tacacs +
aaa 계정 명령 7 기본 시작-중지 그룹 tacacs +
aaa 계정 명령 15 기본 시작-중지 그룹 tacacs +
aaa 회계 시스템 기본 시작 중지 그룹 tacacs +
!
ip tacacs 소스 인터페이스 Loopback0
tacacs-server 호스트 -prmiaryipremoved- 단일 연결
tacacs-server 호스트 -2 차 ipremoved- 단일 연결
tacacs-server 타임 아웃 10
tacacs 서버 지정 요청
tacacs- 서버 키 7-제거됨-
!
라인 콘 0
 로그인 인증 콘솔
라인 vty 0 4
 위치 제거
 실행 시간 초과 60 0
 비밀번호 7-제거됨-
 전송 입력 텔넷 ssh

실패한 암호가 TACACS가 응답을 반환하는 데 시간이 초과되어 두 번째 프롬프트가 line암호 에서 나왔기 때문에이 문제를 해결하지 못했습니다 . 올바른 암호는 TACACS로부터 즉시 응답을 받았습니다. 최신 ACS 서버로 이동하면 동일한 구성 문제가 해결되었으므로 ACS 문제인 것처럼 보입니다.
generalnetworkerror

답변:


4

이 작업을 시도하는 동안 TACACS + 서버에서 디버그를 수행합니다.

TACACS 인증 만 사용하고 서버에 액세스 할 수없는 경우 로컬 로그인으로 만 대체한다고 가정합니다.

이것을 사용해보십시오 :
aaa authentication login default group tacacs+ line
aaa authentication enable default group tacacs+ enable

이 사이트를 참조하십시오 : 좋은 예와 설명이 있습니다.

http://my.safaribooksonline.com/book/networking/cisco-ios/0596527225/tacacsplus/i13896_ heada _4_2 # X2ludGVybmFsX0h0bWxWaWV3P3htbGlkPTA1OTY1MjcyMjUlMkZpNTAzY9XX

내 생각 엔 "local"키워드가 있으므로
aaa authentication login default group tacacs+ local line

TACACS + 인증은 실패를 반환하므로 라우터는 로컬 인증을 시도합니다. line vty위생 처리 된 구성을 제공해야한다고 생각합니다 . 당신이 가지고 있다면
line vty 0 15
login local

그런 다음 사용자 이름 / 비밀번호 인증을 수행하고 그렇지 않으면 비밀번호를 입력합니다


위생 처리 된 line구성을 Q에 추가 했습니다.
generalnetworkerror

디버그를 간단히 살펴보면 잘못된 암호로 ACS가 충분히 빨리 돌아 오지 않는 것 같습니다. 해당 조건은 TACACS 서버에서 시간 초과가보고 된 유일한 시간이기 때문입니다. 다른 모든 시간에는 타임 아웃이 없습니다.
generalnetworkerror

4

나는 당신의 구성이 매우 위험하다고 생각하고 'enable / line'또는 'local'을 폴백으로 사용하는 경우 결정적이라고 생각합니다. 정답은 로컬입니다. 단방향 해시가 아닌 '암호화'방법).

대신이 구성을 권장합니다.

aaa new-model
! uses tacacs, fallsback to local user if tacacs not working
aaa authentication login default group tacacs+ local
! user gets enabled by tacacs or by enable password
aaa authentication enable default group tacacs+ enable
! console user is authorized as well (gets enabled, if such permission)
aaa authorization console
! configuration commands are authorized as well as exec commands (Good to prevent dangerous commands)
aaa authorization config-commands
! user privilege level is recovered from tacacs or from local account
aaa authorization exec default group tacacs+ local
! level 15 commands are authorized (you really only need this) 
aaa authorization commands 15 default group tacacs+ if-authenticated 
! level 1, 15 commands are logged (you really only need these two)
aaa accounting commands 1 default start-stop group tacacs+
aaa accounting commands 15 default start-stop group tacacs+
!
! fallback user consulted only when tacacs is broken
username sikrit privilege 15 secret <password>

'sikrit'사용자는 tacac가 작동하지 않을 때 (TACACS가 응답하는 경우 사용할 수 없음) 사용되어야합니다. VTY에서는 '협의'비밀번호가 필요하지 않습니다. 절대로 상담하지 않으므로 '활성화'비밀번호가 필요하지 않습니다. 활성화되지 않은 백업 사용자를 원하면 'privilege 1'로 다른 백업 사용자를 만드십시오.
그러나 결국 어떤 이유로 든 사용하려면 '활성화'에 대한 지원을 추가했습니다.

OOB를 사용하고 있고 OOB 액세스가 이미 보안 / 인증 된 경우, TACACS가 고장 났지만 IOS가 실수로 그렇지 않다고 생각하는 경우를 대비하여 OOB 사용자가 항상 로컬 인증을 사용 하도록 허용 할 수 있습니다. :

aaa authentication login CONSOLE local
!
line con 0
 login authentication CONSOLE

aaa authentication login default group tacacs+ local lineAAA 템플릿이 TACACS가 중단되고 로컬 사용자가 정의되지 않은 장치에 배포 된 경우 회선 암호를 포괄으로 사용하는 것이 좋습니다 . 그리고 실제로 aaa authentication login CONSOLE none구성에 원래 표시하지 않은 것이 있습니다. (그렇습니다. 장치에 대한 물리적 콘솔 액세스를 예상보다 많이 신뢰하는 경향이 있습니다.)
generalnetworkerror

실제로 실험실에서보고있는 문제를 복제 할 수 없었습니다. '로컬'암호가 구성되어 있지 않고 IOS가 TACACS에 연결할 수 없다고 생각하면 '라인'암호를 묻는 것이 합리적이지만 나에게 도달 가능한 TACACS의 경우 '선'으로 대체되지 않았습니다. 인증에 실패한 것처럼 보이는 IOS 또는 TACACS의 버그 일 수 있습니다 ( '단일 연결'없이 시도해 볼 수 있음)
ytti

해당하는 두 번째 사용자 이름 프롬프트가없는 두 번째 비밀번호 프롬프트 linelocal인증을 위해 로컬 사용자가 생성되지 않은 시스템 에서 비밀번호에 실패했음을 확실하게 알려줍 니까? [ aaa authentication login default group tacacs+ local line.] tacacs +가 실패하고 로컬 사용자로 로컬을 건너 뛰었으므로 암호를 입력 하시겠습니까?
generalnetworkerror

나는 그것이 tacacs + auth_failure에서 폴백하지 않아야한다고 생각하지 않으며, tacacs + 응답이 누락 된 경우에만해야합니다. 그래서 나는 IOS가 tacacs +가 응답하지 않는다고 생각하는 옵션에 대해 연구했습니다 (응답이라고 가정합니다). 어쩌면 시도해야 할 한 가지는 다른 연결 구성 (예 : 단일 연결 제거)입니다. IOS 버그 인 경우 버그 트리거를 제거 할 수 있습니다.
ytti

암호가 틀릴 때만 tacacs +가 응답하는 데 30 초 이상 걸리는 것을 보여주는 디버그에 대한 또 다른 답변에 대한 나의 의견을 보지 못했을 것입니다. 그때까지, 시스템은 tacacs 서버 응답이 누락 된 것으로 간주하고 인증에서 다음으로 이동합니다. 암호가 정확하면 tacacs 응답이 즉시 이루어집니다.
generalnetworkerror

4

로컬 장치 구성이 이것에 대한 책임이 아니라 TACACS 서버 자체를 책임질 것이라고 확신합니다. TACACS는 TACACS 서버 (및 외부 ID 저장소)에서 장치로 사용자 이름 / 암호 프롬프트를 프록시하므로 ACS (예 :)를 사용하고 사용자 인증을 위해 AD와 통신하도록 설정 한 경우 사용자 이름 / 암호 프롬프트를 장치 자체가 아닌 도메인 컨트롤러에서 가져온 것으로 생각합니다.

최근에 ACS 패치로 수정 된 것과 같은 문제가 발생했습니다. 다시 한 번 ACS를 사용하고 있으며 사용자 인증 / 그룹 확인 등을 위해 AD에서 가져 오는 것으로 가정합니다. Cisco 버그 ID는 CSCtz03211입니다. 기본적으로 ACS 5.3은 장치에 단일 "사용자 이름 / 암호"인증 시도당 여러 번의 인증 시도를 AD로 전송했습니다. 이로 인해 사용자가 첫 번째 시도에서 암호를 훼손한 경우 잘못된 사용자 이름 / 암호 콤보의 여러 인스턴스가 AD로 전송되고 사용자 계정이 실제로 잠기 게되어 로그인 시도가 실패하게됩니다. 사용자가 두 번째 시도에서 사용자 이름 / 암호를 올바르게 입력 한 경우에도 장치가 작동합니다 (물론이 동작은 AD 내의 사용자 계정에 설정 한 잠금 임계 값에 따라 다릅니다).

고려해야 할 사항 (TACACS 서버 구현에 대한 지식이없는 경우)

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.