SELinux

Eden Ko·2023년 5월 3일
0

문제 및 해결

  • 웹서버에 파일과 폴더를 만들고 GUEST 읽기 권한을 두었는데도 웹브라우저로 접근할 수 없음
    → 새로 만든 폴더에 httpd_sys_content_t 또는 httpd_sys_script_exec_t 컨텍스트를 추가해야 함

  • 잘 동작하던 프로그램의 설정파일을 복사해 왔는데도 프로그램이 실행되지 않음
    → 복사한 설정파일에 config_t 콘텍스트를 추가해야 함

  • SSHD 설정파일에서 SSH 포트를 다른 포트로 바꾸었는데 적용되지 않음
    → 바꾸려는 포트에 ssh_port_t 콘텍스트를 추가해야 함

  • 해커가 침입했더라도 취득한 콘텍스트는 제한적이기 때문에 다른 부분에 관여할 수 없음
    → selinux 를 disable 하면 보안에 많이 취약해짐

보안 컨텍스트 확인하기

sudo -s
 
# 디렉터리/파일에 관한 컨텍스트 확인
ls -Z /etc/httpd
ls -Z /var/www
 
# 실행중인 프로세스에 관한 컨텍스트 확인
ps auxZ | grep httpd
 
# 포트에 관한 컨텍스트 확인
semanage port -l | grep httpd

SELinux 동작 확인하기

/etc/selinux/config

SELINUX=enforcing
SELINUXTYPE=targeted

보안 컨텍스트 적용 하기

  • semanage - SELinux Policy Management tool 설치
sudo yum -y install policycoreutils-python
  • 파일에 보안 컨텍스트 추가
sudo chcon -Rv --type=httpd_sys_rw_content_t /var/www/html/wiki/data
  • 포트에 보안 컨텍스트 추가
sudo semanage port -a -t ssh_port_t -p tcp XXXX

https://wiki.kreonet.net/linux-guide/selinux-51119551.html

profile
Junior Developer

0개의 댓글