Squid 비밀번호와 DES crypt의 8자 제한
Squid를 탓하거나 호환되지 않는 비밀번호 파일을 조용히 다시 만들기 전에, 겉으로 보이는 비밀번호 잘림 현상을 저장된 해시 형식까지 추적하십시오.
프록시는 비밀번호의 끝부분이 바뀌면 예전 비밀번호를 받아들이고, 비밀번호 파일 이전은 긴 비밀번호를 쓰는 계정을 갑자기 깨뜨립니다. 모든 사용자의 비밀번호를 줄이기 전에 해시 형식을 먼저 확인하십시오.
Apache의 htpasswd -d은 레거시 crypt() 해싱을 선택합니다. 문서화된 DES 제한은 비밀번호의 유효 문자가 여덟 자라는 것입니다. 그 제한은 형식에 속하며, Squid에서 비밀번호에 적용되는 보편적인 여덟 자 규칙이 아닙니다.
NCSA 헬퍼는 저장된 비밀번호 표현을 읽고, 해당 헬퍼와 플랫폼이 지원하는 형식으로 제출된 값을 검증합니다. 파일을 “htpasswd 형식”이라고 부른다고 해서 과거와 현재의 모든 헬퍼가 모든 htpasswd 옵션이 만드는 모든 해시 알고리즘을 받아들인다는 보장은 없습니다.
표현을 의도적으로 이전하십시오
보호된 백업을 보관하고 기존 항목이 사용하는 형식을 확인하십시오. 대체 알고리즘을 고르기 전에 설치된 헬퍼의 설명서와 배포판 빌드를 확인하십시오.
그다음 실제 계정이 쓰는 것과 같은 헬퍼와 프록시 경로로 작은 승인된 테스트 계정을 검증하십시오. 생성기가 파일을 잘 쓴다고 해서 그것을 읽는 헬퍼가 검증할 수 있다는 뜻은 아닙니다. 유효 문자가 예전 경계를 넘어가는 테스트 비밀번호를 사용하십시오.
형식을 바꾸려면 보통 실제 비밀번호나 비밀번호 재설정이 필요합니다. 그 정보가 한 번도 보관되지 않았다면 레거시 해시를 전체 원래 비밀번호의 더 강한 해시로 바꿀 수 없습니다.
마지막으로 이전 실패와 캐시된 인증을 구분하십시오. 이미 인증된 클라이언트는 새 검증이 실패하더라도 한동안 계속 동작할 수 있습니다. 새 인증과 기존 세션을 모두 고려해 배포를 계획하십시오.
버그 보고서에 비밀번호 파일을 공개하지 마십시오. 알고리즘 표시와 합성 계정이 보통 실제 사용자의 해시보다 유용한 증거를 제공합니다.