계정관리

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
계정관리 [2022/01/11 00:46] fatp11th계정관리 [2022/01/11 07:01] (현재) – [Session Timeout 설정] fatp11th
줄 25: 줄 25:
 Step 1) ''/etc/securetty'' 파일에서 pts/0 ~ pts/x 설정 제거 또는, 주석 처리 Step 1) ''/etc/securetty'' 파일에서 pts/0 ~ pts/x 설정 제거 또는, 주석 처리
 Step 2) ''/etc/pam.d/login'' 파일 수정 또는, 신규 삽입 Step 2) ''/etc/pam.d/login'' 파일 수정 또는, 신규 삽입
 +<WRAP prewrap>
 +<code vim>
 (수정 전) #auth required /lib/security/pam_securetty.so (수정 전) #auth required /lib/security/pam_securetty.so
 (수정 후) auth required /lib/security/pam_securetty.so (수정 후) auth required /lib/security/pam_securetty.so
 +</code>
 +</WRAP>
  
 ※ /etc/securetty : Telnet 접속 시 root 접근 제한 설정 파일 ※ /etc/securetty : Telnet 접속 시 root 접근 제한 설정 파일
줄 198: 줄 202:
 https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html-single/security_guide/index https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html-single/security_guide/index
  
 +===RHEL 8===
 +
 +Red Hat Enterprise Linux 8에서는 authconfig명령이 authselect 유틸리티로 대체되었습니다.
 +''/etc/pam.d/'' 디렉토리에 있는 PAM 전역 파일 system-auth 및 password-auth에서 직접 수정하지 않는 것이 좋습니다.
 +
 +Red Hat Enterprise Linux 8에서 암호 복잡성에 대한 기본 구성 파일은 ''/etc/security/pwquality.conf''
 +비밀번호 정책/복잡성을 구성하기 전에 아래와 같이 authselect를 사용하여 사용자 정의 프로파일을 작성하십시오.
 +
 +1. 사용 가능한 프로필 나열
 +<WRAP prewrap>
 +<code bash>
 +# authselect list
 +</code>
 +</WRAP>
 +
 +2. 현재 프로필 및 활성화된 기능 나열
 +<WRAP prewrap>
 +<code bash>
 +# authselect current
 +</code>
 +</WRAP>
 +
 +3. 현재 프로필/변경 사항 백업
 +<WRAP prewrap>
 +<code bash>
 +# authselect apply-changes -b --backup=sssd.backup
 +</code>
 +</WRAP>
 +
 +4. 기존 프로필 sssd에서 복사한 새 사용자 지정 프로필 이름 password-policy 생성
 +<WRAP prewrap>
 +<code bash>
 +#  authselect create-profile password-policy -b sssd
 +</code>
 +</WRAP>
 +- 새로 생성된 프로필은 /etc/authselect/custom/password-policy/ 위치에서 사용할 수 있습니다.
 +
 +5. 새 사용자 정의 프로필을 현재 프로필로 설정
 +<WRAP prewrap>
 +<code bash>
 +# authselect select custom/password-policy
 +# authselect current
 +</code>
 +</WRAP>
 +
 +6. 예를 들어 기능을 활성화하려면 사용자 로그인 시 홈 디렉토리가 아직 없는 경우 생성하고 faillock을 사용하여 계정 잠금을 활성화하려면 다음 명령을 실행합니다.
 +<WRAP prewrap>
 +<code bash>
 +# authselect enable-feature with-mkhomedir
 +# authselect enable-feature with-faillock
 +</code>
 +</WRAP>
 +RHEL 8.2 릴리스에서 ''pam_faillock''은 이제 ''/etc/security/faillock.conf''에 있는 ''faillock.conf'' 구성 파일에서 설정을 읽을 수 있습니다. 이 페이지의 아래 참고 사항을 참조하십시오.
 +
 +메모:
 +''/etc/pam.d/xxxx-auth''의 ''pam_faillock.so'' 행에 있는 옵션은 ''faillock.conf''의 설정을 재정의합니다.
 +''faillock.conf''에서 구성하려면 다음과 같이'' /etc/authselect/custom/PROFILE/xxxx-auth''를 수정하십시오.
 +<WRAP prewrap>
 +<code bash>
 +# Edit {system,password,fingerprint,smartcard}-auth in /etc/authselect/custom/password-policy/
 +
 +(Before)
 +auth        required                                     pam_env.so
 +auth        required                                     pam_faildelay.so delay=2000000
 +auth        required                                     pam_faillock.so preauth silent deny=4 unlock_time=1200
 +...snip...
 +auth        required                                     pam_faillock.so authfail deny=4 unlock_time=1200
 +auth        required                                     pam_deny.so
 +↓  
 +(After)
 +auth        required                                     pam_env.so
 +auth        required                                     pam_faildelay.so delay=2000000
 +auth        required                                     pam_faillock.so preauth
 +...snip...
 +auth        required                                     pam_faillock.so authfail
 +auth        required                                     pam_deny.so
 +</code>
 +</WRAP>
 +
 +
 +7. 사용자 정의 프로필 디렉토리 ''/etc/authselect/custom/password-policy/''에서 사용할 수 있는 전역 PAM 구성 파일 ''system-auth'' 및 ''password-auth''에서 원하는/사용자 정의 변경을 수행합니다.
 + 변경 사항이 적용되면 다음 명령을 사용하여 적용합니다.
 +<WRAP prewrap>
 +<code bash>
 +# authselect apply-changes
 +</code>
 +</WRAP>
 +- 파일에 변경 사항이 기록되었는지 확인합니다.
 +
 +8. 사용된 비밀번호의 이력(재사용할 수 없는 이전 비밀번호의 수)을 유지합니다.
 +''/etc/authselect/custom/password-policy/system-auth'' 및 ''/etc/authselect/custom/password-policy/password-auth'' 파일에 다음 줄을 삽입합니다(pam_pwquality.so 줄 뒤에)
 +
 +<WRAP prewrap>
 +<code bash>
 +password    requisite     pam_pwhistory.so remember=5 use_authtok
 +</code>
 +</WRAP>
 +
 +9. 암호 복잡성을 위해 루트를 적용합니다.
 +''/etc/authselect/custom/password-policy/system-auth'' 및 ''/etc/authselect/custom/password-policy/password-auth'' 파일의 암호 섹션 아래 ''pam_pwquality.so'' 행에 다음 옵션을 삽입/추가합니다.
 +
 +<WRAP prewrap>
 +<code bash>
 +enforce_for_root
 +</code>
 +</WRAP>
 +
 +
 +참고: 변경한 후 변경 사항을 적용하려면 authselect apply-changes를 실행해야 합니다.
 +
 +10. ''/etc/security/pwquality.conf'' 파일에서 적절한 옵션을 설정하십시오.
 +
 +<WRAP prewrap>
 +<code bash>
 +minlen = 9          새 암호에 대해 허용되는 최소 크기입니다. 여기에는 크레딧(기본값인 비활성화되지 않은 경우 1개 추가)이 포함됩니다.
 +dcredit = -1        비밀번호에 필요한 숫자가 있어야 하는 최소 크레딧
 +ucredit = -1        비밀번호에 대문자를 사용하기 위한 최소 크레딧입니다.
 +lcredit = 1         비밀번호에 소문자를 사용할 수 있는 최대 크레딧입니다.
 +ocredit = 1         암호에 다른 문자를 포함할 수 있는 최대 크레딧입니다.
 +minclass = 1        새 비밀번호에 필요한 최소 문자 클래스 수.
 +maxrepeat = 2       새 비밀번호에서 연속으로 허용되는 동일한 문자의 최대 수입니다.
 +maxclassrepeat = 2  새 비밀번호에서 동일한 클래스의 연속 문자가 허용되는 최대 수입니다.
 +difok = 5           새 비밀번호에 사용할 수 있는 최대 문자 수(이전 비밀번호에 비해..), root는 이전 비밀번호를 묻지 않으므로 적용되지 않음
 +
 +</code>
 +</WRAP>
 +크레딧 값 > 0 : 새 비밀번호에 각 문자를 포함하기 위한 최대 크레딧입니다.
 +크레딧 값 < 0 : 새 비밀번호에 각 문자를 포함하는 데 필요한 최소 필수 크레딧입니다.
 +신용 값 = 0: 새 암호에 해당 문자 클래스를 포함해야 하는 필수 요구 사항이 없습니다.
 +
 +참조링크
 +https://access.redhat.com/solutions/5027331
  
 ====계정 잠금 임계값 설정==== ====계정 잠금 임계값 설정====
줄 267: 줄 403:
 </WRAP> </WRAP>
  
-루트 사용자에게도 계정 잠금을 적용하려면 /etc/pam.d/system-auth 및 /etc/pam.d/password-auth 파일의 pam_faillock 항목에 even_deny_root 옵션을 추가합니다.+루트 사용자에게도 계정 잠금을 적용하려면 /etc/pam.d/system-auth 및 /etc/pam.d/password-auth 파일의 auth required pam_faillock.so 항목에 even_deny_root 옵션을 추가합니다.
  
 <WRAP prewrap> <WRAP prewrap>
줄 283: 줄 419:
 <WRAP prewrap> <WRAP prewrap>
 <code bash> <code bash>
-faillock --user <username> --reset+#faillock --user <username> --reset
 </code> </code>
 </WRAP> </WRAP>
줄 289: 줄 425:
 참조문서 참조문서
 https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html-single/security_guide/index#sect-Security_Guide-Workstation_Security-Account_Locking https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html-single/security_guide/index#sect-Security_Guide-Workstation_Security-Account_Locking
 +https://access.redhat.com/solutions/62949
  
 +===RHEL 8===
 +''/etc/pam.d/system-auth'' 및 ''/etc/pam.d/password-auth''를 수동으로 편집하는 것은 권장되지 않습니다. ''authselect''를 사용하여 ''pam_faillock''을 활성화/비활성화합니다.
 +
 +To enable faillock
 +<WRAP prewrap>
 +<code bash>
 +# authselect enable-feature with-faillock
 +</code>
 +</WRAP>
 +
 +To disable faillock
 +<WRAP prewrap>
 +<code bash>
 +# authselect disable-feature with-faillock
 +</code>
 +</WRAP>
 +
 +faillock 구성
 +faillock 옵션은 /etc/security/faillock.conf에 저장해야 합니다.
 +<WRAP prewrap>
 +<code vim>
 +deny=4
 +unlock_time=1200
 +silent
 +</code>
 +</WRAP>
 +
 +인증 실패 기록을 재설정하거나 보려면 다음과 같은 명령을 사용하십시오.
 +사용자 이름에 대한 인증 실패 기록을 표시하려면
 +<WRAP prewrap>
 +<code bash>
 +# faillock --user username
 +</code>
 +</WRAP>
 +
 +사용자 이름에 대한 인증 실패 기록을 재설정하려면
 +<WRAP prewrap>
 +<code bash>
 +# faillock --user username --reset
 +</code>
 +</WRAP>
 +
 +SSHD 구성 조정
 +''pam_faillock.so''가 예상대로 작동하지 않으면 SSHD 구성을 다음과 같이 변경해야 할 수 있습니다.
 +<WRAP prewrap>
 +<code bash>
 +# vi /etc/ssh/sshd_config
 +ChallengeResponseAuthentication yes
 +PasswordAuthentication no
 +</code>
 +</WRAP>
 +
 +그런 다음 이러한 구성 변경 사항을 적용하려면 sshd 서비스를 다시 시작합니다.
 +<WRAP prewrap>
 +<code bash>
 +# systemctl restart sshd
 +</code>
 +</WRAP>
 +
 +참조문서
 +https://access.redhat.com/solutions/62949
  
 ====패스워드 파일 보호==== ====패스워드 파일 보호====
  
-/etc/shadow 파일의 패스워드 암호화 존재 확인 +''/etc/shadow'' 파일의 패스워드 암호화 존재 확인 
-/etc/passwd 파일 내 두 번째 필드가 " X " 표시되는지 확인+''/etc/passwd'' 파일 내 두 번째 필드가 " X " 표시되는지 확인
  
 참조문서 참조문서
줄 302: 줄 500:
 root 이외에 UID가 '0' 금지 root 이외에 UID가 '0' 금지
  
-/etc/passwd 파일 내 UID (세 번째 필드 값) 확인+''/etc/passwd'' 파일 내 UID (세 번째 필드 값) 확인
 root 이외의 계정이 "UID=0"인 경우 0이 아닌 적절한 UID 부여 root 이외의 계정이 "UID=0"인 경우 0이 아닌 적절한 UID 부여
  
줄 315: 줄 513:
 wheel:x:10:root,admin wheel:x:10:root,admin
  
-/etc/pam.d/su+''/etc/pam.d/su'' 
 +<WRAP prewrap> 
 +<code vim>
 #%PAM-1.0 #%PAM-1.0
 auth            sufficient      pam_rootok.so auth            sufficient      pam_rootok.so
줄 328: 줄 528:
 session         include         system-auth session         include         system-auth
 session         optional        pam_xauth.so session         optional        pam_xauth.so
 +</code>
 +</WRAP>
  
 +참조문서
 +https://access.redhat.com/solutions/452213
  
 ====패스워드 최소 길이, 최대 사용 기간, 최소 사용기간 설정==== ====패스워드 최소 길이, 최대 사용 기간, 최소 사용기간 설정====
  
-/etc/login.defs 내 패스워드 관련 파일 수정 +''/etc/login.defs'' 내 패스워드 관련 파일 수정
  
  
 +<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      패스워드 기간 만료 경고 기간(일)
 +</code>
 +</WRAP>
  
  
 ====불필요한 계정 제거==== ====불필요한 계정 제거====
  
-/etc/passwd 내 계정확인 후 제거+''/etc/passwd'' 파일 내 계정확인 후 제거
  
  
 ====관리자 그룹에 최소한의 계정 포함==== ====관리자 그룹에 최소한의 계정 포함====
  
-/etc/group 내+''/etc/group'' 
 root:x:0:root 확인 root:x:0:root 확인
  
 ====계정이 존재하지 않는 GID 금지==== ====계정이 존재하지 않는 GID 금지====
  
-/etc/group 파일과 /etc/passwd 파일 비교하여 점검+''/etc/group'' 파일과 ''/etc/passwd'' 파일 비교하여 점검
  
  
 ====동일한 UID 금지 ==== ====동일한 UID 금지 ====
  
-/etc/passwd 파일 내 동일한 UID가 있는지 확인+''/etc/passwd'' 파일 내 동일한 UID가 있는지 확인
  
  
 ====사용자 shell 점검 ==== ====사용자 shell 점검 ====
  
-로그인이 불필요한 계정에 /bin/false 또는 /sbin/nologin 쉘 부여+로그인이 불필요한 계정에 ''/bin/false'' 또는 ''/sbin/nologin'' 쉘 부여
  
-/etc/passwd 파일 내 로그인 쉘 부분인 계정 맨 마지막에 부여+''/etc/passwd'' 파일 내 로그인 쉘 부분인 계정 맨 마지막에 부여
  
  
 ====Session Timeout 설정==== ====Session Timeout 설정====
  
-/etc/profile 파일 내 +''/etc/profile'' 파일 내 
 +<WRAP prewrap> 
 +<code bash>
 HOSTNAME=`/usr/bin/hostname 2>/dev/null` HOSTNAME=`/usr/bin/hostname 2>/dev/null`
 HISTSIZE=5000                                 # 히스토리 저장 갯수  HISTSIZE=5000                                 # 히스토리 저장 갯수 
줄 384: 줄 592:
  
 export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL HISTTIMEFORMAT TMOUT  # 환경변수 적용 export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL HISTTIMEFORMAT TMOUT  # 환경변수 적용
 +</code> 
 +</WRAP>
  
  • 계정관리.1641861998.txt.gz
  • 마지막으로 수정됨: 2022/01/11 00:46
  • 저자 fatp11th