Red Hat Training

A Red Hat training course is available for RHEL 8

13장. fapolicyd를 사용하여 애플리케이션 차단 및 허용

규칙 집합에 따라 애플리케이션 실행을 허용하거나 거부하는 정책을 설정 및 적용하면 알 수 없고 잠재적으로 악의적인 소프트웨어가 실행되지 않습니다.

13.1. fapolicyd 소개

fapolicyd 소프트웨어 프레임워크는 사용자 정의 정책을 기반으로 애플리케이션 실행을 제어합니다. 이는 시스템에서 신뢰할 수 없고 잠재적으로 악성 애플리케이션을 실행하는 것을 방지하는 가장 효율적인 방법 중 하나입니다.

fapolicyd 프레임워크는 다음 구성 요소를 제공합니다.

  • fapolicyd 서비스
  • fapolicyd 명령줄 유틸리티
  • fapolicyd RPM 플러그인
  • fapolicyd 규칙 언어
  • fagenrules 스크립트

관리자는 경로, 해시, MIME 유형 또는 신뢰에 따라 감사의 가능성을 사용하여 모든 애플리케이션에 대해 허용거부 실행 규칙을 정의할 수 있습니다.

fapolicyd 프레임워크는 신뢰 개념을 소개합니다. 애플리케이션은 시스템 패키지 관리자가 적절하게 설치할 때 신뢰할 수 있으므로 시스템 RPM 데이터베이스에 등록됩니다. fapolicyd 데몬은 RPM 데이터베이스를 신뢰할 수 있는 바이너리 및 스크립트 목록으로 사용합니다. fapolicyd RPM 플러그인은 YUM 패키지 관리자 또는 RPM 패키지 관리자에서 처리하는 시스템 업데이트를 등록합니다. 플러그인은 이 데이터베이스의 변경 사항에 대해 fapolicyd 데몬에 알립니다. 애플리케이션을 추가하는 다른 방법으로는 사용자 지정 규칙을 생성하고 fapolicyd 서비스를 다시 시작해야 합니다.

fapolicyd 서비스 구성은 다음 구조의 /etc/fapolicyd/ 디렉터리에 있습니다.

  • /etc/fapolicyd/fapolicyd.trust 파일에는 신뢰할 수 있는 파일 목록이 포함되어 있습니다. /etc/fapolicyd/trust.d/ 디렉토리에서 여러 신뢰 파일을 사용할 수도 있습니다.
  • 허용거부 실행 규칙이 포함된 파일의 /etc/fapolicyd/rules.d/ 디렉터리입니다. fagenrules 스크립트는 이러한 구성 요소 규칙 파일을 /etc/fapolicyd/ECDHE.rules 파일에 병합합니다.
  • fapolicyd.conf 파일에는 데몬 구성 옵션이 포함되어 있습니다. 이 파일은 주로 성능 튜닝 목적에 유용합니다.

/etc/fapolicyd/rules.d/ 의 규칙은 여러 파일로 구성되며 각각 다른 정책 목표를 나타냅니다. 해당 파일 이름의 시작 부분에 있는 숫자는 /etc/fapolicyd/ECDHE.rules에서 순서를 결정합니다.

10
언어 규칙.
20
dracut 관련 규칙.
21
업데이트에 대한 규칙입니다.
30
패턴.
40
ELF 규칙입니다.
41
공유 오브젝트 규칙.
42
신뢰할 수 있는 ELF 규칙
70
신뢰할 수 있는 언어 규칙입니다.
72
쉘 규칙.
90
실행 규칙을 거부합니다.
95
열린 규칙을 허용합니다.

fapolicyd 무결성 검사를 위해 다음 방법 중 하나를 사용할 수 있습니다.

  • 파일 크기 검사
  • SHA-256 해시 비교
  • IMA(Integrity Measurement Architecture) 하위 시스템

기본적으로 fapolicyd 는 무결성 검사를 수행하지 않습니다. 파일 크기에 따른 무결성 검사는 빠르지만 공격자는 파일의 내용을 교체하고 바이트 크기를 유지할 수 있습니다. SHA-256 체크섬을 계산하고 확인하는 것은 더 안전하지만 시스템의 성능에 영향을 미칩니다. fapolicyd.confintegrity = ima 옵션은 실행 파일이 포함된 모든 파일 시스템에서 파일 확장 속성( xattr라고도 함)을 지원해야 합니다.

추가 리소스