소개
이 문서에서는 Cisco 비밀번호 암호화의 보안 모델과 해당 암호화의 보안 제한에 대해 설명합니다.
배경
Cisco 이외의 소스가 Cisco 설정 파일의 사용자 비밀번호(및 기타 비밀번호)의 암호를 해독하는 프로그램을 릴리스했습니다. 이 프로그램에서는 enable secret
명령을 실행합니다. Cisco 사용자 사이에 발생한 예기치 못한 문제로 인해 많은 사용자가 Cisco 비밀번호 암호화를 통해 제공하는 것보다 더 강력한 보안을 구현하려 한다는 의심을 받고 있습니다.
참고: 모든 Cisco IOS® 디바이스는 AAA(authentication, authorization, and accounting) 보안 모델을 구현하는 것이 좋습니다. AAA는 로컬, RADIUS 및 TACACS+ 데이터베이스를 사용할 수 있습니다.
사전 요구 사항
요구 사항
이 문서에 대한 특정 요건이 없습니다.
사용되는 구성 요소
이 문서는 특정 소프트웨어 및 하드웨어 버전으로 한정되지 않습니다.
이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다. 이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다. 현재 네트워크가 작동 중인 경우 모든 명령의 잠재적인 영향을 미리 숙지하시기 바랍니다.
표기 규칙
문서 규칙에 대한 자세한 내용은 Cisco 기술 팁 표기 규칙을 참조하십시오.
사용자 암호
사용자 암호 및 기타 암호(아님 enable secret
s) Cisco IOS 컨피그레이션 파일에서 는 최신 암호화 표준에서 매우 취약한 스키마로 암호화됩니다.
Cisco는 암호 해독 프로그램을 배포하지 않지만 Cisco IOS 비밀번호에 대한 최소한 두 개의 다른 암호 해독 프로그램을 인터넷에서 사용할 수 있습니다. Cisco가 알고 있는 이러한 프로그램의 첫 번째 공개 릴리스는 1995년 초입니다. 아마추어 암호학자라면 아주 적은 노력으로 새로운 프로그램을 만들 수 있을 것으로 기대합니다.
사용자 비밀번호를 위해 Cisco IOS에서 사용하는 체계는 결정적인 지능형 공격을 차단하기 위한 것이 아닙니다. 암호화 체계는 단순 스누핑 또는 스니핑에 의한 비밀번호 도용을 방지하기 위해 설계되었습니다. 이는 컨피그레이션 파일에서 비밀번호 크래킹 작업을 수행하는 사용자를 보호하기 위한 것이 아닙니다.
취약한 암호화 알고리즘 때문에, 사용자가 비밀번호를 포함하는 모든 컨피그레이션 파일을 비밀번호의 일반 텍스트 목록과 동일하게 민감한 정보로 취급하는 것은 항상 Cisco의 입장이었습니다.
enable secret 및 enable password 명령
이 enable password
명령을 더 이상 사용하지 않는 것이 좋습니다. 이 enable secret
더 우수한 보안을 제공합니다. Cisco에서 제공하는 enable password
디바이스가 를 지원하지 않는 부팅 모드에 있을 때 명령을 테스트할 수 있습니다. enable secret
명령을 실행합니다.
Enable secrets(비밀 활성화)는 MD5 알고리즘으로 해시됩니다. 시스코의 모든 사람들이 아는 한, 설정 파일의 내용을 기반으로 enable secret을 복구하는 것은 불가능합니다(명확한 사전 공격 제외).
참고: 이는 다음으로 설정된 비밀번호에만 적용됩니다. enable secret
, 및 로 설정된 비밀번호는 제외 enable password
. 실제로 사용되는 암호화의 강점은 두 명령 간의 유일한 중요한 차이점입니다.
Enable secret을 지원하는 Cisco IOS 이미지는 무엇입니까?
부팅 이미지를 보려면 show version
명령을 사용하여 정상 작동 모드(전체 Cisco IOS 이미지)에서 부팅 이미지가 enable secret
명령을 실행합니다. 그럴 경우 enable password
. 부팅 이미지가 지원되지 않는 경우 enable secret
, 다음 주의 사항:
-
물리적 보안이 유지되어 아무도 디바이스를 부트 이미지로 다시 로드할 수 없는 경우 enable 비밀번호를 사용하지 않아도 됩니다.
-
누군가가 디바이스에 물리적으로 액세스할 경우 부팅 이미지에 액세스할 필요 없이 디바이스 보안을 쉽게 파괴할 수 있습니다.
-
Firepower Threat Defense에서 enable password
과 동일하게 enable secret
, Cisco는 enable secret
공격 가능성이 높은 enable password
.
-
설정을 하면 enable password
부팅 이미지가 지원되지 않으므로 다른 값으로 enable secret
, 라우터 관리자는 를 지원하지 않는 ROM에서 자주 사용되지 않는 새 비밀번호를 기억해야 합니다. enable secret
명령을 실행합니다. 별도의 enable 비밀번호를 사용하여 관리자는 소프트웨어 업그레이드를 위해 다운타임을 강제로 수행할 때 비밀번호를 기억해야 하며, 이는 부팅 모드로 로그인해야 하는 유일한 이유입니다.
기타 비밀번호
Cisco IOS 컨피그레이션 파일의 거의 모든 비밀번호 및 기타 인증 문자열은 사용자 비밀번호에 사용되는 비약하고 가역적인 방식으로 암호화됩니다.
특정 비밀번호를 암호화하는 데 어떤 스키마가 사용되었는지 확인하려면 컨피그레이션 파일에서 암호화된 문자열 앞의 숫자를 확인합니다. 해당 숫자가 7이면 암호가 약한 알고리즘으로 암호화되었습니다. 숫자가 5이면 더 강력한 MD5 알고리즘으로 비밀번호가 해시되었습니다.
예를 들어, 설정 명령에서 다음을 수행합니다.
enable secret 5 $1$iUjJ$cDZ03KKGh7mHfX2RSbDqP.
enable secret은 MD5로 해시된 반면 명령에서는 다음과 같습니다.
username jdoe password 7 07362E590E1B1C041B1E124C0A2F2E206832752E1A01134D
암호가 약한 가역 알고리즘으로 암호화되었습니다.
설정 파일
전자 메일로 구성 정보를 보낼 때 유형 7 비밀번호의 구성을 삭제하십시오. Firepower Threat Defense show tech-support
명령 - 기본적으로 정보를 정리합니다. 샘플 show tech-support
명령 출력이 여기에 표시됩니다.
...
hostname routerA
!
aaa new-model
aaa authentication login default local
aaa authentication ppp default if-needed local
enable secret 5
!
username jdoe password 7
username headquarters password 7
username hacker password 7
...
TFTP(Trivial File Transfer Protocol) 서버에 컨피그레이션 파일을 저장할 때 해당 파일이 사용 중이 아닐 때 해당 파일에 대한 권한을 변경하거나 방화벽에 배치합니다.
알고리즘을 변경할 수 있습니까?
시스코에서는 Cisco IOS 사용자 비밀번호에 대해 더욱 강력한 암호화 알고리즘을 지원할 계획이 없습니다. Cisco에서 향후 이러한 기능을 도입하기로 결정한 경우, 해당 기능은 이를 활용하기로 선택한 사용자에게 추가적인 관리 부담을 주게 됩니다.
MD5는 단방향 해시이고 암호화된 데이터에서 비밀번호를 복구할 수 없기 때문에 일반적으로 사용자 비밀번호를 enable 암호에 사용되는 MD5 기반 알고리즘으로 전환할 수 없습니다. 특정 인증 프로토콜(특히 CHAP)을 지원하려면 시스템은 사용자 비밀번호의 일반 텍스트에 액세스해야 하므로 이를 가역 알고리즘으로 저장해야 합니다.
키 관리 문제로 인해 DES(Data Encryption Standard)와 같은 보다 강력한 가역적 알고리즘으로 전환하는 것이 사소한 작업이 될 수 없습니다. DES를 사용하여 비밀번호를 암호화하도록 Cisco IOS를 수정하는 것은 쉽지만, 모든 Cisco IOS 시스템에서 동일한 DES 키를 사용한다면 이 접근 방식에서는 보안 이점이 없습니다. 시스템마다 다른 키가 사용된 경우, 모든 Cisco IOS 네트워크 관리자에게 관리 부담이 발생하며 시스템 간 설정 파일의 이동성이 손상됩니다. 강력한 가역적 비밀번호 암호화에 대한 사용자의 요구는 적었습니다.
관련 정보