重新启动对互联网开放的服务器是否安全?

Par*_*hot 30 networking security internet centos boot

具体来说

我在运行 CentOS 的服务器上定义了一个 iptables 规则集。我是否保证/我可以保证/我如何保证当网络上线时(在机器启动时或重新启动网络服务后)iptables 规则集已经应用(如果 iptables 无法启动或未能应用规则集)网络接口将无法出现)?

(我知道这是一个菜鸟问题,但我从来没有在任何东西上运行服务器,除了伪装的 DHCP NAT 和防火墙后面的可信网络,所以......期待菜鸟的菜鸟问题。)

Joh*_*ohn 18

开箱即用,您可以保证 iptables 将在界面按照启动脚本的顺序启动之前启动。查看每个启动脚本中的“chkconfig”行,您将看到它在活动时“开启”的运行级别、启动顺序和停止顺序。

如果 iptables 规则集未正确应用(或根本没有应用),则不能保证界面不会出现。

示例:
chkconfig: 2345 08 92
这一行说明相关服务将在运行级别 2、3、4 和 5 中处于活动状态,并将在 8 处开始并在 92 处停止。具有更大“开始”值的任何内容都将在此脚本完成后启动,但是这个脚本出错被认为是一个完成并且不会阻止下游脚本运行。

请注意,此答案适用于 CentOS 6 及更早版本,不一定适用于 CentOS 7。我个人还没有对 7 进行充分研究以回答 7 的这个问题。

  • 使用 SysV 启动脚本(即 CentOS 6 及更早版本),没有好的方法可以这样做。CentOS 7 随心所欲地执行依赖关系 - 如果 B 依赖于 A 而 A 失败,则 B 不会启动。对于 7,要查看依赖项,请使用 `systemctl list-dependencies --all`(我 30 秒前刚刚查看了手册页)。 (5认同)
  • 修改 init 脚本时要非常小心 - 这样做可能会导致您可能安装的任何入侵检测软件出现错误警报,并且如果 `initscripts` 软件包被更新(例如,勘误版本),修改将被覆盖。我真的不建议这样做。 (5认同)