ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Linux/리눅스] 06. SELinux , Enforcing , Permissive
    Linux 2018. 12. 21. 16:47
    반응형

     

    SELinux (Security Enhanced Linux) 활성화 및 모니터링


    SELinux 보안


    - SELinux 는 시스템 보안을 한 단계 강화 한다.
    - 손상된 시스템 서비르로부터 사용자 데이터를 보호하는 것이다.
    - 개체 기반 MAC(Mandatory Access Control) 이라는 추가 보안 레이어를 제공한다.

    - SELinux 는 어느 프로세스가 파일, 디렉토리, 포트에 액세스 할 수 있는지 결정하는 보안 규칙의 집합이다.
    - 파일을 처리하는 대부분의 명령에는 SELinux 컨텍스트를 표시하거나 설정하는 옵션 -Z 가 있다.






    SELinux Mode


    - 문제 해결을 위해 SELinux 모드를 사용하여 SELinux 보호를 일시적으로 비활성화 할 수 있다.


    1. SELinux Enforcing

    - 강제 모드에서는 컨텍스트를 사용하여 파일을 읽으려고 하는 웹 서버의 액세스를 거부한다.

      강제 모드에서 SELinux 는 로그와 보호를 모두 수행한다.


    2. SELinux Permissive

    - 허용 모드는 문제 해결에 주로 사용된다.

      명시적 규칙이 없는 경우에도 SELinux 에서 모든 상호 작용을 허용한다.

      강제 모드에서 거부할 상호 작용을 로깅한다.

      제한하고 있는 콘텐츠에 대한 액세스를 일시적으로 허용한다.

      강제에서 허용으로 변경할시 재부팅 하지 않아도 된다.


    3. SELinux Disabled

    - 비활성화 모드

      강제 모드/허용 모드로 변경시에는 재부팅이 필요하다.


    현재 적용된 SELinux Mode 를 확인하기 위해서는 getenforce 명령을 사용한다.





    SELinux Bool


    - SELinux bool 은 SELinux 정책의 동작을 변경하는 스위치 이다.

    - 보안 관리자는 이것을 사용하여 정책을 조정하고 선택적으로 조정할 수 있다.

    - getsebool 명령은 SELinux Bool 및 해당 현재 값을 확인 할 수 있다.

    - getsebool -a

    ~






    SELinux Mode Change


    현재 SELinux 모드 변경


    - setenforce 명령을 통해 현재 SELinux 모드를 변경한다.


    - 재부팅 시에는 적용이 되지 않는다.




    기본 SELinux 모드 설정


    - 부팅 할때 SELinux 모드를 결정하는 설정 파일은 /etc/selinux/config 에 존재한다.

    - 부팅 할때 SELinux 모드를 변경하려면 /etc/selinux/config 에서

      SELINUX=enforcing 부분을 permissive 로 변경하면 된다. 반대도 마찬가지!!

     






     

    SELinux 컨텍스트 변경

    - 컨텍스트 : 파일 각각 설정되어있는 레이블


    초기 SELinux 컨텍스트



    - object_r : 역할

    - admin_home_t : 타입

    - s0 : 보안 레벨




    파일의 SELinux 컨텍스트 수정


    chcon, restorecon 명령을 사용하여 주로 변경한다.

    chcon
    - 파일의 컨텍스트를 명령의 인수로 지정된 컨텍스트로 변경한다.
    - t 옵션을 사용하여 컨텍스트의 유형 구성 요소만 지정하는 경우가 빈번하다.

    restorecon
    - 파일/디렉토리의 SELinux 컨텍스트를 변경하는 데 선호되는 방법이다.
    - 컨텍스트를 명시적으로 지정하지 않는다.







    SELinux Bool 변경


    SELinux Bool


        - 활성화 하거나 비활성화 할 수 있는 규칙이다.
        
    - getsebool 명령은 SELinux Bool 을 표시한다.

    - setsebool 명령은 SELinux Bool 을 수정한다.

    - setsebool -P 명령은 SELinux 정책을 수정하여 수정 사항을 영구적으로 만든다.

    - semanage boolean -l 명령은 Bool 이 영구적인지 여부를 간단한 설명과 함께 표시한다

    - semanage boolean -l -C 명령은 SELinux Bool 의 상태에 대한 로컬 변경내용만 나열한다.





     

    Troubleshooting SELinux


    SELinux 문제 해결


    - setroubleshootd 명령을 통해 /var/log/messages 에 로그 메세지가 생성된다.

    - sealert 명령을 통해 SELinux 문제 해결에 유용한 정보가 표시된다.

    - 많은 장애 처리 경험이 필요하다.



    반응형
Designed by Tistory.