
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 다이제스트 인증.