Techbrad

[Linux] root 계정 su 사용 제한 설정 (CentOS7) 본문

Security/계정 및 권한

[Linux] root 계정 su 사용 제한 설정 (CentOS7)

brad.min 2020. 12. 28. 08:02
반응형

지난번 포스팅한 SSH Brute Force 공격으로 인해 일반 사용자로 로그인을 성공했다고 가정해보자.

 

SSH Brute Force 공격 파이썬 구현 및 확인 CentOS7

Brute Force Attack 시스템을 해킹하기 위해서는 사용하는 여러가지 방법 중 시스템의 계정 비밀번호를 무작위 공격으로 알아내는 것을 Brute Attack 이라고 표현한다. 파이썬으로 리눅스 root 계정 비밀

techbrad.tistory.com

 

또는 다른 방법으로 일반 사용자로 공격자가 접속을 성공하였다면 다음으로 su 명령어를 통해 root 권한을 획득 할 수 있다. 실제로 root 계정은 원격 접속을 막고 일반 계정으로만 원격 접속이 가능하도록 보안 설정을 하는 곳이 많다. 이럴 때는 반드시 허가된 사용자 ID 로만 su 명령어를 통해 root 권한을 획득 할 수 있도록 해야한다.

 

이를 막기 위해 pam.wheel.so 라이브러리를 활용할 수 있다. 이는 root 권한을 얻을 수 있는 사용자를 wheel이라는 그룹으로 묶어 관리할 수 있도록 지원해주는 기능이다.

 

1. pam 모듈 활성화하기

pam.d경로에 su 설정 파일을 열고 빨간글씨 부분을 주석 처리하거나 없다면 추가한다.

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


#%PAM-1.0
auth            sufficient      /usr/lib64/security/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        /usr/lib64/security/pam_wheel.so debug group=wheel 
auth            substack        system-auth
auth            include         postlogin
account         sufficient      pam_succeed_if.so uid = 0 use_uid quiet

 

2. wheel 그룹에 su를 허가할 사용자를 추가한다.

usermod -G wheel test2 명령어 또는 vi 편집 사용.

wheel group에 test, root 계정이 포함하도록 설정하였다.

[root@localhost ~]# cat /etc/group | grep wheel
wheel:x:10:test,root

 

3. su 파일 그룹 권한 변경

su 파일의 접근 권한의 그룹을 변경한다.

[root@localhost ~]# chgrp wheel /bin/su
[root@localhost ~]# ls -al /bin/su
-rwxr-xr-x. 1 root wheel 32128 Oct  1 02:46 /bin/su

 

그리고 root로 접속 시도하면 /var/log/secure 에 로그가 남게된다.

Jan  2 10:53:51 localhost su: pam_wheel(su-l:auth): Access denied to 'test2' for 'root'

 

4. 파일 권한 차단

su 파일은 bin 디렉토리 밑에 존재한다. su 파일은 setuid가 적용되어 있다. setuid란 euid를 잠시 동안 root 권한으로 변경 시켜 이를 root가 아닌 다른 사용자도 사용할 수 있게 해주는 권한(?)이다. 즉, 일반 유저가 이 파일을 실행하면 종료될 때까지 root권한을 획득하여 파일을 실행시키는 것이다.

[root@localhost ~]# ls -al /bin/su
-rwsr-xr-x. 1 root root 32128 Oct  1 02:46 /bin/su

이를 4750 퍼미션으로 변경해보았다. root 유저와 같은 그룹에 있는 계정만 su 파일을 실행할 수 있도록 변경하였다.

[root@localhost ~]# chmod 4750 /bin/su
[root@localhost ~]# ls -al /bin/su
-rwsr-x---. 1 root wheel 32128 Oct  1 02:46 /bin/su

 

반응형