이 두 개를 보기 전에 먼저 알아야 할 부분인 접근 통제가 있다.
운영 체제에서(OS) 접근 통제는 디렉토리나 파일, 네트워크 소켓 같은 시스템 자원을 적절한 권한을 가진 사용자나 그룹이 접근하고 사용할 수 있게 통제하는 것이다.
접근 통제에서 시스템 자원을 객체(Object)라고 하며 자원에 접근하는 사용자나 프로세스를 주체(Subject)라고 한다.
예를 들어 /etc/passwd 파일은 객체이고, 이 파일에 접ㅈ근하여 암호를 변경하는 passwd라는 명령어는 주체
DAC(임의적 접근 통제, Discretionary Access Control)
주체(소유자/사용자)가 속해있는 그룹의 신원에 근거하여 객체(파일)에 대한 접근을 제안하는 방법.
- 객체의 주체가 접근 여부를 결정한다. (분산형 보안관리)
- 하나의 주체마다 객체에 대한 접근 권한을 부여해야 한다.
- 관리 부담이 높고 권한을 오용할 가능성 있음 보안 위협에 취약함
- → 그래서 MAC 방식이 등장
MAC(강제적 접근 통제, Mandaroty Access Control)
자원의 보안 레벨과 사용자의 취금 인가를 비교하여 접근 제하는 방식이다. 즉, 정의된 정책을 활용해 사용자와 프로세스의 행동을 제어하는 것.
특징
- 관리자만이 접근 제어의 규칙을 설정, 변경할 수 있다. (중앙집중형 보안관리)
- 다중 수준 보안 정책에 기반한다. (서로 다른 분류 수준의 데이터가 보호되는 방법)
- 파일의 유형, 사용자의 역할, 프로그램의 기능과 신뢰도, 데이터의 민감성과 무결성 고려해야 한다.
AppArmor
시스템 관리자가 프로그램 프로필 별로 프로그램 역량을 제한 할 수 있게 해주는 리눅스 커널 보안 모듈이다.
SUSE 계열(SUSE Linux), 데비안 계열(Debian, Ubuntu) 운영체제에서 주로 사용되며, MAC이 적용되었다. (전통적인 Linux는 DAC)개별 응용프로그램을 보호하는 일에 집중되어 있으며, 응용프로그램 단위의 보안 모델이 구현되어 있다.
개인용으로 많이 사용
- 시스템 관리자가, 응용 프로그램의 역량, 권한을 제한할 수 있도록 하난 리눅스 커널 보안 모듈이다.
- 프로그램의 프로필을 통하여 네트워크 액세스, raw 소켓 액세스, 파일의 읽기, 쓰기, 실행 권한 등 해당 프로그램이 취할 수 있는 작업을 제한하고 관리한다.
- 강제적 접근 통제(MAC)를 제공하며, 취약한 서버 소프트웨어에 유용하다.
과제에서 AppAromor가 실행되는지만 확인하라고 해서 프로필은 안 만들어도될 듯
AppAromor 프로필
프로필은 /etc/apparmor.d 디렉토리에 저장됨.
서버 소프트웨어와 같은 일부 패키지는 패키지와 함께 시스템에 설치된 자체 AppArmor 프로파일로 함께 제공 될 수 있다.
apparmor-profiles 패키지를 설치하여 제공되는 프로필을 이용하거나,
고유한 프로필을 생성하여 소프트웨어를 제한 할 수도 있다.
<Complain mode / Enforce mode>
프로필은 “complain mode”또는 “enforce mode”로 실행할 수 있다.
ENFORCE MODE : 응용 프로그램이 제한된 동작을 수행하지 못하게 함.
sudo aa-enforce / path / to / binary
COMPLAIN MODE : 응용프로그램을 제한하지 않고, 위반 사항을 보고하는 로그 항목만을 작성함.
sudo aa-complain / path / to / binary
SELinux
관리자가 시스템 액세스 권한을 효과적으로 제어할 수 있게 하는 Linux 시스템용 보안 아키텍처이다.
SElinux는 시스템 전체에서 사용되는 보안 모듈 → 일반적으로 규칙 기반 시스템으로 구현
과거 리눅스는 소스코드가 공개되어 있기 때문에 보안에 취약했다. 이러한 취약점을 보안하기 위한 것이 SELinux이다.
레드햇 계열 운영체제(RHEL, Fedora, CentOS) 에서 많이 사용되며, MAC이 적용 되었다. (전통적인 Linux는 DAC)
시스템 전체에 대한 보안 설정이 가능하다.
기업에서 많이 사용
Debian(APPArmor)은 리눅스 커널 보안 모듈
Rocky(SELinux)는 linux시스템용 보안 아키텍처임.
참고 블로그
[Born2beRoot] SELinux, AppArmor
[Born2beRoot] SELinux, AppArmor
리눅스 커널 보안 모듈인 SELinux와 AppArmor에 대해 간단하게 알아보자
velog.io
AppArmor - 위키백과, 우리 모두의 백과사전
위키백과, 우리 모두의 백과사전. AppArmor("Application Armor")는 시스템 관리자가 프로그램 프로필 별로 프로그램의 역량을 제한할 수 있게 해주는 리눅스 커널 보안 모듈이다. 프로필들은 네트워크
ko.wikipedia.org
SELinux란? SELinux 개념, 설정, 확인 및 사용법을 설명합니다.
SELinux란? SELinux 개념, 설정, 확인 및 사용법을 설명합니다.
SELinux란 시스템 액세스 권한을 제어하는 리눅스 보안 시스템 아키텍처를 뜻하며, SELinux를 설정하여 시스템 보안 확인 방법, 무료 다운로드, 사용법을 설명합니다.
www.redhat.com
'42Seoul > Born2beroot' 카테고리의 다른 글
apt, aptitude study (0) | 2023.05.09 |
---|---|
LVM, sudo study (1) | 2023.05.09 |
Debian, Rocky study (0) | 2023.05.07 |
리눅스 study (0) | 2023.05.07 |
가상 머신 study (0) | 2023.05.07 |