본문 바로가기

Infra/리눅스 서버

[Linux 보안] 리눅스 계정 관리 - root 계정 su 제한

[Linux 보안] 리눅스 계정 관리 - root 계정 su 제한



■ 대상 OS : SunOS, Linux, AIX, HP-UX


■ 취약점 개요

    - 권한이 없는 일반 사용자가 su 명령을 사용하여 로그인을 시도하고 패스워드 무작위 대입공격(Brute Force Attack)이나 패스워드 추측공격(Password Guessing)을 통해 root 권한을 획득할 수 있음

    - su 명령어 사용이 허용된 사용자만 root 계정으로 접속할 수 있도록 함


■ 보안대책

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

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


■ 조치방법

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

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

       2. su 명령어의 그룹을 요청받은 그룹으로 변경

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

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

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


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


■ 보안설정 방법

    ◆ OS별 점검 파일 위치 및 점검 방법

        1. SunOS, Linux, AIX, HP-UX

           - "wheel" 그룹(su 명령어 사용 그룹) 및 그룹 내 구성원 존재 여부 확인

              #cat /etc/group

               wheel:x:10:root,admin


           - wheel 그룹이 su 명령어를 사용할 수 있는지 설정 여부 확인

             [SunOS] #ls -al /usr/bin/su

                        #chgrp security su

                        #chmod 4750 su

             [AIX] #cat /etc/security/user  -->  default의 "sugroups=staff" 설정 확인

                      /etc/group 에서 staff 그룹에 해당하는 계정만 su 사용 가능

             [HP-UX] #vi /etc/default/security  -->  SU_ROOT_GROUP=wheel 설정 확인


           - 파일 권한 확인

             #ls -l /usr/bin/su

               -rwsr-x--- /usr/bin/su   (파일 권한이 4750인 경우 양호)


        2. Linux PAM 모듈 이용 시

           - "wheel" 그룹(su 명령어 사용 그룹) 및 그룹 내 구성원 존재 여부 확인

              #cat /etc/group

                wheel:x:10:root,admin


           - 허용 그룹(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_uid


    ◆ 위에 제시한 설정이 해당 파일에 적용되지 않은 경우 아래의 보안설정 방법에 따라 설정


■ SunOS, Linux, HP-UX

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

        #groupadd wheel

    2. su 명령어 그룹 변경

        #chgrp wheel /usr/bin/su

   3. su 명령어 사용권한 변경

        #chmod 4750 /usr/bin/su

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

        #usermod -G wheel <user_name>

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

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


■ AIX

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

       #mkgroup wheel

    2. su 명령어 그룹 변경

       #chgrp wheel /usr/bin/su

    3. su 명령어 사용권한 변경

       #chmod 4750 /usr/bin/su

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

       #chgroup users=<user_name> wheel

       (예 : chgroup users=admin wheel)


■ Linux PAM 모듈을 이용한 설정 방법

    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


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

        #usermod -G wheel <user_name>

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

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


■ 조치 시 영향

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



※ 문의 사항은 메일 : jyuhm@sntkor.com 이나 070-8611-4853


문의 사항 남기기