본문 바로가기

Learning/└◆리눅스 서버 보안

01_/etc/pam.d/system-auth 보안설정 [pam.d 이해]

pam의 기본 개념

 

pam 옵션 경로

# cd /usr/share/doc/pam-(버전)/txts

 

CentOS를 기준

버전별로 옵션이 다르다 /usr/share/doc/pam-(버전)/txts 확인

 

/etc/pam.d/ 밑의 파일을 수정하면, 수정한 이후 로그인 하는 계정부터 바로 적(갱신 필요없음)

잘못 수정시 로그인 못하게 되는사태 발생 -> 싱글모드로 부팅

 

 

    1. 모듈이 제대로 된 경로에 있는지 확인
      1. /lib/security/ : 32bit 운영체제 모듈이 있고, 64bit 버전도 /lib/security/ 에서 /lib64/security 심볼릭 링크를 거는 경우가 있지만(CentOS5)
      2. CentOS6 64bit는 /lib/security에 심볼릭 링크가 없다
      3. /lib64/security/ : 64bit 버전용
    2. 적용 후 /var/secure 와 /var/message 로그 확인
    3. 이하의 명령어로 실패 횟수 카운트 하는지 확인
      1. pam_tally –u [계정명]
      2. pam_tally2 –u [계정명]
      3. faillog –u [계정명]

 

 

패스워드 잠금, 임계 값 설정
/etc/pam.d/system-auth(/etc/pam.d/system-auth-ac, system-auth는 심볼릭 링크)

 

기준 보안 적용법

auth required /lib/security/pam_tally.so no_magic_root
account required /lib/security/pam_tally.so deny=4 rock_time=120 no_magic_root reset

 

이런 식으로 적용하라는 글이 많은데, 적어도 pam-0.99.6.2-6.el5_5.2 에선 reset 과 no_magic_root 란 옵션은 없으며, 저런 옵션 적용 시 /var/log/message 혹은 /var/log/secure 에 unknown option 이라는 로그가 찍힌다.

 

 

#%PAM-1.0
# This file is auto-generated.
# User changes will be destroyed the next time authconfig is run.
auth        required      pam_env.so
auth        required      pam_tally.so onerr=fail deny=2 lock_time=5 unlock_time=5
account     required      pam_tally.so onerr=fail
auth        sufficient    pam_unix.so nullok try_first_pass
auth        requisite     pam_succeed_if.so uid >= 500 quiet
auth        required      pam_deny.so

account     required      pam_unix.so
account     sufficient    pam_succeed_if.so uid < 500 quiet
account     required      pam_permit.so

password requisite pam_cracklib.so retry=3 minlen=8 lcredit=-2 ucredit=0 dcredit=0 ocredit=-1
password    sufficient    pam_unix.so md5 shadow nullok try_first_pass use_authtok
password    required      pam_deny.so

session     optional      pam_keyinit.so revoke
session     required      pam_limits.so
session     [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid
session     required      pam_unix.so