12.7. 使用 fapolicyd RHEL 系统角色配置防止未知代码的执行
您可以使用 fapolicyd
系统角色,通过运行 Ansible playbook 来防止执行未知代码。
先决条件
- 您已准备好控制节点和受管节点
- 以可在受管主机上运行 playbook 的用户登录到控制节点。
-
用于连接到受管节点的帐户具有
sudo
权限。
流程
创建一个包含以下内容的 playbook 文件,如
~/playbook.yml
:--- - name: Preventing execution of unknown code hosts: all vars: fapolicyd_setup_integrity: sha256 fapolicyd_setup_trust: rpmdb,file fapolicyd_add_trusted_file: - </usr/bin/my-ls> - </opt/third-party/app1> - </opt/third-party/app2> roles: - rhel-system-roles.fapolicyd
您可以使用
linux-system-roles.fapolicyd
RHEL 系统角色的以下变量来进一步自定义保护:fapolicyd_setup_integrity
-
您可以设置以下一种完整性类型:
none
、sha256
和size
。 fapolicyd_setup_trust
-
您可以设置信任文件类型
file
、rpmd
和deb
。 fapolicyd_add_trusted_file
-
您可以列出信任且
fapolicyd
不会阻止其执行的可执行文件。
验证 playbook 语法:
# ansible-playbook ~/playbook.yml --syntax-check
请注意,这个命令只验证语法,不会防止错误但有效的配置。
运行 playbook:
# ansible-playbook ~/playbook.yml
其他资源
-
/usr/share/ansible/roles/rhel-system-roles.fapolicyd/README.md
文件