본문 바로가기
IT/리눅스 이론

root 계정 su 제한(wheel 그룹) 보안 취약점 조치 가이드

by 꾸꾸웍스 2022. 9. 21.
반응형

AIX, SunOS, Linux, HP-UIX의 OS별 root 계정 su 제한에 대한 보안 취약점 조치 가이드 정보입니다. wheel 또는 특정 그룹을 생성하여 su 명령의 권한을 wheel 그룹에 등록된 계정들만 사용할 수 있게 조치하는 내용과 Linux의 PAM설정에 대한 내용을 알아보겠습니다.

 

반응형
※ 목차 구성
1. root 계정 su 제한 보안 취약점
2. wheel 그룹이 있는 경우
3. wheel 그룹이 없는 경우
4. Linux root 계정 su 제한 보안 조치

 

root 계정 su 제한 보안 취약점

AIX, SunOS, Linux, HP-UIX의 OS별 root 계정 su 제한에 대한 보안 취약점 위험도는 상, 중, 하 중 하에 속하며 root계정 su 제한을 하는 이유는 권한이 없는 일반 사용자가 root의 권한을 얻을 수 있기 때문에 root 권한을 사용해야 되는 특정 계정을 하나의 그룹으로 묶고 이외 계정에서는 사용하지 못하게 하는 보안 권고 사항입니다.

보안 취약점 상세 설명

  • 취약점 양호한 경우
    - su 명령어를 특정 그룹에 속한 사용자만 사용하도록 제한되어 있는 경우
  • 취약점 취약한 경우
    - su 명령어를 모든 사용자가 사용하도록 설정되어 있는 경우
  • 취약점 조치 방법
    - 일반 사용자의 su 명령 사용을 제한하고 사용할 시 wheel 그룹으로 사용 권한 부여
  • 취약점 조치 시 영향
    - 그룹에 추가된 계정들은 모든 Session 종료 후 재 로그인 시 su 명령어 사용 가능

root 계정 su 제한 보안 조치 방법

일반 사용자 및 계정에서 root계정 su 명령을 제한하는 방법으로 su 명령을 반드시 사용해야 되는 사용자 및 계정들은 새로운 그룹을 생성해서 추가하고 su 권한을 일반 사용자에게는 사용하지 못하도록 설정합니다.

 

  1. wheel 그룹 또는 특정 그룹 생성
  2. su 명령어의 그룹을 요청받은 그룹으로 변경
  3. su 명령어의 실행파일 권한을 4750으로 변경
  4. 추가로 su 명령어를 사용이 필요한 계정은 새로 생성한 그룹에 추가

 

wheel 그룹이 있는 경우

AIX, SunOS, Linux, HP-UX

AIX, SunOS, Linux, HP-UX를 사용하고 있는 OS에서 root 계정 su 제한 보안 취약점 조치 가이드입니다. 첫 번째는 wheel 그룹이 존재할 경우 그룹 내 구성원을 확인 또는 추가를 하고 su 명령어를 사용할 수 있도록 설정하는 방법입니다.

# cat /etc/group
wheel:x:10:root,admin,test

/etc/group 파일의 wheel 그룹을 만들고 wheel 그룹에 su 명령어를 사용할 사용자 및 계정을 추가해 줍니다. 위 설정의 의미는 /etc/group의 파일 내 root 계정, admin 계정, test계정이 wheel 그룹에 속한 내용입니다.

AIX의 su 명령어 설정 적용

# cat /etc/security/user
...
sugroups=staff
...

/etc/security/user 파일 내 'sugroups=staff'의 설정을 확인합니다. 설정이 되어 있다면 /etc/group에서 staff 그룹에 해당하는 계정만 su 권한을 사용하게 됩니다.

SunOS의 su 명령어 설정 적용

# ls -al /usr/bin/su
# chgrp security su
# chmod 4750 /usr/bin/su

HP-UX의 su 명령어 설정 적용

# cat /etc/default/security
...
SU_ROOT_GROUP=WHEEL
...

/etc/default/security 파일 내 'SU_ROOT_GROUP=WHEEL'의 설정을 확인하여 주석처리가 되어있다면 주석을 해제합니다. 이 설정은 /etc/group에서 wheel 그룹에 해당하는 계정만 su 명령어를 사용하게 합니다.

 

wheel 그룹이 없는 경우

AIX, HP-UX

# mkgroup wheel
# chgrp wheel /usr/bin/su
# chmod 4750 /usr/bin/su
# chgroup users=[user_name] wheel
   ex) chgroup users=testuser wheel

AIX, HP-UX의 root 계정 su 제한의 보안 취약점 조치 가이드로 wheel 그룹이 없는 경우 wheel그룹을 생성하여 su 명령어의 그룹을 변경 후 사용 권한을 변경합니다. 마지막으로 wheel 그룹에 su 명령 허용 계정을 등록하여 root 계정 su 제한을 하는 방법입니다.

SunOS, Linux

# groupadd wheel
# chgrp wheel /usr/bin/su
# chmod 4750 /usr/bin/su
# usermod -G wheel {user_name}

SunOS, Linux의 root 계정 su 제한의 보안 취약점 조치 가이드로 wheel 그룹이 없는 경우 wheel 그룹을 생성하여 su 명령어의 그룹을 변경 후 사용권한을 변경합니다. 마지막으로 wheel 그룹에 su 명령 허용 계정을 등록하여 root 계정 su 제한을 하는 방법입니다.

# cat /etc/group
...
wheel:x:10:root,admin,testuser
...

또한 이전 'usermod -G wheel {user_name}'으로 허용 계정을 등록해도 되지만 직접 /etc/group 파일을 수정하여 필요한 계정을 등록하는 방법 또한 동일합니다.

300x250

 

Linux root 계정 su 제한 보안 조치

Linux 서버의 root 계정 su 제한 보안 취약점 조치 가이드는 PAM을 이용하여 설정이 가능합니다. PAM이란 Pluggable Authentication Module의 약자로 관리자가 응용프로그램들의 사용자 인증 방법을 선택할 수 있도록 액세스를 제어하는 모듈로 사용자를 인증하고 그 사용자의 서비스를 제어합니다.

linux PAM을 이용한 설정

/etc/pam.d/su의 파일을 수정하기 전 위에서 설명한 wheel 그룹이 없다면 wheel 그룹을 생성 후 su 명령어를 사용할 계정을 추가 후 /etc/pam.d/su 파일을 수정합니다. 방법은 아래 두 가지 방법 중 하나를 선택해서 파일을 수정합니다.

root@server # vi /etc/pam.d/su
...
auth sufficient /lib/security/pam_rootok.so
auth required /lib/security/pam_wheel.so debug group=wheel
...

또는,

root@server # vi /etc/pam.d/su
...
auth sufficient /lib/security/$ISA/pam_rootok.so
auth required /lib/security/$ISA/pam_wheel.so use_uid
...

 

반응형
그리드형

댓글