주요정보통신기반기설 기술적 취약점 분석 평가 방법 상세가이드/UNIX 서버 진단

1.6. root 계정 su 제한 [U-45] (하) - 주요정보통신기반시설 기술적 취약점 분석 평가 방법 상세 가이드(2021)

재민스 2021. 11. 5. 14:15

가. 취약점 개요

    내용 : su 명령어 사용을 허용하는 사용자를 지정한 그룹이 설정되어 있는지 점검

    목적 : su 관련 그룹만 su 명령어 사용 권한이 부여되어 있는지 점검하여 su 그룹에 포함되지 않은 일반 사용자의 su 명령 사용을 원천적으로 차단하는지 확인하기 위함

    보안 위협

-      무분별한 사용자 변경으로 타 사용자 소유의 파일을 변경 할 수 있으며 root 계정으로 변경하는 경우 관리자 권한을 획득 할 수 있음

 

나. 점검방법

    대상 : SOLARIS, LINUX, AIX, HP-UX

    판단기준

-      양호 : su 명령어를 특정 그룹에 속한 사용자만 사용하도록 제한되어 있는 경우

        ※ 일반사용자 계정 없이 root 계정만 사용하는 경우 su 명령어 사용제한 불필요

-      취약 : su 명령어를 모든 사용자가 사용하도록 설정되어 있는 경우

    점검 명령어

OS 점검 파일
SOLARIS, LINUX, AIX, HP-UX Step 1) “wheel” 그룹 (su 명령어 사용 그룹) 및 그룹 내 구성원 존재 여부 확인
#cat /etc/group (※ “group” 파일 구조: 부록 참조)
wheel:x:10:root,admin
Step 2) wheel 그룹이 su 명령어를 사용할 수 있는지 설정 여부 확인
[SOLARIS] #ls –al /usr/bin/su
#chgrp security su
#chmod 4750 su
[AIX] #cat /etc/security/user ---> default의 “sugroup=staff” 설정 확인
[HP-UX] #vi /etc/default/security ---> SU_ROOT_GROUP=wheel 설정 확인
Step 3) 파일 권한 확인
#ls –l /usr/bin/su
-rwsr-x--- /usr/bin/su
(파일 권한이 4750인 경우 양호)
LINUX PAM
모듈 이용 시
Step 1) “wheel” 그룹 (su 명령어 사용 그룹) 및 그룹 내 구성원 존재 여부 확인
#cat /etc/group
wheel:x:10:root,admin
Step 2) 허용 그룹 (su 명령어 사용 그룹) 설정 여부 확인
#cat /etc/pam.d/su
auth required /lib/security/pam_wheel.so debug
group=wheel 또는, auth required
/lib/security/$ISA/pam_wheel.so use_id
위에 제시한 설정이 적용되지 않은 경우 아래의 보안설정방법에 따라 설정을 변경함

 

다. 조치방법

    조치방법

-      일반 사용자의 su 명령 사용 제한

    Step 1) Group 생성(생성할 그룹 요청, 일반적으로 wheel 사용)

    Step 2) su 명령어의 그룹을 su 명령어 허용할 그룹으로 변경

    Step 3) su 명령어의 권한 변경(4750)

    Step 4) su 명령어 사용이 필요한 계정을 새로 생성한 그룹에 추가(추가할 계정 요청)

LINUX의 경우, PAM(Pluggable Authentication Module)을 이용한 설정 가능

PAM(Pluggable Authentication Module): 사용자를 인증하고 그 사용자의 서비스에 대한 액세스를 제어하는 모듈화 된 방법을 말하며, PAM은 관리자가 응용프로그램들의 사용자 인증 방법을 선택할 수 있도록 해줌

 

    SOLARIS, LINUX, HP-UX

    Step 1) wheel group 생성 (wheel 그룹이 존재하지 않는 경우)

        #groupadd wheel

    Step 2) su 명령어 그룹 변경

        #chgrp wheel /usr/bin/su

    Step 3) su 명령어 사용권한 변경

        #chmod 4750 /usr/bin/su

    Step 4) wheel 그룹에 su 명령 허용 계정 등록

        #usermod –G wheel <user_name>

        또는, 직접 /etc/group 파일을 수정하여 필요한 계정 등록

        wheel:x:10: -> wheel:x:10:root,admin

    AIX

    Step 1) wheel group 생성(wheel 그룹이 존재하지 않는 경우)

        #mkgroup wheel

    Step 2) su 명령어 그룹 변경

        #chgrp wheel /usr/bin/su

    Step 3) su 명령어 사용권한 변경

        #chmod 4750 /usr/bin/su

    Step 4) wheel 그룹에 su 명령 허용 계정 등록

        #chgroup users=<user_name> wheel () chgroup users=admin wheel

 

    LINUX PAM 모듈을 이용한 설정 방법

    Step 1) “/etc/pam.d/su” 파일을 아래와 같이 설정(주석제거)

        auth sufficient /lib/security/pam_rootok.so

        auth required /lib/security/pam_wheel.so debug group=wheel 또는,

        auth sufficient /lib/security/$ISA/pam_rootok.so

        auth required /lib/security/$ISA/pam_wheel.so use_uid

    Step 2) wheel 그룹에 su 명령어를 사용할 사용자 추가

        #usermod –G wheel <user_name>

        또는, 직접 “/etc/group” 파일을 수정하여 필요한 계정 추가

        wheel:x:10: -> wheel:x:10:root,admin

 

라. 조치시 영향

■    그룹에 추가된 계정들은 모든 Session 종료 재로그인 su 명령어 사용 가능

 

 

 

  재민스 추가

 

특정 사용자(wheel 그룹)만 su 명령어 사용

 "auth required pam_wheel.so use_uid" 의 주석을 제거

[root@localhost ~]# vim /etc/pam.d/su

#%PAM-1.0
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.
auth required pam_wheel.so use_uid
auth substack system-auth auth include postlogin
account sufficient pam_succeed_if.so uid = 0 use_uid quiet
account include system-auth
password include system-auth session include system-auth
session include postlogin
session optional pam_xauth.so

 

wheel 그룹에 사용자 추가

위에서 su 명령어 사용을 wheel 그룹에 포함된 사용자로 제한
su 명령어를 사용할 계정을 wheel 그룹에 추가

[root@localhost ~]# vim /etc/group
root:x:0:
bin:x:1:
daemon:x:2:
sys:x:3:
adm:x:4:
tty:x:5:
p:x:7:
wheel:x:10:root,jaemins

"wheel:x:10:사용자계정"  과 같이 계정을 추가  (그룹에 추가하는 명령어 사용해도 됨)

 

su 파일의 권한 수정

일반 사용자는 사용하지 못하게 하고 wheel 그룹에 속한 사용자만 su 명령어를 사용할 수 있도록 권한을 수정

[root@localhost ~]# which su
/bin/su
[root@localhost ~]# ll /bin/su
-rwsr-xr-x. 1 root root 32096 Apr 13 05:43 /bin/su

which 명령어를 이용하여 su 위치를 확인하고 ll 명령어로 조회  > 권한 확인

[root@localhost ~]# chgrp wheel /bin/su
[root@localhost ~]# ll /bin/su
-rwxr-xr-x. 1 root wheel 32096 Apr 13 05:43 /bin/su

su 사용 그룹 권한을 wheel로 변경

wheel 그룹으로 변경하면 위와 같이 su 파일의 Permission 이 rwsrwx 로 변경 됨

[root@localhost ~]# chmod 4750 /bin/su
[root@localhost ~]# ll /bin/su
-rwsr-x---. 1 root wheel 32096 Apr 13 05:43 /bin/su

Permission 정보를 4750 으로 변경