nsswitch.conf 和 sysctl.conf 的强化

nsswitch.conf 和 sysctl.conf 的强化

我在某处读到(我忘了在哪里),如果我想强化我的linux,就应该设置以下内容,在我的例子中是Ubuntu 18.04。

但是,使用这些值不知何故导致我的 nginx 出现 504 网关超时,该 nginx 用作我的 asp.net core 应用程序的反向代理。

我没有Linux背景,我所做的只是复制粘贴。所以,我不知道设置这些值意味着什么。

我是否设置了错误的值?

/etc/nsswitch.conf

passwd:files
shadow:files
group:files
hosts:dns files
bootparams:files
ethers:files
netmasks:files
networks:files
protocols:files
rpc:files
services:files
automount:files
aliases:files

/etc/sysctl.conf

net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.all.rp_filter = 1
net.ipv4.tcp_syncookies = 1
net.ipv4.ip_forward = 0
net.ipv4.conf.all.accept_redirects = 0
net.ipv6.conf.all.accept_redirects = 0
net.ipv4.conf.all.secure_redirects = 0
net.ipv4.conf.all.send_redirects = 0
net.ipv6.conf.all.accept_source_route = 0
net.ipv4.conf.all.log_martians = 1
kernel.sysrq=0

答案1

交换机配置文件
所有这些设置都是files,这意味着所有内容都存储在本地计算机上。
例如:passwd:files-- 所有登录帐户都存储在 /etc/passwd 中。没有外部用户身份验证(在 Windows 上,这可能是 AD)、LDAP、Kerberos 等。
如果这是您所期望的,那么这些设置是正确的。
它们可能不会导致您的网关问题。


系统配置文件 rp_filter 设置最有可能导致您的问题。表示反向路径过滤。禁用 rp_filteringrp_filter的设置。1

它用作我的 asp.net core 应用程序的反向代理。

将此值设置为 0,然后重试。
0 = 全部允许
1 = 全部禁止
2 = 只允许来自我知道的网络(即阻止“外部”网络,例如互联网)。并非所有操作系统都支持此功能
什么是 RP 过滤
本文展示了一些 echo 命令。这些是临时更改,在您重新启动计算机之前将一直有效。这样,您就可以测试新设置,而无需一直重新启动。一旦找到有效的设置,您可以将它们放入 sysctl.conf 中。

ip_forwarding 也可能给您带来问题。也尝试重置该值。

这里有一些信息系统配置文件

如果您不使用 ipv6,则可以保留这些设置。

请记住,强化系统通常会破坏它。您需要调整计算机的使用设置。正如这里的情况,RP 过滤已被禁用,而实际上,这台计算机需要它。

相关内容