在线业务的趋势与日俱增,方便用户通过在线支付无需访问银行即可在家门口购买服务或产品。保护数据是最重要的,因为黑客正在积极尝试破坏机密和私人信息。在本文中,您将了解服务器配置以及保护服务器机器的不同方法。
在将服务器投入生产环境之前,您只需按照这 10 个步骤安全地设置服务器。以下细节可能因发行版而异,但相同的概念可用于任何风格的 Linux。一旦您完成了所有这些服务器配置,这意味着您已经添加了针对常见攻击的基本保护。
服务器配置的快速概述以及如何主动配置。
什么 | 如何 |
用户配置 | 更改根密码 |
网络配置 | 为您的服务器分配静态 IP 和主机名 |
包管理 | 安装不属于发行版的软件包 |
更新安装和配置 | 更新内核和软件包 |
NTP 配置 | 防止时钟漂移 |
防火墙和 iptables | 只打开服务所需的那些端口 |
保护 SSH | 禁用 root 远程 SSH 的能力并严格某些 IP 地址 |
守护程序配置 | 关闭任何你不需要的守护进程 |
SELinux 和进一步强化 | 防止未经授权的使用和资源访问 |
日志记录 | 构建日志结构并快速解决您的问题 |
1. 用户配置
在服务器配置中执行任何其他操作之前,更改 root 密码是您需要做的基本事情。尝试使用数字、符号、大小写字母组合的复杂密码。通过设置密码策略来防止黑客攻击,该策略指定使用本地帐户的历史记录、锁定和复杂性要求,并确保您的密码长度至少为 8 个字符。完全禁用 root 用户,并为需要提升权限的用户创建其他具有 sudo 访问权限的非特权帐户。
2. 网络配置
您需要通过分配 IP 地址和主机名来启用可能的网络连接。网络服务器必须分配静态 IP 地址,以便用户始终可以在同一地址找到该网络资源。如果是 VLAN(虚拟局域网),请考虑基本的事情,包括服务器网段的隔离程度以及它更适合的位置。如果您不使用 IPV6,则无需将其打开。设置任何主机名、域(如果没有则注册任何域名)和 DNS 服务器的信息。此外,可以使用多个DNS 服务器进行冗余,并通过测试 nslookup 来检查解析是否正常工作。
3. 包管理
设置服务器可能有任何特定目的,因此请确保您已安装发行版中未包含的所需软件包。有不同的最广泛使用的应用程序包,包括 PHP、NGINX、MongoDB 和其他支持包,例如 pear。请记住,删除额外的包以缩小服务器占用空间,因为您不需要保留它们以供进一步使用。在不久的将来,如果您需要获得他们的特定服务,那么您只需转到您的发行版的包管理解决方案即可轻松地再次安装它们。
4.更新安装和配置
现在,您已经在服务器上安装了所需的软件包,但请确保所有软件包都已更新。还必须使内核和默认软件包保持最新。如果您需要旧版本,则可以使用,但出于安全目的,我建议您使用最新版本。包管理器将提供有关最新支持版本的信息以及自动更新选项。
5.NTP配置
服务器设置或服务器配置一旦在所需安全级别的帮助下正确完成,将帮助您以最小的风险因素让您高枕无忧。NTP 服务器可以是可供所有人使用的内部或外部时间服务器。为什么防止时钟漂移更重要,因为它可能会导致很多问题,例如身份验证问题,因为在授予访问权限之前测量计算机(服务器)和身份验证基础设施之间的时间偏差。因此,必须防止时钟偏差问题才能正常工作。
6. 防火墙和 iptables
在这个数字世界中,必须实施所需的安全级别。一旦被黑客入侵,就不可能再次获得客户的信任并再次稳定业务。根据分发类型,iptables 可能被锁定或要求您打开所需的内容,但不要将其保留为默认值。根据您的特定需要更改服务器的配置,并始终使用最小权限原则。只打开那些对于不同服务的工作高度需要和强制的端口。这是使用服务器后面的专用防火墙并确保您的 iptables/firewall 默认为限制性的好方法。
7. 保护 SSH
它与 Windows 操作系统中使用的命令行界面相同。SSH 是 Linux 发行版的访问方法,用于执行管理级别的操作。禁用 root 远程 SSH 的能力,这样如果在服务器计算机上启用了 root,那么它将无法远程利用。
此外,如果您有一组固定的用户或客户端 IP 与您的服务器连接,您还有另一个选项来限制某些 IP 地址。您可以选择更改您的默认 SSH 端口号,但它并不像您想象的那么安全,因为简单的扫描可以显示您的开放端口想要执行任何非法或黑客活动。服务器配置并不像您想象的那么困难,它需要注意细节以获得最高级别的安全性。您应该实施基于证书的身份验证并禁用密码身份验证,以减少 SSH 被利用的机会。
8. 守护程序配置
现在,您已经配置了服务器,但还需要实施一些事情以提高安全性。设置正确的应用程序以在重新启动时自动启动并关闭不使用的守护程序。这是一种减少活动足迹的主动方法,以便只有应用程序所需的表面区域可用于攻击。完成此任务后,尽量加固其他剩余服务,享受最高级别的安全性和弹性。
9. SELinux 和进一步强化
SELinux(Security-Enhanced Linux)是一种内核强化工具或安全架构,用于保护服务器机器免受不同操作的影响,并允许管理员更好地控制谁可以访问。换句话说,SELinux 是为了确保 SELinux 是否启用,您可以运行 sestatus。如果您收到一条提示您受到 SELinux 保护的消息的状态。如果您收到许可消息,则表示 SELinux 已启用,但并未保护您,“禁用”表示您已完全禁用。
基于 Linux 的发行版上的 MAC(强制访问控制)。它是一个很好的工具,用于保护对系统资源的未经授权的访问。建议在启用 SELinux 的帮助下测试您的配置,以便您可以确保在日志的帮助下没有阻止任何合法的东西。您还可以检查强化其他应用程序(如 MySQL、Apache 等)的不同方法。
10. 记录
在最后阶段,确保您所需的日志记录级别已启用或未启用,并且您有足够的资源。如果你已经建立了一个日志结构,那么在短时间内解决问题对你来说会更有用。现在,对服务器进行故障排除以获取更多信息或转到具有可配置日志结构的软件以了解数据不足和信息过多之间的平衡。此外,还有第三方工具可帮助您从聚合到可视化,但必须了解每个环境的需求。然后,您可以选择正确的工具或工具集来正确填充它们。
最后的话
最重要的是,如果您的服务器是攻击的目标,则未能采取这些服务器配置步骤可能会更加危险。如果您遵循所有这些步骤,这并不能保证安全,但它确实使恶意行为者的过程变得困难或耗时,并且需要更高水平的技能来克服。数据泄露发生,因此您可以了解所有防止数据泄露的事情,并且不会留下任何漏洞为黑客提供机会。