[Linux] PAM을 사용하여 root 사용자 전환(su 명령어)을 제한하는 방법

권한이 없는 일반 사용자가 su 명령을 사용하여 root 로그인을 시도하고 패스워드 무작위 대입 공격(Brute Force Attack)이나 패스워드 추측 공격을 통해 root 권한을 획득할 수 있습니다.
su 명령어 사용이 허용된 사용자(wheel 그룹)만 root 계정으로 사용자 전환할 수 있도록 설정함으로써 root 사용자 계정의 불법적인 탈취로부터 시스템을 안전하게 보호할 수 있습니다.
 
아래와 같은 사전 준비와 확인이 필요합니다.

  • 2개의 사용자 계정 준비: archer, jeno
    [root@centos8 ~]# id archer
    uid=1000(archer) gid=1000(archer) groups=1000(archer)
    [root@centos8 ~]# id jeno
    uid=1001(jeno) gid=1001(jeno) groups=1001(jeno)
  • wheel 사용자 그룹 및 pam_wheel.so 모듈 확인
    [root@centos8 ~]# cat /etc/group | grep "wheel"
    wheel:x:10:
    [root@centos8 ~]# ls -l /lib64/security/pam_wheel.so
    -rwxr-xr-x. 1 root root 11792 Feb 3 2022 /lib64/security/pam_wheel.so

 
archer 사용자의 부가 그룹에 wheel을 추가하고, pam_wheel.so 모듈을 /etc/pam.d/su 파일에 등록하는 절차를 알아보겠습니다.

  1. archer 사용자의 부가 그룹에 wheel 그룹을 추가합니다.(-G 옵션만 사용하면 기존 부가 그룹은 삭제되고 wheel그룹만 설정됩니다.)
    [root@centos8 ~]# usermod -aG wheel archer
    [root@kvmit ~]# id archer
    uid=1000(archer) gid=1000(archer) groups=1000(archer),10(wheel)
  2. /etc/pam.d/su 파일에 pam_wheel.so 모듈을 설정합니다.
    [root@centos8 ~]# vi /etc/pam.d/su
    #%PAM-1.0 auth required pam_env.so auth sufficient pam_rootok.so # Uncomment the following line to implicitly trust users in the "wheel" group. #auth sufficient pam_wheel.so trust use_uid # Uncomment the following line to require a user to be in the "wheel" group. # 주석처리되어 있는 아래 설정을 uncomment합니다. auth required pam_wheel.so use_uid
  3. archer 사용자는 root로 사용자를 전환할 수 있으나, jeno 사용자는 전환할 수 없습니다.
    [archer@centos8 ~]$ su - root
    Password: [root@centos8 ~]#
    [jeno@centos8 ~]$ su - root
    Password: su: Permission denied [jeno@centos8 ~]$

You may also like...

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다