介绍
你新买的Linux服务器真不错……要是出了什么问题就太可惜了。它可能开箱即用,但在投入生产环境之前,你需要采取以下10个步骤来确保配置安全。这些步骤的具体细节可能因Linux发行版而异,但基本原理适用于所有Linux发行版。通过在新服务器上执行这些步骤,你可以确保它们至少具备抵御最常见网络攻击的基本防护能力。.
1 – 用户配置
首先,如果您的操作系统设置中尚未包含此项,则应更改 root 密码。这看似显而易见,但在典型的服务器设置过程中却常常被忽略。密码长度至少应为 8 个字符,并混合使用大小写字母、数字和符号。此外,如果您要使用本地帐户,则应设置密码策略,明确密码的有效期、锁定时间、历史记录和复杂性要求。在大多数情况下,应完全禁用 root 用户,并为需要提升权限的用户创建具有 sudo 权限的非 root 帐户。.
2 – 网络配置
最基本的配置之一是启用网络连接,即为服务器分配 IP 地址和主机名。对于大多数服务器,建议使用静态 IP 地址,以便客户端始终可以通过同一地址访问资源。如果您的网络使用 VLAN,请考虑服务器部分的隔离程度以及最佳部署位置。如果您未使用 IPv6,请将其关闭。设置主机名、域名和 DNS 服务器信息。为了实现冗余,应使用两个或多个 DNS 服务器,并测试 nslookup 命令以确保名称解析正常工作。.
3 – 包裹管理
您可能正在为特定用途搭建新服务器,因此请安装所有您可能需要的软件包(如果它们不包含在您使用的发行版中)。这些软件包可能包括 PHP、MongoDB、ngnix 等实用工具,或 pear 等支持软件包。同样,为了最大限度地减少服务器资源占用,您应该删除系统上安装的任何额外软件包。所有这些操作都应该通过发行版的软件包管理工具(例如 Yum 或 apt)完成,以便于日后管理。.
4 – 更新安装和配置
在服务器上安装好所需的软件包后,您需要确保所有软件包都是最新版本。这不仅包括您已安装的软件包,还包括内核和默认软件包。除非您需要特定版本,否则为了系统安全,您应该始终使用最新的生产版本。通常,您的软件包管理解决方案会提供最新的受支持版本。如果您的服务器上托管的服务支持自动更新,您还应该在软件包管理工具中设置自动更新。.
5 – NTP 配置
配置服务器使其与 NTP 服务器同步时间。如果您的环境中有内部 NTP 服务器或任何人都可以访问的外部时间服务器,则可以执行此操作。重要的是防止时钟漂移,即服务器时钟与实际时间出现偏差。这会导致许多问题,包括身份验证问题,因为在授予访问权限之前,需要测量服务器与身份验证基础架构之间的时间偏差。这看似简单,但可靠的基础架构至关重要。.
6 – 防火墙和iptables
根据您使用的发行版,iptables 表可能完全锁定,需要您手动开放所需端口。但无论默认配置如何,您都应该检查并确保其设置符合您的需求。请记住始终遵循最小权限原则,仅为服务器上的服务开放必要的端口。如果您的服务器位于专用防火墙之后,请确保仅允许必要的流量通过防火墙。假设您的 iptables/防火墙默认设置较为严格,请不要忘记开放服务器正常运行所需的端口!
7 – 保护 SSH
SSH 是 Linux 发行版的主要远程访问方式,因此必须妥善保护。即使您已禁用 root 账户,也应该禁用其远程 SSH 连接功能,这样即使服务器上的 root 用户出于某种原因被启用,也无法被远程利用。如果您只有一组固定的客户端 IP 地址,还可以将 SSH 限制在特定的 IP 地址范围内。您也可以选择更改默认的 SSH 端口,使其变得难以识别,但实际上,任何想要找到新开放端口的人都可以通过简单的扫描找到它。最后,您可以完全禁用密码验证,并使用基于证书的身份验证,以进一步降低 SSH 被利用的风险。.
8 – 守护进程配置
您已经清理了软件包,但设置正确的程序在重启时自动启动也很重要。请务必关闭所有不需要的守护进程。安全服务器的关键之一是尽可能减少活动资源占用,这样只有应用程序所需的那些攻击面才可能受到攻击。完成这一步后,应尽可能加固剩余的服务,以确保系统的弹性。.
9 – SELinux 和进一步加固
如果您曾经使用过 Red Hat 发行版,您可能对 SELinux 有所了解。SELinux 是一款内核加固工具,可以保护系统免受各种恶意操作的侵害。SELinux 在防止未经授权使用和访问系统资源方面表现出色。但它也很容易导致应用程序崩溃,因此请务必在启用 SELinux 的情况下测试您的配置,并使用日志来确保没有任何合法操作被阻止。此外,您还应该研究如何加固 MySQL 或 Apache 等应用程序,因为它们各自都有一套最佳实践需要遵循。.
10 – 登录
最后,您需要确保已启用所需的日志级别,并且有足够的资源支持。您最终会遇到服务器故障排除的问题,所以现在就创建所需的日志结构,以便快速解决问题。大多数软件都提供可配置的日志,但您需要进行一些尝试和调整,才能找到信息量适中的最佳平衡点。有很多第三方日志工具可以帮助您完成从聚合到可视化的各种操作,但首先应该考虑每个环境的具体需求。然后,您可以找到合适的工具来填充这些需求。.
结果
这些步骤中的每一个都可能需要一些时间才能完成,尤其是在第一次执行时。但是,通过创建初始服务器配置流程,您可以确保环境中新部署的机器具有弹性。如果您的服务器成为攻击目标,未能完成任何步骤都可能造成非常严重的后果。遵循这些步骤并不能保证绝对安全——数据泄露仍然会发生——但它确实能大大增加恶意攻击者入侵的难度,而且入侵也需要一定的技术能力。.









