.. _landlock: 使用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 作为入门参考。