차이
문서의 선택한 두 판 사이의 차이를 보여줍니다.
양쪽 이전 판 이전 판 다음 판 | 이전 판 | ||
계정관리 [2022/01/11 00:48] – fatp11th | 계정관리 [2022/01/11 07:01] (현재) – [Session Timeout 설정] fatp11th | ||
---|---|---|---|
줄 202: | 줄 202: | ||
https:// | https:// | ||
+ | ===RHEL 8=== | ||
+ | |||
+ | Red Hat Enterprise Linux 8에서는 authconfig명령이 authselect 유틸리티로 대체되었습니다. | ||
+ | ''/ | ||
+ | |||
+ | Red Hat Enterprise Linux 8에서 암호 복잡성에 대한 기본 구성 파일은 ''/ | ||
+ | 비밀번호 정책/ | ||
+ | |||
+ | 1. 사용 가능한 프로필 나열 | ||
+ | <WRAP prewrap> | ||
+ | <code bash> | ||
+ | # authselect list | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | 2. 현재 프로필 및 활성화된 기능 나열 | ||
+ | <WRAP prewrap> | ||
+ | <code bash> | ||
+ | # authselect current | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | 3. 현재 프로필/ | ||
+ | <WRAP prewrap> | ||
+ | <code bash> | ||
+ | # authselect apply-changes -b --backup=sssd.backup | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | 4. 기존 프로필 sssd에서 복사한 새 사용자 지정 프로필 이름 password-policy 생성 | ||
+ | <WRAP prewrap> | ||
+ | <code bash> | ||
+ | # authselect create-profile password-policy -b sssd | ||
+ | </ | ||
+ | </ | ||
+ | - 새로 생성된 프로필은 / | ||
+ | |||
+ | 5. 새 사용자 정의 프로필을 현재 프로필로 설정 | ||
+ | <WRAP prewrap> | ||
+ | <code bash> | ||
+ | # authselect select custom/ | ||
+ | # authselect current | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | 6. 예를 들어 기능을 활성화하려면 사용자 로그인 시 홈 디렉토리가 아직 없는 경우 생성하고 faillock을 사용하여 계정 잠금을 활성화하려면 다음 명령을 실행합니다. | ||
+ | <WRAP prewrap> | ||
+ | <code bash> | ||
+ | # authselect enable-feature with-mkhomedir | ||
+ | # authselect enable-feature with-faillock | ||
+ | </ | ||
+ | </ | ||
+ | RHEL 8.2 릴리스에서 '' | ||
+ | |||
+ | 메모: | ||
+ | ''/ | ||
+ | '' | ||
+ | <WRAP prewrap> | ||
+ | <code bash> | ||
+ | # Edit {system, | ||
+ | |||
+ | (Before) | ||
+ | auth required | ||
+ | auth required | ||
+ | auth required | ||
+ | ...snip... | ||
+ | auth required | ||
+ | auth required | ||
+ | ↓ | ||
+ | (After) | ||
+ | auth required | ||
+ | auth required | ||
+ | auth required | ||
+ | ...snip... | ||
+ | auth required | ||
+ | auth required | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | |||
+ | 7. 사용자 정의 프로필 디렉토리 ''/ | ||
+ | | ||
+ | <WRAP prewrap> | ||
+ | <code bash> | ||
+ | # authselect apply-changes | ||
+ | </ | ||
+ | </ | ||
+ | - 파일에 변경 사항이 기록되었는지 확인합니다. | ||
+ | |||
+ | 8. 사용된 비밀번호의 이력(재사용할 수 없는 이전 비밀번호의 수)을 유지합니다. | ||
+ | ''/ | ||
+ | |||
+ | <WRAP prewrap> | ||
+ | <code bash> | ||
+ | password | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | 9. 암호 복잡성을 위해 루트를 적용합니다. | ||
+ | ''/ | ||
+ | |||
+ | <WRAP prewrap> | ||
+ | <code bash> | ||
+ | enforce_for_root | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | |||
+ | 참고: 변경한 후 변경 사항을 적용하려면 authselect apply-changes를 실행해야 합니다. | ||
+ | |||
+ | 10. ''/ | ||
+ | |||
+ | <WRAP prewrap> | ||
+ | <code bash> | ||
+ | minlen = 9 새 암호에 대해 허용되는 최소 크기입니다. 여기에는 크레딧(기본값인 비활성화되지 않은 경우 1개 추가)이 포함됩니다. | ||
+ | dcredit = -1 비밀번호에 필요한 숫자가 있어야 하는 최소 크레딧 | ||
+ | ucredit = -1 비밀번호에 대문자를 사용하기 위한 최소 크레딧입니다. | ||
+ | lcredit = 1 | ||
+ | ocredit = 1 | ||
+ | minclass = 1 새 비밀번호에 필요한 최소 문자 클래스 수. | ||
+ | maxrepeat = 2 새 비밀번호에서 연속으로 허용되는 동일한 문자의 최대 수입니다. | ||
+ | maxclassrepeat = 2 새 비밀번호에서 동일한 클래스의 연속 문자가 허용되는 최대 수입니다. | ||
+ | difok = 5 새 비밀번호에 사용할 수 있는 최대 문자 수(이전 비밀번호에 비해..), root는 이전 비밀번호를 묻지 않으므로 적용되지 않음 | ||
+ | |||
+ | </ | ||
+ | </ | ||
+ | 크레딧 값 > 0 : 새 비밀번호에 각 문자를 포함하기 위한 최대 크레딧입니다. | ||
+ | 크레딧 값 < 0 : 새 비밀번호에 각 문자를 포함하는 데 필요한 최소 필수 크레딧입니다. | ||
+ | 신용 값 = 0: 새 암호에 해당 문자 클래스를 포함해야 하는 필수 요구 사항이 없습니다. | ||
+ | |||
+ | 참조링크 | ||
+ | https:// | ||
====계정 잠금 임계값 설정==== | ====계정 잠금 임계값 설정==== | ||
줄 271: | 줄 403: | ||
</ | </ | ||
- | 루트 사용자에게도 계정 잠금을 적용하려면 / | + | 루트 사용자에게도 계정 잠금을 적용하려면 / |
<WRAP prewrap> | <WRAP prewrap> | ||
줄 287: | 줄 419: | ||
<WRAP prewrap> | <WRAP prewrap> | ||
<code bash> | <code bash> | ||
- | faillock --user < | + | #faillock --user < |
</ | </ | ||
</ | </ | ||
줄 293: | 줄 425: | ||
참조문서 | 참조문서 | ||
https:// | https:// | ||
+ | https:// | ||
+ | ===RHEL 8=== | ||
+ | ''/ | ||
+ | |||
+ | To enable faillock | ||
+ | <WRAP prewrap> | ||
+ | <code bash> | ||
+ | # authselect enable-feature with-faillock | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | To disable faillock | ||
+ | <WRAP prewrap> | ||
+ | <code bash> | ||
+ | # authselect disable-feature with-faillock | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | faillock 구성 | ||
+ | faillock 옵션은 / | ||
+ | <WRAP prewrap> | ||
+ | <code vim> | ||
+ | deny=4 | ||
+ | unlock_time=1200 | ||
+ | silent | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | 인증 실패 기록을 재설정하거나 보려면 다음과 같은 명령을 사용하십시오. | ||
+ | 사용자 이름에 대한 인증 실패 기록을 표시하려면 | ||
+ | <WRAP prewrap> | ||
+ | <code bash> | ||
+ | # faillock --user username | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | 사용자 이름에 대한 인증 실패 기록을 재설정하려면 | ||
+ | <WRAP prewrap> | ||
+ | <code bash> | ||
+ | # faillock --user username --reset | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | SSHD 구성 조정 | ||
+ | '' | ||
+ | <WRAP prewrap> | ||
+ | <code bash> | ||
+ | # vi / | ||
+ | ChallengeResponseAuthentication yes | ||
+ | PasswordAuthentication no | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | 그런 다음 이러한 구성 변경 사항을 적용하려면 sshd 서비스를 다시 시작합니다. | ||
+ | <WRAP prewrap> | ||
+ | <code bash> | ||
+ | # systemctl restart sshd | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | 참조문서 | ||
+ | https:// | ||
====패스워드 파일 보호==== | ====패스워드 파일 보호==== | ||
- | /etc/shadow 파일의 패스워드 암호화 존재 확인 | + | '' |
- | /etc/passwd 파일 내 두 번째 필드가 " X " 표시되는지 확인 | + | '' |
참조문서 | 참조문서 | ||
줄 306: | 줄 500: | ||
root 이외에 UID가 ' | root 이외에 UID가 ' | ||
- | /etc/passwd 파일 내 UID (세 번째 필드 값) 확인 | + | '' |
root 이외의 계정이 " | root 이외의 계정이 " | ||
줄 319: | 줄 513: | ||
wheel: | wheel: | ||
- | / | + | '' |
+ | <WRAP prewrap> | ||
+ | <code vim> | ||
#%PAM-1.0 | #%PAM-1.0 | ||
auth sufficient | auth sufficient | ||
줄 332: | 줄 528: | ||
session | session | ||
session | session | ||
+ | </ | ||
+ | </ | ||
+ | 참조문서 | ||
+ | https:// | ||
====패스워드 최소 길이, 최대 사용 기간, 최소 사용기간 설정==== | ====패스워드 최소 길이, 최대 사용 기간, 최소 사용기간 설정==== | ||
- | / | + | '' |
+ | <WRAP prewrap> | ||
+ | <code vim> | ||
PASS_MAX_DAYS 99999 | PASS_MAX_DAYS 99999 | ||
PASS_MIN_DAYS 0 | PASS_MIN_DAYS 0 | ||
PASS_MIN_LEN 5 | PASS_MIN_LEN 5 | ||
PASS_WARN_AGE 7 | PASS_WARN_AGE 7 | ||
+ | </ | ||
+ | </ | ||
====불필요한 계정 제거==== | ====불필요한 계정 제거==== | ||
- | /etc/passwd 내 계정확인 후 제거 | + | '' |
====관리자 그룹에 최소한의 계정 포함==== | ====관리자 그룹에 최소한의 계정 포함==== | ||
- | /etc/group 내 | + | '' |
root: | root: | ||
====계정이 존재하지 않는 GID 금지==== | ====계정이 존재하지 않는 GID 금지==== | ||
- | /etc/group 파일과 /etc/passwd 파일 비교하여 점검 | + | '' |
====동일한 UID 금지 ==== | ====동일한 UID 금지 ==== | ||
- | /etc/passwd 파일 내 동일한 UID가 있는지 확인 | + | '' |
====사용자 shell 점검 ==== | ====사용자 shell 점검 ==== | ||
- | 로그인이 불필요한 계정에 /bin/false 또는 / | + | 로그인이 불필요한 계정에 |
- | /etc/passwd 파일 내 로그인 쉘 부분인 계정 맨 마지막에 부여 | + | '' |
====Session Timeout 설정==== | ====Session Timeout 설정==== | ||
- | / | + | '' |
+ | <WRAP prewrap> | ||
+ | <code bash> | ||
HOSTNAME=`/ | HOSTNAME=`/ | ||
HISTSIZE=5000 | HISTSIZE=5000 | ||
줄 388: | 줄 592: | ||
export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL HISTTIMEFORMAT TMOUT # 환경변수 적용 | export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL HISTTIMEFORMAT TMOUT # 환경변수 적용 | ||
+ | </ | ||
+ | </ | ||