비밀번호 복잡성 정책을 어떻게 적용합니까?


14

다음을 지정하는 엄격한 회사 비밀번호 정책을 따르도록 Ubuntu 서버를 구성해야합니다.

  • 적어도 하나의 대문자
  • 적어도 하나의 소문자
  • 적어도 하나의 숫자
  • 하나 이상의 특수 문자

주변을 둘러 보았고 비밀번호 길이를 지정 하기 위한 지침 만 발견했습니다 . 그러나 위의 점과 관련하여 암호의 내용을 지정하는 것과 관련된 것을 아직 찾지 못했습니다.

도움을 주시면 감사하겠습니다.

답변:


19

암호 복잡성은 pam_cracklib모듈에 의해 시행됩니다 .

로컬 시스템의 비밀번호 정책을 수정하려면 /etc/pam.d/common-password파일 을 수정해야 합니다.

터미널 창 ( Ctrl+ Alt+ T)에서 다음 명령을 입력하십시오.

sudo -i gedit /etc/pam.d/common-password

파일에 다음 줄을 추가하고 ( pam_unix.so맨 페이지의 예제에서 볼 수 있듯이 인증에 주로 사용되는 PAM 모듈 이전 또는 어느 쪽이든) 파일을 저장하십시오.

password requisite pam_cracklib.so ucredit=-1 lcredit=-1 dcredit=-1  ocredit=-1

이 명령문은 다음 비밀번호 요구 사항을 구현합니다.

  • dcredit == 숫자
  • ucredit == 대문자
  • lcredit == 소문자
  • ocredit== 다른 문자 (을 포함한 특수 문자 ! , @ # $ %)

요구 사항을 충족해야합니다.

또한 변수를 사용할 수 있습니다 minlengthretries추가 암호 요구 사항을 제한 할 수 있습니다.

이러한 방식으로 비밀번호 정책을 수정하는 또 다른 좋은 예는 /etc/pam.d/common-password파일에 다음 줄을 배치하는 것입니다 .

password requisite pam_cracklib.so retry=3 minlen=10 difok=3 ucredit=-1 lcredit=-1 dcredit=-1  ocredit=-1

이 항목은 최소 10 자 길이의 허용 가능한 비밀번호를 얻기 위해 최대 세 번의 시도를 설정합니다.

이는 사용자가 마지막 비밀번호와 최소 3 자 이상이되도록 요구합니다.

또한 암호에 숫자, 소문자 및 대문자를 하나 이상 포함해야합니다.

linux에서보다 강력한 비밀번호 정책 규칙설정하는 방법 에 대한이 기사를 참조하십시오 .


3
훌륭한 답변! 재시 도와 관련하여, 최근에 실패한 로그인 시도가 너무 많은 사용자가 로그온하지 못하도록하는 정책을 고려할 때주의해야합니다. 이로 인해 계정에서 가장 간단하고 가장 쉽게 실행되는 서비스 거부 공격 중 하나가 발생할 수 있습니다 (계정이 "잠금"상태가되고 합법적 인 사용자가 로그인 할 수 없을 때까지 X 번 로그인 시도 실패) .
Eliah Kagan

Fantastic answer, thanks :) 한 가지 질문이지만, root사용자가 암호 요구 사항을 무시할 수 있는 것 같습니다 ... 루트 사용자에게도이를 적용 할 수 있습니까?
Stephen RC

@Valorin 암호 요구 사항 중 루트 사용자가 존중하지 않는 부분은 무엇입니까?
Kevin Bowen

@maggotbrain 그것 중 하나, 그것은 경고를 던지지 만 여전히 그것을 저장합니다, 이것은 암호 'snare'입니다 : paste.ubuntu.com/1543154
Stephen RC

@Valorin 따라서 'root'라는 계정을 활성화했으며이 암호로이 계정을 사용할 수 있습니까? 어떤 경고를 받고 있습니까? 불행히도, 나는 이것을 직접 테스트 할 수있는 루트 계정이있는 머신이 없습니다. 버그처럼 들리지만 더 많은 정보가 필요합니다.
Kevin Bowen

0

Tomas Mraz 의 pam_cracklib 포크가 있습니다. pam_pwquality 는 약간 더 나은 옵션입니다.

그것을 추가 apt install libpam-pwquality 하거나 passwd는 불평 할 것입니다 :

모듈을 알 수 없음

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.