리눅스 / 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를 활성화하고 적절한 정책을 구성하여 활용할 수 있습니다.

같은 카테고리의 다른 글
Rocky Linux 8 / 고정 IP 설정하는 방법

Rocky Linux 8 / 고정 IP 설정하는 방법

보통 Rocky Linux를 설치할 때 IP를 설정하나, 여러 가지 이유로 IP 설정을 다시 해야 하는 경우가 있다. IP를 설정하는 두 가지 방법을 소개한다. TUI 네트워크 설정 파일을 수정하는 것보다는 NetworkManager Text User Interface(nmtui)를 이용하는 게 편하다. nmtui를 실행한다. Edit a connection을 선택한다. 설정하려는 네트워크 카드를 선택한다. 현재 설정이 나오는데... 적절히 설정한다. 다음과 같이 명령하여 반영한다. systemctl restart NetworkManager GUI Settings를 연다. Network에서 ...

Ubuntu 22.04 Server / SSH / 포트 변경하는 방법

보안 상의 이유로 SSH 포트는 변경하는 것이 좋다. Ubuntu 22.04 Server에서 SSH 포트 변경하는 방법은 다음과 같다. 1980으로 변경한다고 가정한다. /etc/ssh/sshd_config에서 다음의 코드를... #Port 22 다음으로 변경한다. Port 1980 방화벽이 활성화되어 있다면 1980 포트를 열어준다. ufw allow 1980/tcp SSH 서비스를 다시 시작한다. systemctl restart ssh SSH 서비스를 다시 시작해도 적용되지 않으면, 컴퓨터를 다시 시작한다.

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

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

Ubuntu 18.04 / 메모

SSH 설정 설정 파일 /etc/ssh/sshd_config 포트 변경하기 다음 코드를 #Port 22 다음처럼 바꾼다. Port 1234 포트 번호는 자신이 원하는 것으로... root 계정 로그인 가능하게 만들기 다음 코드를 #PermitRootLogin prohibit-password 다음처럼 만든다. PermitRootLogin yes 설정 변경 적용하기 service ssh restart

CentOS 8 / 언어 변경하는 방법

CentOS 8 / 언어 변경하는 방법

현재 언어 확인하기 # localectl System Locale: LANG=en_US.UTF-8 VC Keymap: us X11 Layout: us 사용 가능한 언어 확인하기 # localectl list-locales C.utf8 en_AG en_AU en_AU.utf8 en_BW en_BW.utf8 en_CA en_CA.utf8 en_DK en_DK.utf8 en_GB en_GB.iso885915 en_GB.utf8 en_HK en_HK.utf8 en_IE en_IE.utf8 en_IE@euro en_IL en_IN en_NG en_NZ en_NZ.utf8 en_PH en_PH.utf8 en_SC.utf8 en_SG en_SG.utf8 en_US en_US.iso885915 en_US.utf8 en_ZA en_ZA.utf8 en_ZM en_ZW en_ZW.utf8 ko_KR.euckr ko_KR.utf8 언어를 한글로 변경하기 # localectl set-locale LANG=ko_KR.utf8 # localectl System Locale: LANG=ko_KR.utf8 ...

Ubuntu 20.04 Server / 고정 IP 설정하는 방법

네트워크 설정 파일은 /etc/netplan 디렉토리 안에 있는 yaml 파일이다. DHCP로 설치했다면, 설정 파일 내용은 다음과 비슷하게 되어 있다. # This is the network config written by 'subiquity' network: ethernets: enp0s3: dhcp4: true version: 2 다음과 같이 수정하고 저장한다. IP 등은 네트워크 환경에 맞게 적절히 ...

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

사용자 조회 모든 사용자를 출력합니다. # 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와는 달리 사용자 홈 디렉토리를 자동으로 만들고, 비밀번호 ...

리눅스 / 배포판 / 록키 리눅스(Rocky Linux) - 역사, 특징, 장점

록키 리눅스의 역사 록키 리눅스(Rocky Linux)는 2020년 12월에 발표된 오픈 소스 리눅스 배포판으로, CentOS 프로젝트의 공동 창립자인 그레고리 커츠너(Gregory Kurtzer)가 주도하여 개발되었습니다. 록키 리눅스는 CentOS 8의 종료 발표 이후, 기존의 CentOS 사용자들에게 안정적인 대안을 제공하기 위해 만들어졌습니다. 록키 리눅스는 레드햇 엔터프라이즈 리눅스(RHEL)와의 완전한 호환성을 목표로 하며, 커뮤니티 주도 프로젝트로 운영됩니다. CentOS와의 관계 CentOS는 ...

리눅스 / 명령어 / 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

Ubuntu 24.04 Server / root 계정으로 로그인할 수 있게, ssh 접속할 수 있게 설정하는 방법

Ubuntu는 설치할 때 일반 사용자 계정만 만들고, 관리자 권한이 필요할 때는 sudo를 이용한다. 만약 보안에 문제가 없는 경우라면 root 계정으로 로그인하는 게 작업하는 게 편하다. root 계정으로 로그인할 수 있게 설정하는 방법 일반 사용자 계정으로 로그인한다. 다음과 같이 명령하여 root 계정의 비밀번호를 만들면 root 계정으로 로그인할 수 있다. # sudo passwd root root 계정으로 ssh ...