📜  如何保护实时服务器?

📅  最后修改于: 2022-05-13 01:57:03.847000             🧑  作者: Mango

如何保护实时服务器?

如今,安全性至关重要,但仍然有一些初创公司倾向于忽略它,因为它消耗了额外的时间。如果不是现在,由于系统不安全,初创公司将在扩展的后期阶段面临障碍。在当前勒索软件达到顶峰的时代,为了确保在您的服务器上运行的开放服务不会损害您的系统,让我们看看我们可以遵循的一些步骤来确保这一点。

IP 表

IP 表是命令行防火墙实用程序,它使用规则/策略来允许或阻止流量。首先,检查您的 iptable 配置是否干净。

sudo iptables -L

上面的命令列出了所有当前的 iptable 规则。每次添加后使用此命令以确保您的配置是否干净。

清理 iptables 配置

如果您在配置中发现一些问题,可以使用以下命令刷新整个 iptable 并重新开始。刷新 iptable 后,您的系统很容易受到攻击。确保使用其他方法保护它。

sudo iptables -F

插入规则

出于以下目的插入规则以保护服务器。

  • 插入规则以允许本地主机连接工作的环回连接。
  • 插入规则以允许来自已建立连接的传入连接。
  • 允许端口 80 上的 HTTP、443 上的 HTTPS 和 22 上的 SSH 的规则。

让我们添加一个规则以允许使用下面的命令继续建立连接,然后您可以检查该规则是否使用与以前相同的 sudo iptables -L 添加。为此,请在终端中输入以下命令。

sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
sudo iptables -L

插入 iptables 规则

默认策略

您应该确保将默认策略配置为接受传入连接。这可确保您不会被锁定在自己的帐户之外。然后,添加一条规则以将传入连接作为最后一个删除。如果数据包不符合上述丢弃规则的规则,这可确保丢弃连接。因此,确保了与服务器的不需要的连接的安全性。

默认策略设置为“接受”

sudo iptables -P INPUT ACCEPT

“DROP”添加规则

sudo iptables -A INPUT -j DROP

从下面提供的屏幕截图中可以看出,这些命令成功执行而没有返回任何语句。

插入丢弃和接受规则 iptables

将 iptables 设置为持久化

在永久设置规则之前,先对其进行一次测试以确保在您退出后能够重新登录。完成后,您可以使用以下命令使规则永久化。该命令基本上创建了一个脚本,用于在系统重新启动时加载我们的配置。

sudo apt-get install iptables-persistent

安装 iptables-persistent linux

现在,每当您需要向 iptables-persistent 添加更多角色时,都需要使用以下命令进行更新。

sudo invoke-rc.d iptables-persistent save

将角色更新为 iptables-persistent

IPV6

上述规则适用于 IPV4,添加 IPV6 的规则在命令语句中略有不同。与 IPV4 相比,IPV6 的采用仍然不多,如果保持开放,它可能会被利用。因此,让我们为其添加一个默认策略并使其永久化。您可以按照下面提到的命令,

sudo ip6tables -L
sudo ip6tables -P INPUT DROP
sudo invoke-rc.d iptables-persistent save

IPV6 的命令仅在关键字 'ip6tables' wrt IPV4 上有所不同。

服务器是否已启动

我们允许所有重要的协议与我们的服务器建立连接。但是如果你现在尝试 ping 服务器,它会因为我们最后添加的规则而丢失。因此,我们需要同样允许 ICMP。此外,我们希望删除规则是最后定义的规则。因此,我们需要将此规则添加到 DROP 规则之上。为了达到同样的目的,您可以按照以下命令进行操作。

获取所有规则的行号

sudo iptables -L --line-numbers

获取所有规则的行号

sudo iptables -I INPUT [Drop_rule_line_number] -p icmp --icmp-type echo-request -j ACCEPT

该规则将被添加到第 1 行,并且 DROP 规则在 1 将被向下移动

将规则添加到一行并移动它

现在它允许我们再次 ping 服务器。