티스토리 뷰
지난번 포스팅한 SSH Brute Force 공격으로 인해 일반 사용자로 로그인을 성공했다고 가정해보자.
또는 다른 방법으로 일반 사용자로 공격자가 접속을 성공하였다면 다음으로 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 |
'Security > 계정 및 권한' 카테고리의 다른 글
[Linux] 패스워드 복잡도 설정 (Centos7) (0) | 2021.01.07 |
---|---|
[Linux] root 이외의 UID 0 금지 (Centos7) (0) | 2021.01.07 |
[Linux] SSH Brute Force 보안 - 계정 잠금 임계치 설정 (Centos7) (0) | 2020.12.26 |
[Linux] SSH Brute Force 보안 - root 계정 원격 접속 차단 및 포트 변경 (CentOS7) (2) | 2020.12.26 |
[Linux] SSH Brute Force 공격 파이썬 구현 및 확인 CentOS7 (0) | 2020.12.26 |
- Total
- Today
- Yesterday
- 데이터사이언스
- 리눅스
- 보안
- 우선순위큐
- 보안기사
- t검정
- 딥러닝
- 정보보안
- 레디스
- synflooding
- 정보보안기사
- 백준
- java
- 다이나믹프로그래밍
- lightsail
- LangChain
- 코딩테스트
- Python
- linux
- 자료구조
- 분산시스템
- 카카오페이면접후기
- 파이썬
- 시간초과
- 그리디
- 카카오페이
- FastAPI
- t-test
- 프로그래머스
- springboot
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |