tut*_*did 7 security linux ubuntu sysctl
使用 Lubuntu 18.10 宇宙墨鱼
大多数命令都会坚持下去。然而,Lynis 多次证明了四个 sysctl 参数在重新启动时不会保留。sysctl -p 在系统启动后成功应用它们。
fs.suid_dumpable=0 (still haven't figured this out)
net.ipv4.conf.all.rp_filter=1 (Wireguard VPN overruled this; see source 1 below)
net.ipv4.conf.all.log_martians=1 (/etc/ufw/sysctl.conf overruled this)
net.ipv4.conf.default.log_martians=1 (/etc/ufw/sysctl.conf overruled this)
Run Code Online (Sandbox Code Playgroud)
我最关心的是net.ipv4.conf.all.rp_filter,它应该设置为 1,但设置为 0...使机器容易受到 ip 欺骗。如何确保这些在启动时设置正确?注意更新:此功能会被 Wireguard(可能是 openvpn/其他)等 VPN 自动禁用,因此不会丢弃合法数据包,有关详细信息,请参阅上面的源代码。禁用 Wireguard VPN sysctl boot 命令会导致 fp_filter=1 按预期工作,可能会导致 Wireguard 出现问题。Lynis 误报,我将禁用此功能。警告在启动后禁用 Wireguard 不会(到目前为止)将其恢复到安全设置。sysctl -p必需的。
所有 sysctl.conf 文件的位置find / -name '*sysctl*.conf'
/usr/share/doc/procps/examples/sysctl.conf
/snap/core/6405/etc/sysctl.conf
/snap/core/6405/etc/sysctl.d/99-sysctl.conf
/snap/core18/719/etc/sysctl.d/99-sysctl.conf
/etc/sysctl.conf
/etc/ufw/sysctl.conf
/etc/sysctl.d/99-sysctl.conf
Run Code Online (Sandbox Code Playgroud)
如果您的系统使用 systemd systemd-sysctl.service,而不是sysctl在启动时进行设置,那么情况会与sysctl.
systemd-sysctl对所有配置文件名进行排序,忽略目录名,然后按该顺序加载它们,而不管它们所在的目录。这意味着,如果您将设置放入/etc/sysctl.d/10-mysysctl.conf并且有另一个名为/usr/lib/sysctl.d/50-default.conf设置相同变量的文件,那么将覆盖您的设置。
为了确保您的设置不被覆盖,您应该将其放入名称类似于/etc/sysctl.d/zzz-mysysctl.conf.
注意:此行为已在 Ubuntu 20.04.1 和 openSUSE Leap 15.2 上测试
/etc/sysctl.d/local.conf创建一个包含所需值的文件。
fs.suid_dumpable=0
net.ipv4.conf.all.log_martians=1
net.ipv4.conf.all.rp_filter=1
net.ipv4.conf.default.log_martians=1
Run Code Online (Sandbox Code Playgroud)
重启。
这些脚本按文件名排序顺序从多个目录加载任何 *.conf 文件。有关搜索路径,请参阅手册页中的 sysctl --system 选项。
特别是,检查 中是否尚未定义任何值/etc/sysctl.conf。考虑将要保留的值从其中移至sysctl.d,然后删除该文件。
| 归档时间: |
|
| 查看次数: |
17321 次 |
| 最近记录: |