.. _landlock:
14.2. 使用Landlock LSM¶
Landlock是Linux 5.13版本引入的Linux安全模块。它允许应用程序通过默认拒绝策略选择目录访问权限,实现自我沙箱化。
鉴于其特性,Suricata明确知晓自身需要读取和写入文件的位置。因此可以实现高效的Landlock沙箱策略。
Landlock默认不启用,需要在YAML配置中激活。配置会提供合理的默认值(在构建时定义),命令行选项则用于动态添加权限。
请注意Landlock默认处于阻塞模式,生产环境需谨慎测试。
启用Landlock时,编辑YAML将 enabled
设为 yes
:
landlock:
enabled: yes
directories:
write:
- /var/log/suricata/
- /var/run/
read:
- /usr/
- /etc/
- /etc/suricata/
根据运行配置,您可能需要添加某些目录。可使用两个列表:write
添加需要写入权限的目录,read
添加需要读取权限的目录。
某些发行版中Landlock未激活,您可能需要在启动时通过向Linux命令行添加 lsm=landock
来启用。例如在至少使用linux 5.13的Debian发行版上,可编辑 /etc/default/grub
并更新 GRUB_CMDLINE_LINUX_DEFAULT
选项:
GRUB_CMDLINE_LINUX_DEFAULT="quiet lsm=landlock"
然后执行 sudo update-grub
并重启。
可通过以下命令检查启动时是否运行:
sudo dmesg | grep landlock || journalctl -kg landlock
如需了解更多Landlock信息,可访问 https://docs.kernel.org/userspace-api/landlock.html 作为入门参考。