Linux ETC

SELinux 제어 방법

2008.05.19 20:14

호스트웨이 조회 수:32678

[SELinux 제어 방법]



1. SELinux 설치 및 미 설치 방법

설치 중 방화벽 설정 화면에서 선택한 사항에 기초하여 설치자(installer)가 처리.
설치(active) : 기본 가동 정책(default running policy)은 목표 정책이며, 기본으로(by default) 가동된다.
- 미설치(disabled) : disabled 상태로 변경하여 설치 진행한다.

2. 사용중인 정책을 교체하는 방법

- system-config-securitylevel

정책을 바꾸고 재명명(relabel)하도록 파일 시스템을 설정하는 것이다.

(1)/etc/selinux/config을 편집하고 SELINUXTYPE=policyname으로 정책 유형을 바꾼다.
(2)재 부팅 하여 돌아올 수 있는지 확인하기 위해, SELINUX=permissive 모드로 설정한다.
이렇게 하면, SELinux는 정확한 정책하에서 가동될 것이지만, 만일 부정확한 파일 문맥 명명(labeling)과 같은 문제가 있으면 로그인 하도록 할 것이다.
(3)sysadm_r 역할을 갖춘 root로 파일 시스템을 재명명 한다(relabel)

id -Z
root:sysadm_r:sysadm_t
fixfiles relabel

옵션 -l /path/to/logfile을 사용하여 표준 출력으로 로그를 볼 수 있고, 옵션 -o /path/to/file을 사용하여 검토(checked)되거나 재 명명(relabeled)된 모든 파일 리스트를 저장할 수 있다.

(4)시스템을 재 부팅 한다. 새 정책하에서의 재 시작은 모든 시스템 프로세스가 적절한 문맥에서 시작되고 정책 변경으로 인한 모든 문제가 드러나게 한다.

(5)sestatus –v 명령으로 발효된 변경사항을 확인한다. Permissive 모드로 가 동된 새 시스템에서, avc: denied 메시지를 /var/log/messages에서 확인한 다. 이들은 새 정책하에 문제없이 시스템이 가동되도록 해결해야 할 문제들을 표시해 준다.

(6)새 정책하에서 시스템이 만족스럽게 돌아갈 때, SELINUX=enforcing 으로 바꿔 실행 권한을 부여한다. 실시간에 enforcing을 활성화 시키기 위 해 재 부팅하거나 setenforce 1을 실행한다.

3. 특정 데몬에 대하여 SELinux protection을 활성화/비활 성화 방법

- 특정 데몬의 부울 값을 제어하려면 system-config-securitylevel을 사용한다.
예를 들어, 만일 apache가 시스템상에서 올바르게 동작하도록 하기 위해서는 SELinux를 비활성화 시켜야 한다면, system-config-securitylevel으로 해당 값을 비활성화시키면 된다.
이는 apache.te에 정의된 정책으로 전이되는 것을 막고 httpd가 일반 리눅스 보안 하에 있도록 한다.

4. 부팅 중 SELinux를 비활성화시키는 방법

- 커널 명령 라인에 selinux=0를 추가

5. 부팅시 enforcing을 활성화/비활성화하는 방법

- /etc/sysconfig/selinux 설정 파일을 이용

====================================================

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.

SELINUX=enforcing
.
.

(1) SELINUX=enforcing : enforcing을 활성화하기 위해 커널을 부팅할 때 명령 라인에 enforcing =1을 추가하는 것과 같다.

(2) SELINUX=permissive : enforcing을 비활성화하기 위해 enforcing=0 를 추가하는 것과 같다.

(3) SELINUX=disabled : 커널 부트 인자 selinux=0을 사용 하는 것과 다르다.

커널에서 SELinux를 완전하게 비활성화시키는 것과 달 리 대신 disabled를 설정하는 것은 enforcing을 비활성화하고 정책 적재를 하지 않고 건너뛰는 것이다.

====================================================

6. 재부팅하지 않고 enforcing 모드를 임시로 비활성화/활성화 방법

- 실시간으로 enforcing모드를 비활성화시키기 위해서 sentenforce 0 명령을 실행.
작업이 끝나서 enforcing 모드로 돌아오기 위해서는 sentenforce 1을 실행.

7. SELinux 설치에 관한 상태 정보(status info)를 얻는 방법

- root 사용자 권한으로 /usr/sbin/setstatus –v 명령을 실행.
번호 제목 글쓴이 날짜 조회 수
366 TCp syn Flooding 공격시 대처방법 TIP 호스트웨이 2012.10.26 2238
365 vim fileformat 변경하기: -bash: ./LINUX_03.sh: /bin/sh^M: bad interpreter: No such file or directory 호스트웨이 2012.11.29 2292
364 리눅스 시스템상에서 하드웨어사양 확인 호스트웨이 2012.10.24 2369
363 500 FTP server shut down 문제 해결 호스트웨이 2015.09.09 2400
362 rsync / 파티션 전체 동기화 방법 호스트웨이 2012.12.14 2428
361 ispell 명령어를 통한 철자 검사 및 수정하기 file 호스트웨이 2012.10.12 2523
360 리눅스 look 명령어 file 호스트웨이 2012.11.02 2598
359 hostname 변경하기 호스트웨이 2015.09.17 2621
358 리눅스 hdd 속도 알아보기 호스트웨이 2015.09.17 2623
357 쉘 프롬프트 설정하기 file 호스트웨이 2012.11.08 2671
356 읽기 전용 파티션 읽고 쓸수 있게 재마운트하는 방법 호스트웨이 2015.09.13 2718
355 랜카드 본딩(bond0) 설정 호스트웨이 2012.11.16 2719
354 쉘 프롬프트에서 바로 이전 디렉토리로 이동하기 호스트웨이 2012.12.20 2751
353 UTF-8 환경에서 리눅스 한글 꺠짐 현상 해결법 호스트웨이 2015.09.08 2771
352 df 쉽게 보기 호스트웨이 2012.12.20 2835
351 /proc/sys/net/ipv4 활용 서버보안 -1- 호스트웨이 2015.09.17 2838
350 SNMPD LOG 안남게 하기 호스트웨이 2015.09.10 2891
349 리눅스 tree 명령어 file 호스트웨이 2012.09.21 2930
348 yum을 이용한 X-Window 설치 호스트웨이 2012.09.27 3004
347 INIT: no more processes left in this runlevel 메세지 발생시 호스트웨이 2012.11.15 3018