Linux에서 기본 루트 알고리즘을 sha512로 설정하는 방법은 무엇입니까?

Linux에서 기본 루트 알고리즘을 sha512로 설정하는 방법은 무엇입니까?

아래 내용을 볼 수 있습니다 /etc/shadow. 루트 비밀번호에 대한 해싱 알고리즘은 md5이지만 테스트 사용자에 대한 해싱 알고리즘은 sha512입니다.

root:$1$RjnJa1j6$.HbXUfxVzGSSAgSvz52Zm1:19251:0:99999:7:::
.
.
.
test:$6$6myiVypQtv/A31gF$totJgATLtEnHGHNuDdgRDVyhAOoI3s1xYQ5Cw1DqhjQ4UKC.brqRGSP/GMJ.KpZ079Rqm6KaPG6IhoiwocELY1:0:0:99999:7:::

다음 설정을 확인했습니다 /etc/login.defs.

ENCRYPT_METHOD SHA512

그리고 /etc/pam.d/system-auth:

password sufficient pam_unix.so nullok sha512 shadow try_first_pass try_authtok

두 파일 모두 알고리즘이 sha512로 설정되어 있는데 왜 루트의 md5인가요?

명령을 사용하지 않고 루트의 기본 비밀번호 해싱 알고리즘을 sha512로 설정할 수 있습니까 passwd?

감사해요!

답변1

첫 번째 질문에 대한 대답은 아마도 레거시 시스템일 것입니다. 이전 시스템은 여러 번 업데이트되었으며 원본 버전 md5과 현재 버전이 사용되므로 sha업데이트 과정에서 비밀번호가 변경되지 않습니다(다음 단락 참조).

해시는 정의에 따라 암호화의 한 형태이므로 하나의 해시를 다른 해시로 변환할 수 없습니다. 따라서 일반 텍스트를 모르므로(암호화된 비밀번호를 사용할 때도 소금이 사용됨) root비밀번호의 해시를 (쉽게) 생성할 수 없습니다.

의견에서 언급했듯이 : 사용passwd

답변2

passwd 명령을 사용하지 않고 알고리즘 sha512에 루트 기본 비밀번호를 설정할 수 있습니까?

이론적으로 데이지 체인을 통해 해시를 "변환"하는 것이 가능합니다.

따라서 이전 해시의 새 해시를 저장하지만 이 시점에서는 원래 일반 텍스트 비밀번호를 모르고 새 해시를 저장하게 됩니다. 따라서 주어진 비밀번호를 확인하려면 새 해시와 비밀번호를 직접 확인하는 것이 아니라 먼저 이전 해시를 계산한 다음 이전 해시와 새 해시를 확인해야 합니다.

일부 웹 애플리케이션은 어떤 방식으로든 무염 md5 해시를 마이그레이션해야 할 때 이 방법을 사용합니다. 몇 년 동안 다시 로그인하지 않았고(종종 오래된) 이메일 주소를 통해 연락할 수 없는 사용자가 많다는 점을 고려하세요.

따라서 이론적으로 사용자 비밀번호에 대해 동일한 기능을 달성하는 것이 가능하지만, 그것이 어디에 있는지는 모르겠습니다. 이것은 약간 난해하며 그만한 가치가 없습니다.

새로운 비밀번호를 설정하시면 됩니다. 해시/솔트를 설정할 때마다 일반 텍스트 비밀번호가 동일하게 유지되더라도 새로운 해시/솔트를 얻게 됩니다.

답변3

Linux에서 기본 루트 알고리즘을 sha512로 설정하는 방법은 무엇입니까?

한편으로는 이것이 Linux 배포판에만 국한된 것일 수도 있고 더 중요하게는 버전에 국한된 것일 수도 있다고 생각합니다. Google에 따르면 SHA512는 2001년에 도입되었습니다. 내 질문은 어떤 Linux 배포판과 버전을 사용하고 있습니까? RHEL 7.9에서 내 루트 비밀번호는 다음과 같습니다.SHA512'd내 모든 사용자 계정과 같습니다.

https://man7.org/linux/man-pages/man5/login.defs.5.html

ENCRYPT_METHOD - 그룹 비밀번호 생성에만 영향을 미칩니다. 사용자 비밀번호 생성은 PAM에 의해 수행되며 PAM 구성에 따라 달라집니다. 이 변수는 PAM 구성과 일치하도록 설정하는 것이 좋습니다.

MD5_CRYPT_ENAB - 이 변수는 더 이상 사용되지 않습니다. ENCRYPT_METHOD를 사용해야 합니다. 최신 Linux 배포판을 실행하고 있다면 더 이상 사용되지 않을 가능성이 높습니다.

반면, 최신 Linux 배포판을 실행 중이고 루트 비밀번호가 $1$ID를 기반으로 MD5 해시되고 /etc/shadow다른 비밀번호가 ID를 기반으로 SHA512 암호화된 $6경우 이는 보안 위험 신호입니다.

sha512in 설정은 생성할 후속 해시를 명령에 pam.d알려주며 passwd, 이는 현재 에 있는 해시와 완전히 독립적입니다 /etc/shadow. 그렇게 할 수 있는 권한이 있는 사람은 누구나 루트 비밀번호나 다른 비밀번호를 만들 수 있으며, 현재 pam에서 지정하지 않은 모든 유형의 해시를 가질 수 있습니다 system-auth.password-auth

login.defs기본적으로 및 파일이 에서도 pam.dSHA512를 지정 하는지 확인해야 합니다 .$6$/etc/shadow

관련 정보