리눅스 / SELinux(Security-Enhanced Linux)

SELinux(Security-Enhanced Linux)는 리눅스 커널에 통합된 보안 모듈로, 미국 국가안보국(NSA)이 개발한 강력한 접근 제어 메커니즘을 제공하는 보안 프레임워크입니다. SELinux는 시스템의 보안을 강화하기 위해 다양한 보안 정책을 적용하여 프로세스와 사용자 간의 상호작용을 제어합니다. SELinux의 주요 특징과 기능은 다음과 같습니다:

  1. 정책 기반 접근 제어
    SELinux는 시스템의 모든 파일, 디렉터리, 포트, 그리고 프로세스에 대한 접근을 제어하기 위해 보안 정책을 사용합니다. 이 정책은 시스템 관리자에 의해 정의되고 적용됩니다.

  2. 강제 접근 제어(Mandatory Access Control, MAC)
    SELinux는 전통적인 자유 접근 제어(Discretionary Access Control, DAC)와 달리, 더 엄격한 보안 정책을 강제하는 MAC을 사용합니다. 이를 통해 시스템의 보안 수준을 크게 향상시킬 수 있습니다.

  3. 보안 컨텍스트
    SELinux는 각 파일, 프로세스, 그리고 시스템 객체에 보안 컨텍스트를 할당합니다. 이 보안 컨텍스트는 해당 객체에 대한 접근 권한을 결정하는 데 사용됩니다.

  4. 세분화된 권한 제어
    SELinux는 세분화된 권한 제어를 통해 특정 작업에 필요한 최소한의 권한만을 부여함으로써 보안을 강화합니다. 이를 통해 시스템이 더 안전해지고, 잠재적인 보안 취약점을 줄일 수 있습니다.

  5. 로그 및 감사
    SELinux는 보안 이벤트를 상세히 기록하고 감사 로그를 생성하여 시스템 관리자가 보안 위협을 감지하고 대응할 수 있도록 합니다.

SELinux는 많은 리눅스 배포판에 기본적으로 포함되어 있으며, Red Hat Enterprise Linux (RHEL), CentOS, Fedora 등에서 널리 사용되고 있습니다. 사용자는 시스템 보안을 강화하기 위해 SELinux를 활성화하고 적절한 정책을 구성하여 활용할 수 있습니다.

같은 카테고리의 다른 글

리눅스 / 명령어 / find / 파일 또는 디렉토리를 찾는 명령어

find는 파일 또는 디렉토리를 찾는 명령어이다. 현재 디렉토리 안에 있는 모든 파일과 디렉토리를 출력한다. 숨긴 파일 또는 숨긴 디렉토리도 출력한다. # find /etc 디렉토리 안에 있는 모든 파일과 디렉토리를 출력한다. 숨긴 파일 또는 숨긴 디렉토리도 출력한다. # find /etc 현재 디렉토리 안에서 이름이 abc인 파일 또는 abc인 디렉토리를 검색한다. # find -name abc 현재 디렉토리 안에서 이름이 ...

리눅스 / 명령어 / systemctl

systemctl은 서비스를 관리하는 명령어이다. 서비스 상태 확인 systemctl status service_name.service 서비스 시작 systemctl start service_name.service 서비스 재시작 systemctl restart service_name.service 서비스 중지 systemctl stop service_name.service 부팅 시 서비스 자동 시작 systemctl enable service_name.service 부팅 시 서비스 자동 시작 해제 systemctl disable service_name.service 서비스 목록 보기 systemctl list-units --type=service

리눅스 / 명령어

명령어 개요 adduser 사용자 추가하는 명령어. alias 명령어 별칭을 만든다. cal calendar. 달력을 출력하는 명령어. cat concatenate. 파일 내용 출력하는 명령어. cd change directory. 다른 디렉토리로 이동하는 명령어. chmod 파일 또는 디렉토리의 읽기, 쓰기, 실행 권한 설정하는 명령어 chown 파일 또는 디렉토리의 소유자(그룹) 설정하는 명령어 clear 터미널 화면의 내용을 다 지운다. cp copy. 파일 또는 디렉토리 복사. du disk usage. 디스크 사용량 출력. file 파일의 종류를 출력하는 명령어 find 파일 또는 디렉토리를 검색하는 명령어 free 메모리 사용량 ...

리눅스 / 게이트웨이(gateway) 확인하는 방법

리눅스에서 네트워크 정보는 주로 ifconfig, ip addr 명령어로 확인한다. 그런데, gateway 정보는 나오지 않는다. 만약 gateway 정보가 필요하다면 route 명령어를 사용한다. Ubuntu애서 명령어가 없다고 나오면 net-tools를 설치한다. apt install net-tools

리눅스 / 사용자 / 사용자 조회, 사용자 추가, 사용자 삭제, 사용자 수정

사용자 조회 모든 사용자를 출력합니다. # cat /etc/passwd root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin adm:x:3:4:adm:/var/adm:/sbin/nologin lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin sync:x:5:0:sync:/sbin:/bin/sync shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown halt:x:7:0:halt:/sbin:/sbin/halt mail:x:8:12:mail:/var/spool/mail:/sbin/nologin operator:x:11:0:operator:/root:/sbin/nologin games:x:12:100:games:/usr/games:/sbin/nologin ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin ... root과 useradd 또는 adduser를 통해 생성한 사용자 계정을 출력합니다. # grep /bin/bash /etc/passwd root:x:0:0:root:/root:/bin/bash jb:x:1000:1000:JB:/home/jb:/bin/bash 사용자 추가 useradd jb 사용자를 만듭니다. useradd jb 사용자 홈 디렉토리도 같이 만들고 싶다면 -d 옵션을 사용합니다. useradd jb -d /home/jbdir jb 사용자의 비밀번호를 만듭니다. passwd jb adduser adduser 명령어로 사용자를 추가할 수 있습니다. useradd와는 달리 사용자 홈 디렉토리를 자동으로 만들고, 비밀번호 ...

리눅스 / 커널

리눅스 커널은 리눅스 운영체제의 핵심 구성 요소로, 시스템 하드웨어와 소프트웨어 간의 중재자 역할을 합니다. 커널은 시스템 자원을 관리하고, 프로세스 간의 통신을 지원하며, 기본적인 보안과 안정성을 제공합니다. 리눅스 커널은 자유 소프트웨어 및 오픈 소스 소프트웨어 개발 및 배포 모델에 따라 개발됩니다. 리눅스 커널의 주요 기능 프로세스 관리 프로세스 생성 및 종료 : 커널은 새로운 ...

리눅스 / 명령어 / alias / 명령어 별칭 만들기

긴 명령어 또는 복잡한 명령어를 자주 사용한다면 alias를 사용하자. 시간을 많이 절약할 수 있다. alias 목록 보기 alias를 실행하면 현재 등록된 alias를 출력한다. alias 예를 들어 ll을 실행한다는 것은 ls -alF를 실행하는 것과 같다. alias egrep='egrep --color=auto' alias fgrep='fgrep --color=auto' alias grep='grep --color=auto' alias l='ls -CF' alias la='ls -A' alias ll='ls -alF' alias ls='ls --color=auto' alias 만들기 alias는 다음과 같이 만든다. abc를 실행하는 ...

리눅스 / chown, chmod / 파일 또는 디렉토리 소유자, 소유그룹, 권한 설정

ls -l ls 명령어에 -l 옵션을 붙여서 파일 또는 디렉토리의 권한과 소유자(그룹)을 확인할 수 있습니다. 제일 앞에 있는 문자는 디렉토리인지 파일인지는 나타냅니다. d는 디렉토리라는 뜻이고, -는 파일이라는 뜻입니다. 그 다음 3개의 문자열은 소유자의 권한을, 그 다음 3개의 문자열은 소유그룹의 권한을, 그 다음 3개의 문자열은 소유자(그룹) 이외의 권한을 나타냅니다. 처음 나오는 jb는 소유자, 그 다음 ...

리눅스 / SELinux(Security-Enhanced Linux)

SELinux(Security-Enhanced Linux)는 리눅스 커널에 통합된 보안 모듈로, 미국 국가안보국(NSA)이 개발한 강력한 접근 제어 메커니즘을 제공하는 보안 프레임워크입니다. SELinux는 시스템의 보안을 강화하기 위해 다양한 보안 정책을 적용하여 프로세스와 사용자 간의 상호작용을 제어합니다. SELinux의 주요 특징과 기능은 다음과 같습니다: 정책 기반 접근 제어 SELinux는 시스템의 모든 파일, 디렉터리, 포트, 그리고 프로세스에 대한 접근을 제어하기 ...

리눅스 / 명령어 / man / 명령어의 설명서 출력하는 명령어

man은 manual의 약어로, 명령어의 설명서를 출력하는 명령어이다. man 뒤에 명령어 이름을 넣고 엔터를 누릅니다. 예를 들어 # man rm 은 rm 명령어의 설명서를 출력한다. ↑ 키를 누르면 한 줄 위로 올라가고, ↓ 키를 누르면 한 줄 아래로 내려간다. Page Up 키를 누르면 한 페이지 위로 올라가고, Page Down 키를 누르면 한 페이지 아래로 내려간다. /를 ...