如何保护实时服务器?
如今,安全性至关重要,但仍然有一些初创公司倾向于忽略它,因为它消耗了额外的时间。如果不是现在,由于系统不安全,初创公司将在扩展的后期阶段面临障碍。在当前勒索软件达到顶峰的时代,为了确保在您的服务器上运行的开放服务不会损害您的系统,让我们看看我们可以遵循的一些步骤来确保这一点。
IP 表
IP 表是命令行防火墙实用程序,它使用规则/策略来允许或阻止流量。首先,检查您的 iptable 配置是否干净。
sudo iptables -L
上面的命令列出了所有当前的 iptable 规则。每次添加后使用此命令以确保您的配置是否干净。
如果您在配置中发现一些问题,可以使用以下命令刷新整个 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
默认策略
您应该确保将默认策略配置为接受传入连接。这可确保您不会被锁定在自己的帐户之外。然后,添加一条规则以将传入连接作为最后一个删除。如果数据包不符合上述丢弃规则的规则,这可确保丢弃连接。因此,确保了与服务器的不需要的连接的安全性。
将默认策略设置为“接受”
sudo iptables -P INPUT ACCEPT
向“DROP”添加规则
sudo iptables -A INPUT -j DROP
从下面提供的屏幕截图中可以看出,这些命令成功执行而没有返回任何语句。
将 iptables 设置为持久化
在永久设置规则之前,先对其进行一次测试以确保在您退出后能够重新登录。完成后,您可以使用以下命令使规则永久化。该命令基本上创建了一个脚本,用于在系统重新启动时加载我们的配置。
sudo apt-get install iptables-persistent
现在,每当您需要向 iptables-persistent 添加更多角色时,都需要使用以下命令进行更新。
sudo invoke-rc.d iptables-persistent save
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 服务器。