2011-10-28 1 views
0

나는 재미있는 것을 발견했다. htpasswd 파일을 Base Auth 용 Nginx로 설정했습니다. 모든 것은 정상적으로 작동하지만 <correct password><some random chars>과 같은 암호뿐만 아니라 <correct password>과 같은 암호도 액세스 할 수 있습니다.htpasswd 부정확 한 체크

괜찮습니까? 이것은 Nginx만의 문제이거나 Nginx와 Apache에서 사용되는 crypt 메소드와 관련이 있습니까?

답변

1

나는 이것을 서버 관리자와 공유했습니다. 그는 대답을 찾았습니다 : crypt 알고리즘은 처음 8 문자 만 해시합니다. 따라서 비밀번호가 8 자보다 길면 위조 방지 기능이 향상되지 않습니다. 비밀번호는 6 문자 길이 인 경우 ,의 말을하자

passwd를

기본 인증 거부합니다 암호 passwd01

당신이 htpasswd 유틸리티를 사용하여 암호가 8보다 더 긴 싶은 경우 등 기호를 사용하여 암호화 강도를 향상 시키려면 md5 또는 sha 알고리즘 (각각 -m-s 수정 자)을 사용하여 암호화하는 것이 좋습니다.

그래서 제안

그것이 Nginx에와 아파치 모두에 사용되는 토굴 방법에 관한 것이다

가 정확한지

증거가 GNU.org libc 32.3 Encrypting Passwords에서 찾을 수 있습니다 :

DES 기반 알고리즘의 경우 소금은 두 가지 문자로 구성되어야합니다 ers from the alphabet ./0-9A-Za-z, 그리고 crypt의 결과는 그 두 개의 문자가 이어질 것이고, 그 다음에 동일한 알파벳에서 11이 더 나온다. 키의 처음 8 자만 유효합니다..