htpasswd의 암호화 알고리즘을 구별하는 방법은 무엇입니까?

htpasswd의 암호화 알고리즘을 구별하는 방법은 무엇입니까?

Debian Linux에서 실행되는 Apache 웹 서버가 있고 htaccess를 사용하여 디렉터리를 보호하고 있습니다. .htpasswd 파일이 어떻게 생성되는지 모르겠습니다. Apache 문서에는 버전 2.2.17 이전에는 crypt() 암호화를 사용하여 비밀번호가 암호화되고 버전 2.2.18부터는 MD5 암호화가 사용된다고 명시되어 있습니다. 내 .htpasswd 파일이 어떤 암호화를 사용하는지 어떻게 알 수 있나요?

답변1

.htpasswd 파일이 어떻게 생성되는지 모르겠습니다.

이 명령을 찾고 있을 수도 있습니다 htpasswd. 자세한 내용은 매뉴얼 페이지를 읽어보세요:

man htpasswd

내 .htpasswd 파일이 어떤 암호화를 사용하는지 어떻게 알 수 있나요?

왜 이것을 알아야합니까? 단지 파일을 편집하고 싶다면 이것을 아는 것이 중요하지 않다고 생각합니다.

모두 연약하다는 인상을 받았기 때문에 묻습니다.

htpasswd내 컴퓨터의 명령은 네 가지 비밀번호 형식으로 작동합니다.

# MD5 (default)
martin@martin ~ % htpasswd -m -b -n user pass
user:$apr1$uFKIg3No$ItOJ5p6EEbALwPDYcPDd0.
# crypt
martin@martin ~ % htpasswd -d -b -n user pass
user:qMYdeiUkbhR/o
# SHA
martin@martin ~ % htpasswd -s -b -n user pass
user:{SHA}nU4eI71bcnBGqeO0t9tXvY1u5oQ=
# Plain
martin@martin ~ % htpasswd -p -b -n user pass
user:pass

이는 사용 중인 형식을 결정하는 데 도움이 됩니다.

무엇을 걱정하시는지 궁금합니다... 공격자가 파일에 액세스할 수 있는 경우 해시가 취약해지는 것에 대해서만 걱정하면 됩니다. .htpasswd일반적인 구성에서는 그럴 가능성이 없습니다. 파일 은 웹 서버가 파일에 액세스할 수 있지만 제공하지 않는 .htpasswd위치와 같이 제공된 디렉터리 외부에 저장되어야 합니다 ./etc

더욱 신경써야 할 점은HTTP 기본 인증 비밀번호를 일반 텍스트로 전송, HTTPS를 사용하지 않으면 확실히 안전하지 않습니다. 따라서 보안이 걱정된다면 다음으로 전환하는 것을 고려해 보세요.HTTP 다이제스트 인증.

관련 정보