- Linux 보안 개발시 고려사항
SELinux(RBAC(Role-Based Access Control))
sudo CMD, /etc/sudoers
File ACL(getfacl/setfacl)
lsattr/chattr CMD
> 모두 접근을 제어 할 수 있는 기능들을 가지고 있다.
- 비교
|
목적 |
Target(Object) |
권한상승 |
|
|
|
SELinux |
허용 |
File(user, role, process, security level) |
X |
|
|
sudo CMD |
허용 |
File (CMD 제어) |
O |
|
|
File ACL |
허용 |
File (user/group) |
△ |
|
lsattr/chattr CMD |
차단 |
File (mode (a,i)) |
X |
|
> SELinux 는 보통 프로세스의 접근을 제어한다.
> sudo는 일반 사용자가 root의 권한을 가지고 CMD를 실행하게 하는 것으로 권한상승이 된다.
> File ACL 은 user와 group 의 권한을 각각 부여하는 것으로 root 권한으로 상승하는 것은 아니지만 기존의 권한 이상의 것을 할 수 있게 한다.
> chattr CMD는 root의 접근 또한 막는 차단의 목적을 둔 명령어 이다.
- 예
user01 -----> File ( /etc/shadow)
> /etc/shadow 는 root 사용자만 r 권한을 갖는다. user01 사용자가 권한을 얻기 위해서는 File ACL로 user01만 추가적인 r권한을 부여하든지
sudo cat /etc/shadow 명령어를 user01이 입력하면 root의 권한으로 실행되게 하는 방법을 사용하면 된다.
user01 -----> CMD ( /sbin/dump)
> /sbin/dump 는 root 사용자만 사용가능한 명령어로 user01 사용자가 사용하기 위해서는 sudo 설정을 통해 root 권한을 얻는 방법이 있다.
> dump 명령어에 user01이 실행권한을 부여하는 File ACL을 설정하더라도 내부에 uid가 root인지를 확인하는 구문이 있어 실행이 불가능하다.
process/port -----> File (/var/www/html)
> 프로세스나 포트가 /var/www/html에 접근하는 제한을 두기 위해서는 SELinux의 기능이 필요하다.
> 다른 접근 제한은 프로세스나 포트의 접근은 막을 수 없다.
'Security > Linux Server' 카테고리의 다른 글
NAS (Network Attached Storage) (0) | 2017.12.29 |
---|---|
Linux Kernel Parameter ( 리눅스 커널 변수) (0) | 2017.12.28 |
lsattr / chattr CMD 사용법 (0) | 2017.12.28 |
File ACL (Access Control List) 사용법 (0) | 2017.12.28 |
SELinux (Secure Enhanced Linux) GUI 사용 방법 (CentOS 6.4) (0) | 2017.12.28 |