MD5 Algorithm 패스워드 관련 이야기를 하기 위해 Cisco 패스워드 설정하는 내용을 같이 공유합니다.
최근에서야 알게된 부분이 있었습니다.
먼저 Cisco 스위치(mainly IOS)의 계정 설정 부분을 살펴보면 아래와 같이 설정을 합니다.
Switch(config)# username [id] ?
password [password]
secret [number] [password]
위와 같이 username 커맨드를 통해 ID를 정의해주며 그 다음 커맨드로 password 또는 secret을 입력하여 패스워드 설정을 해주고 있습니다.
vendor에서는 password는 권고하지 않는 패스워드 설정 방법이고, secret(encrypted)을 통한 패스워드 설정을 권고합니다. 그 외에는 알아서 설정해야하는 것이죠.
일반적으로 스위치가 공격당하는 경우가 흔하진 않지만, 무작위 IP 대입으로 시도하다보면 스위치가 얻어걸려 공격당할 수 있습니다.
이 때 스위치에 저장되어 있는 패스워드가 어떤 알고리즘을 통해 저장되어 있냐가 중요한데, secret의 방식에는 몇가지 종류가 있습니다.
Switch(config)# username [id] secret [password]
위와 같이 계정을 설정하게되면, default 값인 secret 5 로 설정이 됩니다.
secret 5는 MD5 방식의 알고리즘을 채택하여 패스워드를 저장하는 것인데, 사실 오래전부터 MD5 방식은 패스워드에 사용되기에는 적절하지 않은 방식으로 알려져왔습니다.
패스워드 알고리즘은 일반적으로 해싱 기법이 적용되는데, 사실 hash라는 것이 패스워드를 위해 개발된 기술이 아니라 더 빠르게 Sorting하기 위해 개발된 기술입니다.
하지만 hash의 특성상 패스워드 알고리즘에도 적용하기 매력적인 것은 확실합니다.
MD5는 단지 알고리즘 방식에 취약점이 발견이 되어 단기간에 패스워드를 찾아낼 수 있는 방법이 발견이 되었고, 그로인해 더이상 사용을 권고하지 않는 방식이 되었습니다.
Cisco IOS 스위치에서 적절한 패스워드 설정을 위해서는 다른 스위치는 모르겠지만 제가 본 스위치 기준으로 PBKDF2(SHA256) 또는 SCRYPT 방식으로 패스워드를 설정을 해주는 것이 좋습니다.
※ IOS 15.3(3) 버전 이상부터 지원하고 있습니다.
하지만 현시점(19.05.18)으로는 scrypt 방식에 버그가 있는 것으로 알고 있습니다.
PBKDF2 알고리즘을 적용한 계정 설정 방법은 아래와 같습니다.
Switch(conf)# username [id] algorithm-type sha256 secret [password]
위와 같이 설정한 후 ‘show run’을 통해 계정 설정 부분을 살펴보면 secret 8 (아마 맞을겁니다.)로 설정된 것을 확인하실 수 있습니다.
이상 MD5 Algorithm 패스워드 관련 글이었습니다.
다른 보안 관련 글은 이 링크를 통해 확인해주시고, MD5의 위키내용은 여기를 눌러주시기 바랍니다.