Notice
Recent Posts
Recent Comments
Link
«   2024/11   »
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
Tags more
Archives
Today
Total
관리 메뉴

요리사에서 IT개발자로

SELinux 관리: setenforce, getenforce, 및 /etc/sysconfig/selinux, /etc/login.defs 설정 가이드 본문

AWS

SELinux 관리: setenforce, getenforce, 및 /etc/sysconfig/selinux, /etc/login.defs 설정 가이드

H.S-Backend 2024. 9. 27. 12:06
1. setenforce 명령어

개요

setenforce 명령어는 SELinux의 실행 모드를 일시적으로 변경할 수 있게 해줍니다. 이 명령어를 사용하여 시스템을 Enforcing 모드와 Permissive 모드 사이에서 전환할 수 있습니다.

사용법

setenforce [0 | 1]
  • setenforce 0: SELinux를 Permissive 모드로 설정합니다. 이 모드에서는 정책 위반이 차단되지 않고, 로그에만 기록됩니다.
  • setenforce 1: SELinux를 Enforcing 모드로 설정합니다. 이 모드에서는 SELinux 정책이 강제 적용되며, 정책 위반이 발생하면 접근이 차단됩니다.

예시

setenforce 0 # SELinux를 Permissive 모드로 전환
setenforce 1 # SELinux를 Enforcing 모드로 전환

2. getenforce 명령어

개요

getenforce 명령어는 현재 SELinux의 실행 모드를 확인하는 데 사용됩니다.

사용법

getenforce

출력 예시

Enforcing

이 출력은 SELinux가 현재 Enforcing 모드에서 실행 중임을 나타냅니다.


3. /etc/sysconfig/selinux 파일 설정

개요

/etc/sysconfig/selinux 파일은 SELinux의 기본 설정을 정의하는 파일입니다. 이 파일을 수정하여 시스템 부팅 시 SELinux 모드를 영구적으로 설정할 수 있습니다.

설정 예시

# /etc/sysconfig/selinux
 
SELINUX=enforcing
# enforcing, permissive, disabled 중 하나로 설정

SELINUXTYPE=targeted
# SELinux 정책 타입 (targeted 또는 mls)

옵션 설명

  • SELINUX=enforcing: SELinux를 Enforcing 모드로 설정.
  • SELINUX=permissive: SELinux를 Permissive 모드로 설정.
  • SELINUX=disabled: SELinux를 완전히 비활성화.
  • SELINUXTYPE=targeted: targeted 정책 유형을 사용.

예시 수정

SELINUX=permissive SELINUXTYPE=targeted

위 설정은 시스템 부팅 시 SELinux를 Permissive 모드로 실행하도록 설정합니다.

 

2. 사용자 계정 관리

2.1 /etc/login.defs 파일 설정

개요

/etc/login.defs 파일은 사용자 계정 생성 및 인증 관련 설정을 포함하는 중요한 파일입니다. 이 파일을 통해 사용자 메일, 비밀번호 만료일 및 UID/GID 범위를 설정할 수 있습니다.

설정 항목

  • MAIL_DIR: 사용자 메일 저장소의 기본 경로를 설정합니다.
  • PASSWORD: 비밀번호 만료 및 유효 기간을 설정합니다.
  • UID_MIN, UID_MAX, GID_MIN, GID_MAX: 사용자 ID와 그룹 ID의 범위를 설정합니다.
  • ENCRYPT_METHOD: 비밀번호 암호화 방식을 지정합니다.
  • USERGROUPS_ENAB: 사용자 그룹의 동작 방식을 설정합니다.

설정 예시

# /etc/login.defs MAIL_DIR /mail # 사용자 메일 저장소 경로 수정
PASS_MAX_DAYS 90 # 비밀번호 최대 사용 기간 (90일)
PASS_MIN_DAYS 7 # 비밀번호 최소 사용 기간 (7일)
PASS_WARN_AGE 14 # 비밀번호 만료 경고 기간 (14일)
UID_MIN 1000 # 사용자 UID 최소값
UID_MAX 60000 # 사용자 UID 최대값
GID_MIN 1000 # 그룹 GID 최소값
GID_MAX 60000 # 그룹 GID 최대값
ENCRYPT_METHOD SHA512 # 비밀번호 암호화 방식 (SHA512)
USERGROUPS_ENAB no # 동일한 그룹이 생성되지 않도록 설정

2.2 시스템 계정 생성

개요

시스템 계정은 특정 서비스나 작업을 수행하기 위해 사용하는 계정으로, 일반 사용자와는 다르게 몇 가지 특징이 있습니다.

명령어 예시

useradd -r 아이디

특징

  • 홈 디렉토리: 시스템 계정 생성 시 기본적으로 홈 디렉토리가 생성되지 않습니다. 필요한 경우 -d 옵션을 사용하여 명시적으로 경로를 지정할 수 있습니다.
  • 사용자 ID (UID): 시스템 계정은 일반 사용자보다 낮은 UID를 가지며, 기본적으로 1000 미만의 UID가 할당됩니다.

홈 디렉토리 생성 예시

useradd -r -d /home/아이디 아이디

2.3 비밀번호 및 만료일 관련 설정

  • 비밀번호 만료일 설정: PASS_MAX_DAYS, PASS_MIN_DAYS, PASS_WARN_AGE와 같은 항목을 사용하여 비밀번호 만료일 및 경고 기간을 설정할 수 있습니다. 이를 통해 사용자에게 비밀번호 변경을 유도할 수 있습니다.
  • 비밀번호 암호화: ENCRYPT_METHOD 항목을 사용하여 SHA512와 같은 암호화 방식을 설정할 수 있습니다. 이는 보안 강화를 위해 중요합니다.

 

 

 

반응형