24장. 커널 무결성 하위 시스템 확장, 사용자 정의 및 문제 해결
커널 무결성 하위 시스템을 확장, 사용자 정의 및 문제 해결하여 다양한 보안 요구 사항 및 운영 환경을 지원합니다.
24.1. IMA 평가에 대한 좋은 참조 값 생성 링크 복사링크가 클립보드에 복사되었습니다!
IMA-appraisal 규칙이 포함된 IMA 정책을 배포하기 전에 이러한 규칙에 의해 관리되는 모든 파일에 security.ima 확장 속성에 저장된 유효한 참조 값이 있는지 확인합니다. 이러한 참조 값이 없으면 IMA에서 시스템이 제대로 부팅되지 않거나 파일에 대한 액세스를 거부할 수 있습니다.
# ima-appraise-file </path/to/file>
24.1.1. 변경할 수 없는 파일에 대한 참조로 IMA 서명 추가 링크 복사링크가 클립보드에 복사되었습니다!
무결성 확인을 지원하기 위해 변경 불가능한 파일에 대해 IMA 서명을 신뢰할 수 있는 참조 값으로 사용합니다. 이 접근 방식은 유효한 서명이 있는 파일에만 액세스하도록 지원하므로 시스템 보안 및 규정 준수가 강화됩니다.
사전 요구 사항
- IMA-appraisal 규칙을 포함하는 IMA 정책을 생성했습니다.
절차
rpm-plugin-ima를 설치합니다.$ sudo dnf install rpm-plugin-ima -yq이렇게 하면 패키지 파일의 패키지 서명이 패키지 설치, 설치 또는 업그레이드 중에 자동으로
security.xattr에 저장됩니다.모든 패키지를 다시 설치합니다.
$ sudo dnf reinstall "*" -y이렇게 하면 모든 패키지에 대해
security.xattr확장 속성이 업데이트됩니다.부팅 시
/etc/keys/ima의 공식 IMA 코드 서명 키가 자동으로 로드되도록 dracut 무결성 모듈을 활성화합니다.$ sudo dracut -f
검증
서명이
security.ima확장 속성에 올바르게 저장되었는지 확인합니다.$ # evmctl ima_verify -k /etc/keys/ima/redhatimarelease-10.der /usr/lib/systemd/systemd keyid d3320449 (from /etc/keys/ima/redhatimarelease-10.der) key 1: d3320449 /etc/keys/ima/redhatimarelease-10.der /usr/lib/systemd/systemd: verification is OK $ # evmctl ima_verify -k /etc/keys/ima/redhatimarelease-10.der /bin/bash keyid d3320449 (from /etc/keys/ima/redhatimarelease-10.der) key 1: d3320449 /etc/keys/ima/redhatimarelease-10.der /bin/bash: verification is OK ...
24.1.2. 변경 가능한 파일에 대한 좋은 참조 값 생성 링크 복사링크가 클립보드에 복사되었습니다!
시간이 지남에 따라 변경될 수 있는 파일의 무결성을 유지하려면 필요에 따라 참조 값을 생성하고 업데이트합니다. 이렇게 하면 시스템이 변경 가능한 파일의 진위 여부를 확인하고 무단 수정을 방지합니다.
사전 요구 사항
- 시스템에 대한 root 권한이 있습니다.
- IMA-appraisal 규칙을 포함하는 IMA 정책을 생성했습니다.
- IMA 평가에 대해 좋은 참조 값을 생성했습니다.
- Secure Boot가 비활성화되어 있습니다.
절차
선택 사항: 선택한 IMA-appraisal 정책을 활성화하거나 사용자 지정 정책만 사용하는 경우에만 이 단계를 건너뜁니다. built-in
ima_policy=appraise_tcb를 예로 들 수 있습니다.# grubby --update-kernel=/boot/vmlinuz-$(uname -r) --args="ima_policy=appraise_tcb"s390x시스템의 경우 다음을 수행합니다.# zipl
ima_appraise=fix커널 명령줄 매개변수를 추가하여 IMA-appraisal 수정 모드를 활성화합니다.# grubby --update-kernel=/boot/vmlinuz-$(uname -r) --args="ima_appraise=fix"s390x시스템의 경우 다음을 수행합니다.# zipl
시스템을 재부팅합니다.
# reboot선택 사항: 사용자 정의 IMA 정책을 로드합니다.
# echo <path_to_your_custom_ima_policy> > /sys/kernel/security/ima/policy전체 시스템의 레이블을 다시 지정합니다.
# find / -fstype xfs -type f -uid 0 -exec head -c 0 '{}' \;ima_appraise=fix커널 명령줄 매개변수를 제거하여 IMA-appraisal 수정 모드를 끕니다.# grubby --update-kernel=/boot/vmlinuz-$(uname -r) --remove-args="ima_appraise=fix"s390x시스템의 경우 다음을 수행합니다.# zipl
- 비활성화된 경우 보안 부팅을 활성화합니다.
추가 리소스