7.15. 방화벽 잠금 구성
로컬 애플리케이션 또는 서비스는 방화벽 구성이 root
(예: libvirt)로 실행되는 경우 변경할 수 있습니다. 이 기능을 사용하면 관리자가 방화벽 구성을 잠글 수 있으므로 애플리케이션이 없거나 잠금 허용 목록에 추가된 애플리케이션만 방화벽 변경 사항을 요청할 수 있습니다. 기본적으로 잠금 설정이 비활성화됩니다. 활성화된 경우 로컬 애플리케이션 또는 서비스에서 방화벽에 대한 원하지 않는 구성 변경 사항이 없는지 확인할 수 있습니다.
7.15.1. CLI를 사용하여 잠금 구성
명령줄을 사용하여 잠금 기능을 활성화하거나 비활성화할 수 있습니다.
절차
잠금이 활성화되었는지 여부를 쿼리하려면 다음을 수행합니다.
# firewall-cmd --query-lockdown
다음 중 하나를 통해 잠금 구성을 관리합니다.
잠금 활성화:
# firewall-cmd --lockdown-on
잠금 비활성화:
# firewall-cmd --lockdown-off
7.15.2. 잠금 허용 목록 구성 파일 개요
기본 allowlist 구성 파일에는 NetworkManager
컨텍스트 및 libvirt
의 기본 컨텍스트가 포함되어 있습니다. 사용자 ID 0도 목록에 있습니다.
허용 목록 구성 파일은 /etc/firewalld/
디렉터리에 저장됩니다.
<?xml version="1.0" encoding="utf-8"?> <whitelist> <command name="/usr/bin/python3 -s /usr/bin/firewall-config"/> <selinux context="system_u:system_r:NetworkManager_t:s0"/> <selinux context="system_u:system_r:virtd_t:s0-s0:c0.c1023"/> <user id="0"/> </whitelist>
다음은 사용자 ID가 815
인 사용자에 대해 firewall-cmd
유틸리티에 대한 모든 명령을 활성화하는 allowlist 설정 파일의 예입니다.
<?xml version="1.0" encoding="utf-8"?> <whitelist> <command name="/usr/libexec/platform-python -s /bin/firewall-cmd*"/> <selinux context="system_u:system_r:NetworkManager_t:s0"/> <user id="815"/> <user name="user"/> </whitelist>
이 예에서는 사용자 ID와
를 모두 표시하지만 하나의 옵션만 필요합니다. Python은 인터프리터이며 명령줄 앞에 추가됩니다.
사용자 이름
Red Hat Enterprise Linux에서 모든 유틸리티는 /usr
디렉토리에 있으며 /bin/ 디렉토리는 /bin/
/usr/bin/
디렉토리에 sym-linked입니다. 즉, root
로 입력할 때 firewall-cmd
의 경로가 /bin/firewall-cmd
로 확인될 수 있지만/usr/bin/firewall-cmd
를 사용할 수 있습니다. 모든 새 스크립트는 새 위치를 사용해야 합니다. 그러나 root
로 실행되는 스크립트가 /bin/firewall-cmd
경로를 사용하도록 작성된 경우 전통적으로 비root
사용자에게만 사용되는 /usr/bin/firewall-cmd
경로와 더불어 allow 목록에 해당 명령 경로를 추가해야 합니다.
명령의 name 특성 끝에 있는 *
는 이 문자열로 시작하는 모든 명령이 일치함을 의미합니다. *
가 없는 경우 인수를 포함한 절대 명령이 일치해야 합니다.