rhel_서버_보안_점검_가이드

차이

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

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
rhel_서버_보안_점검_가이드 [2015/01/19 04:57] – [패스워드 복잡성 설정] zzungrhel_서버_보안_점검_가이드 [2015/12/10 01:15] (현재) zzung
줄 1: 줄 1:
 ====== RedHat Enterprise Linux Server 취약점 보안 가이드 ====== ====== RedHat Enterprise Linux Server 취약점 보안 가이드 ======
  
-======  계정관리 취약점 보안 가이드 ======+======  계정관리 취약점 가이드 ======
  
-이 문서는 CentOS 6.6 기준으로 테스트 되었습니다.  
 ===== 패스워드 복잡성 설정 ===== ===== 패스워드 복잡성 설정 =====
 패스워드 변경 시 해당 OS 버전에 따라 적용해야 하는 lib 가 따로 존재 한다.\\ 패스워드 변경 시 해당 OS 버전에 따라 적용해야 하는 lib 가 따로 존재 한다.\\
줄 10: 줄 9:
 [root@test ~]# cat /usr/share/doc/pam-1.1.1/txts/README* [root@test ~]# cat /usr/share/doc/pam-1.1.1/txts/README*
 </code> </code>
-<color red > 주의해야 할 점은 /etc/pam.d/ 파일을 수정하게 되면, 로그인하는 계정 부터는 바로 적용이 됨 </color>+<color red>주의 /etc/pam.d/ 폴더 안에 있는 파일을 수정하게 되면, 로그인하는 계정 부터는 바로 적용이 됨</color> \\ 
 +* 운영체제 별 모듈(lib파일) 확인하는 경로 
 +|운영체제|경로| 
 +|32bit|cd /lib/security/
 +|64bit|cd /lib64/security/|
 ==== 계정 잠금 임계 값 설정 ==== ==== 계정 잠금 임계 값 설정 ====
- +++++ system-auth| 
-<code vim>+<file vim system-auth>
 [root@test ~]# cat /etc/pam.d/system-auth [root@test ~]# cat /etc/pam.d/system-auth
 #%PAM-1.0 #%PAM-1.0
줄 19: 줄 22:
 # User changes will be destroyed the next time authconfig is run. # User changes will be destroyed the next time authconfig is run.
 auth        required      pam_env.so auth        required      pam_env.so
 +auth        required      pam_tally2.so deny=3 onerr=fail unlock_time=120 // 추가하는 부분
 auth        sufficient    pam_fprintd.so auth        sufficient    pam_fprintd.so
 auth        sufficient    pam_unix.so nullok try_first_pass auth        sufficient    pam_unix.so nullok try_first_pass
줄 25: 줄 29:
  
 account     required      pam_unix.so account     required      pam_unix.so
 +account     required      pam_tally2.so  // 추가하는 부분
 account     sufficient    pam_localuser.so account     sufficient    pam_localuser.so
 account     sufficient    pam_succeed_if.so uid < 500 quiet account     sufficient    pam_succeed_if.so uid < 500 quiet
줄 37: 줄 42:
 session     [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid session     [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid
 session     required      pam_unix.so session     required      pam_unix.so
 +</file>
 +++++
 +**적용 후 테스트 방법** \\
 +테스트 계정을 생성 한 후 유저 계정으로 로그인 시도합니다.
 +++++ test|
 +<code vim>
 +[test1@test ~]$ su - test1
 +Password: 
 +su: incorrect password  // 1번째 틀림
 +[test1@test ~]$ su - test1
 +Password: 
 +su: incorrect password  // 2번째 틀림
 +[test1@test ~]$ su - test1
 +Password: 
 +su: incorrect password  // 3번째 틀림
 +[test1@test ~]$ su - test1 
 +Account locked due to 4 failed logins // 4번째 틀림
 +Password: 
 +su: incorrect password
 +[test1@test ~]$ su - test1
 +Account locked due to 5 failed logins // 5번째 정상적인 비밀번호 입력시에도 로그인이 되지 않는다.
 +Password: 
 +su: incorrect password
 +
 +[root@test ~]# pam_tally2  // 해당 명령어 입력 후 테스트한 계정의 실패 횟수를 확인한다.
 +Login           Failures Latest failure     From
 +test1                  01/19/15 14:17:11  pts/0
 +
 +[root@test ~]# pam_tally2 --reset  // 모든 유저의 failures 를 초기화 시켜 주는 명령어
 +Login           Failures Latest failure     From
 +test1                  01/19/15 14:17:11  pts/0
 +[root@test ~]# pam_tally2          // 초기화 된 것을 확인한다.
 +</code>
 +++++
 +
 +==== 계정 패스워드 최소길이 /최대사용 기간설정 ====
 +++++ password 설정|
 +<code vim login.defs>
 +[root@test ~]# vim /etc/login.defs 
 +#
 +# Please note that the parameters in this configuration file control the
 +# behavior of the tools from the shadow-utils component. None of these
 +# tools uses the PAM mechanism, and the utilities that use PAM (such as the
 +# passwd command) should therefore be configured elsewhere. Refer to
 +# /etc/pam.d/system-auth for more information.
 +#
 +
 +# *REQUIRED*
 +#   Directory where mailboxes reside, _or_ name of file, relative to the
 +#   home directory.  If you _do_ define both, MAIL_DIR takes precedence.
 +#   QMAIL_DIR is for Qmail
 +#
 +#QMAIL_DIR Maildir
 +MAIL_DIR /var/spool/mail
 +#MAIL_FILE .mail
 +
 +# Password aging controls:
 +#
 +# PASS_MAX_DAYS Maximum number of days a password may be used.
 +# PASS_MIN_DAYS Minimum number of days allowed between password changes.
 +# PASS_MIN_LEN Minimum acceptable password length.
 +# PASS_WARN_AGE Number of days warning given before a password expires.
 +#
 +PASS_MAX_DAYS 99999 // 패스워드 변경 없이 최대 사용기간 설정
 +PASS_MIN_DAYS 0     // 패스워드 변경 없이 최소 사용기간 설정 
 +PASS_MIN_LEN 5     // 패스워드 최소 길이 설정
 +PASS_WARN_AGE 7     // 만료일전 경고 일자 만료일 -7일
 +
 +#
 +# Min/max values for automatic uid selection in useradd
 +#
 +UID_MIN   500
 +UID_MAX 60000
 +
 +#
 +# Min/max values for automatic gid selection in groupadd
 +#
 +GID_MIN   500
 +GID_MAX 60000
 +
 +#
 +# If defined, this command is run when removing a user.
 +# It should remove any at/cron/print jobs etc. owned by
 +# the user to be removed (passed as the first argument).
 +#
 +#USERDEL_CMD /usr/sbin/userdel_local
 +
 +#
 +# If useradd should create home directories for users by default
 +# On RH systems, we do. This option is overridden with the -m flag on
 +# useradd command line.
 +#
 +CREATE_HOME yes
 +
 +# The permission mask is initialized to this value. If not specified, 
 +# the permission mask will be initialized to 022.
 +UMASK           077
 +
 +# This enables userdel to remove user groups if no members exist.
 +#
 +USERGROUPS_ENAB yes
 +
 +# Use SHA512 to encrypt password.
 +ENCRYPT_METHOD SHA512 
 </code> </code>
 +++++
  • rhel_서버_보안_점검_가이드.1421643430.txt.gz
  • 마지막으로 수정됨: 2015/06/18 15:49
  • (바깥 편집)