介绍
恶意行为者总是在寻找服务器漏洞。系统管理员和安全人员的职责是确保服务器上的数据安全可靠。通过实施我们的服务器安全提示和最佳实践,最大限度地降低风险并提高您所维护的系统的安全性。
什么是服务器安全?
服务器安全是一组保护服务器免受所有类型威胁的措施,例如DDoS 攻击、暴力攻击以及粗心或恶意的用户。这些措施包括安装和维护防火墙、强制执行强密码和用户身份验证协议、安装防病毒软件以及定期备份以避免数据丢失。
为什么服务器安全很重要?
服务器在业务敏感数据处理和存储中发挥着关键作用。通过服务器安全措施保护服务器免受外部威胁对于维护以下内容至关重要:
- 完整性– 服务器安全性通过防止篡改和意外修改来确保服务器上存储的数据的准确性和完整性。
- 可用性– 安全措施可帮助系统管理员保持服务器及其服务始终可供授权用户使用。
- 保密性– 保护服务器上存储的敏感数据,防止未经授权的用户将数据用于恶意目的。
- 声誉– 安全漏洞可能导致数据丢失或服务中断。这些事件可能会损害公司的声誉并造成财务损失。
- 合规性– 大公司必须遵守特定行业的法规,要求其服务器符合某些安全标准。不满足这些标准通常会导致监管罚款。
确保服务器安全的 21 个技巧
下面列出了 21 个提高服务器安全性的技巧。它包含专门用于互联网连接和用户管理的部分,您可以在这些领域中做最大的努力来提高系统的整体实力。此外,该列表还提供了整个服务器安全领域的其他最佳实践。
安全的服务器连接
1. 建立并使用安全连接
连接到远程服务器时,建立安全的通信通道至关重要。
SSH (安全外壳)协议是建立受保护连接的最佳方式。与以前使用的Telnet不同,SSH 访问会对交换中传输的所有数据进行加密。要使用 SSH 协议进行远程访问,您必须安装 SSH 守护程序和 SSH 客户端来发出命令和管理服务器。
默认情况下,SSH 使用端口 22。更改默认端口号是减少黑客攻击服务器机会的简单方法。因此,SSH 的最佳实践是使用 1024 到 32,767 之间的随机端口号。
2. 使用 SSH 密钥身份验证
您可以使用一对 SSH 密钥来验证 SSH 服务器,而不是使用密码,这是传统登录的更好替代方案。密钥携带的位数比密码多得多,当前的计算机无法轻易破解它们。例如,流行的RSA 2048位加密相当于617位密码。
SSH 密钥对由公钥和私钥组成。
公钥有多个副本,其中一份保留在服务器上,而其他副本则与用户共享。任何拥有公钥的人都可以加密数据,而只有拥有相应私钥的用户才能读取该数据。
私钥不得与任何人共享,并且必须妥善保管。建立连接时,服务器在允许特权访问之前会要求用户提供拥有私钥的证据。
3. 安全文件传输协议
使用安全文件传输协议 (FTPS)有助于将文件传输到服务器或从服务器传输文件,而不会受到恶意行为者损害或窃取数据的危险。
FTPS 使用命令和数据通道来加密数据文件和身份验证信息。但是,请务必记住,FTPS 仅在传输过程中保护文件。一旦到达服务器,数据就不再加密。因此,在发送文件之前对其进行加密会增加另一层安全性。
4. 安全套接字层证书
使用安全套接字层 (SSL)保护您的 Web 管理区域和表单,该层可保护通过互联网在两个系统之间传递的信息。SSL 既可用于服务器-客户端通信,也可用于服务器-服务器通信。
该程序对数据进行加密,以便敏感信息(例如姓名、ID、信用卡号和其他个人信息)在传输过程中不会被窃取。拥有SSL 证书的网站的URL 中带有 HTTP S ,表明它们是安全的。
证书不仅可以加密数据,还可以用于用户身份验证。因此,通过管理服务器的证书,SSL 有助于建立用户权限。管理员可以将服务器配置为与集中机构以及该机构签署的任何其他证书进行通信。
5.使用专用网络和VPN
确保安全通信的另一种方法是使用专用和虚拟专用网络 (VPN) 以及 OpenVPN 等软件(请参阅我们有关在 CentOS 上安装和配置 OpenVPN 的指南)。与外部世界可以访问并因此容易受到恶意用户攻击的开放网络不同,私有和虚拟专用网络限制对选定用户的访问。
私有网络使用私有IP在同一IP范围内的服务器之间建立隔离的通信通道。这允许同一网络中的多个服务器交换信息和数据,而无需暴露在公共空间中。
当您想要像通过专用网络在本地连接一样连接到远程服务器时,请使用 VPN。VPN 可实现完全安全且私密的连接,并且可以包含多个远程服务器。为了让服务器在同一 VPN 下进行通信,它们必须共享安全和配置数据。
服务器用户管理
6. 监控登录尝试
使用入侵防御软件监控登录尝试是保护服务器免受暴力攻击的一种方法。这些自动攻击使用试错法,尝试每种可能的字母和数字组合来获得对系统的访问权限。
入侵防御软件监视所有日志文件并检测是否存在可疑的登录尝试。当尝试次数超过设定标准时,入侵防御软件会在一段时间内或无限期地阻止该 IP 地址。
7. 管理用户
每个服务器都有一个可以执行任何命令的 root 用户。由于它具有访问级别,如果服务器落入坏人之手,根目录可能会很危险。完全禁用 SSH 的 root 登录是一种普遍的做法。
由于root用户拥有最大的权力,因此黑客将注意力集中在试图破解root密码上。当您完全禁用此用户时,您将使攻击者处于不利地位并保护服务器免受潜在威胁。
为了确保外部人员不会滥用 root 权限,请创建一个受限用户帐户。该帐户没有与 root 相同的权限,但可以使用sudo 命令执行管理任务。
因此,您可以使用有限的用户帐户管理大多数任务,并仅在必要时使用 root 帐户。
服务器密码安全
8. 建立密码要求
首先是设置所有服务器用户必须遵循的密码要求和规则。遵循以下基本规则:
- 不允许使用空密码或默认密码。
- 强制执行最小密码长度和复杂性。
- 制定锁定政策。
- 不要使用可逆加密来存储密码。
- 强制不活动会话超时并启用双因素身份验证。
9. 设置密码过期策略
设置密码的到期日期是建立用户要求时的另一种常规做法。根据所需的安全级别,密码可能会持续几周或几个月。
10.使用密码短语作为服务器密码
使用密码而不是密码可以帮助提高服务器安全性。主要区别在于密码较长并且单词之间包含空格。因此,它通常是一个句子,但不一定是一个句子。
例如,密码短语可能是:Ilove!EatingPizzaAt1676MainSt。
给定的示例比通常的密码长,并且包含大小写字母、数字和唯一字符。此外,记住密码比记住一串随机字母要容易得多。最后,由于它由49个字符组成,因此破解起来更加困难。
11. 密码禁忌
如果您想维护安全的服务器,那么在密码方面您需要避免一些事情。请注意存储密码的位置。不要将它们写在纸上并将其保留在办公室中。
建议不要使用您的生日、家乡、宠物名和其他可以将您与密码联系起来的个人信息。这些非常容易猜到,尤其是认识您的人。
仅包含简单字典单词的密码也很容易被破解,尤其是字典(暴力)攻击。此外,尽量避免同一密码中出现重复的字符序列。
最后,不要对多个帐户使用相同的密码。重复使用密码会让您自己面临巨大的风险。如果黑客设法访问单个帐户,则具有相同密码的所有其他帐户都可能面临危险。
尝试为每个帐户使用不同的密码,并使用KeePass 等密码管理器跟踪它们。
保护服务器安全的其他最佳实践
12.定期更新和升级软件
定期更新服务器上的软件对于确保服务器免受黑客攻击至关重要。过时的软件已经暴露出其弱点,让黑客可以利用并损害您的系统。
自动更新是保证您不会跳过重要更新的一种方法。然而,允许系统进行自动更改可能存在风险。在更新生产环境之前,最好检查更新在测试环境中的执行情况。
确保定期更新服务器控制面板。您还需要定期更新您的内容管理系统(如果您使用它)及其可能具有的任何插件。每个新版本都包含用于修复已知安全问题的安全补丁。
13.删除或关闭所有不必要的服务
通过减少所谓的攻击媒介来提高服务器安全性。这个网络安全术语指的是仅安装和维护保持服务运行所需的最低要求。仅启用服务器操作系统和已安装组件使用的网络端口。系统上的资源越少越好。
Windows 操作系统服务器应仅具有所需的操作系统组件。Linux 操作系统服务器应该进行最小化安装,仅安装必要的软件包。
由于大多数 Linux 发行版都会侦听 Internet 上的传入连接,因此请将防火墙配置为仅允许特定端口并拒绝所有其他不必要的通信。
在系统上安装软件之前检查依赖关系,以确保没有添加任何不需要的内容。此外,检查系统上自动启动的依赖项以及您是否需要它们。
14.隐藏服务器信息
旨在提供尽可能少的有关底层基础设施的信息。对您的服务器了解得越少越好。
此外,隐藏服务器上安装的任何软件的版本号也是一个好主意。版本指示器通常会显示确切的发布日期,这有助于黑客寻找弱点。
15.使用入侵检测系统
要检测未经授权的活动,请使用入侵检测系统 (IDS),例如 Sophos,它可以监视服务器上运行的进程。您可以将其设置为检查日常操作、运行自动定期扫描或决定手动运行 IDS。
16. 文件审核
文件审核是发现系统上不需要的更改的另一种有效方法。
该方法记录系统处于健康状态时的所有特征,并将其与当前状态进行比较。通过并排比较同一系统的两个版本,您可以检测所有不一致之处并跟踪其根源。
17. 服务审计
服务审核探索服务器上运行的服务、它们的协议以及它们通信所通过的端口。了解这些细节有助于为系统中的攻击面配置有效的保护。
18. 设置和维护防火墙
通过控制和限制对系统的访问来保护您的服务器。
使用 CSF(配置服务器和防火墙)对于加强服务器的安全性至关重要。它只允许特定的重要连接并锁定对其他服务的访问。
在初始服务器设置期间或更改服务器服务时设置防火墙。默认情况下,典型的服务器运行多个公共、私有和内部服务。
- 公共服务通常在需要允许访问网站的 Web 服务器上运行。任何人都可以通过互联网访问这些服务。
- 例如,在处理数据库控制面板时会使用私有服务。在这种情况下,许多选定的用户可以访问同一点。他们在服务器上拥有具有特殊权限的授权帐户。
- 内部服务永远不应该暴露给互联网或外部世界。它们只能从服务器内部访问,并且只接受本地连接。
防火墙的作用是根据用户被授权的服务来允许、限制和过滤访问。配置防火墙以限制除服务器必需的服务之外的所有服务。
19. 备份您的服务器
尽管前面提到的步骤旨在保护您的服务器数据,但对系统进行备份至关重要,以防出现问题。
将关键数据的加密备份存储在异地或使用云数据备份和恢复解决方案。
无论您有自动备份作业还是手动执行备份作业,请确保定期执行此预防措施。此外,您应该执行全面的备份测试。这包括“健全性检查”,管理员或最终用户验证数据恢复是否一致。
20. 创建多服务器环境
隔离是您可以拥有的最佳服务器保护类型之一。
完全分离需要拥有不与其他服务器共享任何资源的专用裸机服务器。虽然这种方法提供了最大的安全性,但它也是最昂贵的。
在数据中心中拥有隔离的执行环境可以实现所谓的职责分离 (SoD),并根据服务器履行的功能设置服务器配置。
将数据库服务器和 Web 应用程序服务器分开是标准的安全实践。单独的执行环境对于无法承受任何安全漏洞的大型企业尤其有利。
独立的数据库服务器可保护敏感信息和系统文件,防止黑客设法访问管理帐户。此外,隔离还允许系统管理员单独配置 Web 应用程序安全性并最大限度地减少攻击面。
21.创建虚拟隔离环境
如果您负担不起或不需要专用服务器组件的完全隔离,您也可以选择隔离执行环境。
这样做可以帮助您处理安全问题,同时确保其他数据不会受到损害。您可以选择更容易设置的容器或虚拟机虚拟化。
UNIX 操作系统中虚拟化环境的另一个选择是创建 chroot Jails。Chroot 将进程与中央操作系统的根目录分开,并允许其仅访问其目录树中的文件。然而,这并不是完全隔离,只能与其他安全措施一起实施。
结论
阅读本文并遵循安全建议后,您应该对服务器的安全性更有信心。
其中许多安全措施应在初始服务器设置期间实施,而其他措施则应作为持续或定期维护的一部分。如果您的服务器监控不是自动化的,请确保设计并遵循计划的安全检查。
本文由 @夜归人 发布于弱电智能网 。
题图来自Unsplash,基于CC0协议
内容观点仅代表作者本人,弱电智能网平台仅提供信息存储空间服务。
如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
文章名称:《确保服务器安全的 21 个服务器安全提示》
文章链接:https://www.ruodian360.com/tech/sytemops/48177.html
添加微信ydian188免费入群,记得备注“弱电智能网”。