1996 年引入的cPanel简化了 Linux 托管管理,近 30 年后它仍然是网站所有者和托管商的最爱。Linux 操作系统的变化、额外的发行版、新的攻击媒介和发现的漏洞迫使 cPanel 开发人员频繁发布安全补丁。cPanel软件经历了多次版本更新,每次更改都会增加复杂性。增加的复杂性使黑客更有可能发现漏洞,但您的企业可以通过遵循这些最佳实践来降低风险,以避免成为漏洞利用的受害者。本文介绍了有关如何保护您的 cPanel 帐户的提示和技巧。
更多阅读:hPanel与cPanel:如何选择适合自己的控制面板
如何保护我的cPanel?
目录
1. 安全 SSH
SSH 允许远程用户访问命令和操作系统执行 一个不安全的网络。管理员拥有 SSH 访问权限的情况并不少见,但并非您组织中的每个用户都应该拥有 SSH 访问权限。在某些情况下,您可以完全关闭 SSH 以提高安全性。
如果您需要在服务器上运行 SSH,这里有一些加强安全性的技巧:
- 使用 WebHost Manager (WHM) 为 root 用户创建 SSH 密钥,并在 WHM 密码授权调整界面中禁用 SSH 的密码验证。
- 禁用目录列表,以便攻击者无法看到存储在每个文件夹中的文件列表。否则攻击者可以发现未知的可公开访问的文件,或使用文件信息发起其他攻击。要禁用目录列表,请更改/etc/httpd/conf/httpd.conf文件中的以下行。在/etc/ssh/sshd_config文件中,更改 SSH 端口、协议、ListenAddress 和 PermitRootLogin 的设置。该cPanel的网站有,你应该对这些设置使用建议值的列表。您也可以远离标准端口 22 并使用替代端口。
2. 保护 Apache
Apache 是 Linux 网络托管的核心。自 1999 年问世以来,它一直是最受欢迎的开源 Web 服务器应用程序。与任何其他服务器软件一样,Apache 应始终在新版本发布时进行更新和修补,但遵循通用的安全加固标准将降低被入侵的风险。也可以使用EasyApache来管理安装、更新和配置。
- 禁用目录列表,以便攻击者无法看到存储在每个文件夹中的文件列表。否则攻击者可以发现未知的可公开访问的文件,或使用文件信息发起其他攻击。要禁用目录列表,请更改 /etc/httpd/conf/httpd.conf
- 文件中的以下行:
Options Indexes FollowSymLinks
对以下内容:
Options FollowSymLinks
更改文件后,您必须重新启动 Apache。
- 禁用可能打开漏洞并增加攻击面的不必要模块。
- 禁用服务器信息。攻击者使用服务器版本信息来识别漏洞并进行攻击。要配置此设置,请打开 WHM,然后转到:
服务配置 → Apache 配置 → 全局配置文档
在此设置窗口中,禁用签名、外转、令牌、跟踪并启用符号链接保护。
更多阅读:服务器运行环境怎么快速搭建?
3. 强化你的操作系统
主机的核心是操作系统,因此应该对其进行配置以抵御任何攻击。没有一种策略是 100% 无风险的,但正确的操作系统配置可大大降低系统受损的风险。攻击操作系统将允许攻击者窃取密钥、数据、安装恶意软件并接管服务器的操作。您可以使用一些适用于您的服务器的操作系统最佳实践来避免严重的网络安全事件。
- 始终使您的服务器操作系统保持最新,尤其是在供应商发布安全补丁之后。注意: yum update 是 cPanel 上的默认设置。
- 禁用 sshd 的密码验证。
- 仅打开客户端连接所需的端口。
- 禁用托管或服务器功能(即蓝牙服务)不需要的应用程序。
- 定期查看日志以检测其他入侵检测系统可能无法检测到的任何异常情况。
- 不用说,但您应该经常备份您的服务器。如果网络安全事件危及操作系统,则可以使用备份来恢复它。只需确保备份不包含任何恶意软件并确保您包含事件。您还应该了解出了什么问题,以便可以修复漏洞。
4. 强化 TMP 分区
当应用程序安装或需要存储临时文件时,它使用 tmp 目录。此目录用于临时存储并被某些应用程序用于创建锁定文件。该目录下的文件可以被系统使用,系统重启后将被删除。如果攻击者可以破坏服务器并运行应用程序,则该应用程序可能会将恶意文件存储在 tmp 目录中。锁定 tmp 文件夹可阻止攻击者在此目录中存储或执行文件。您可以使用多种方法配置 Linux 操作系统以加强此文件夹的安全性。
- 为 tmp 目录创建一个单独的分区。
- 将 tmp 分区更改为不可执行 ( chmod 1777 /tmp )。
- cPanel 应用程序有一个自定义脚本,可以加强 tmp 分区的安全性(/usr/local/cpanel/scripts/securetmp).
要完全保护 tmp 分区,请使用以下脚本示例:
/usr/local/cpanel/scripts/securetmp –help
/usr/local/cpanel/scripts/securetmp – secure /tmp and /var/tmp
选项:
– 自动:跳过交互式定制问题
– 安装:安装并启用securetmp服务
– 卸载:禁用和卸载 securetmp 服务
– daemonize:在后台运行securetmp(默认为true)
Sample usages:
# run in interactive mode
> /usr/local/cpanel/scripts/securetmp
# disable interactive mode, run in background
> /usr/local/cpanel/scripts/securetmp –auto
# disable interactive mode, do not run in background
> /usr/local/cpanel/scripts/securetmp –auto –nodaemonize
5. 限制系统编译器
在计算中,编译器是一种计算机程序,它将用一种编程语言编写的计算机代码翻译成二进制文件。在服务器上留下编译器(例如 gcc)使攻击者能够编译他们自己的脚本,如果他们在入侵过程中获得有限的 shell。本质上,攻击者可以上传自己的恶意代码并在服务器上运行。如果是零日攻击,防病毒软件不太可能捕获它。Web 托管服务器也不需要编译器,除非它在独特且罕见的情况下托管应用程序。出于网络安全目的,应删除或限制编译器。如果您不能完全删除编译器,则应仅限制对 root 用户的访问。
您可以使用 WHM 禁用编译器。Compilers Tweak 选项设置将允许您为任何非特权用户禁用编译器。Compiler Tweak 设置位于 WHM 的安全中心。
6. 持续监控系统
Web 服务器上的任何错误都可能导致用户停机,包括 cPanel 用户。一台 Web 服务器可能会导致数百个客户站点崩溃,因此客户始终可以访问 cPanel 至关重要。监控涉及观察系统的多个组件,包括用户活动、应用程序活动、性能和网络连接。查看监控报告是管理员的责任,但一个好的工具应该在检测到异常时提醒管理员。
您可以拥有一个或多个用于服务器监控的工具,但它们必须针对 Web 服务器上的正确组件。监控也是合规性的要求,因此对于大多数主机来说是不可避免的。没有它,您的停机时间可能会出乎意料地长,这会破坏您的声誉、降低客户满意度并违反服务级别协议。
您应该在服务器上监控的一些事情:
- 连接:有多少客户端和其他服务器连接到您的服务器?攻击者可能会使用此开口将信息发送到远程服务器,或者您可能会不必要地使用服务器资源进行不需要的连接。
- 请求:确定服务器上的请求数量,以便可以分析流量和资源利用率。
- 正常运行时间:了解您的服务器何时立即停机,以便对其进行修复以满足服务级别协议。
7. IP 地址管理
Web 服务器具有公共和私有 IP 地址。在线客户端需要公共 IP,但私有 IP 地址应仅限于绝对需要访问主机的管理员和客户端应用程序。例如,私有子网上组织内的任何人都应该有权访问服务器,但任何拥有公共 IP 地址的人都不应能够访问特定的服务器资源。
Apache Listen 指令将侦听端口限制为特定 IP。默认情况下,服务器将侦听所有接口 (IP) 上的特定端口。例如,您可能只将端口 80 限制为外部 IP 地址。以下 httpd 指令告诉 Apache 侦听外部 IP 上的端口 80:
听 203.0.113.8
8. 禁用加密不安全的加密密码
旧 Web 主机服务器上的一个常见错误是允许使用加密不安全的密码套件。美国国家标准与技术研究院 (NIST) 建议服务器不应支持传输层安全 (TLS) 版本 1.0 或 1.1。它们应配置为支持 1.2 及更高版本。
当 Web 服务器支持较旧的易受攻击的 TLS 版本时,位于合适位置(例如,与客户端计算机位于同一网络或 Wi-Fi 热点上)的攻击者可以执行降级攻击。较旧的 TLS 版本通常能够支持较旧的应用程序,但它们会给用户数据安全带来重大风险。
要在 WHM 中禁用不安全的密码,请访问:
服务配置 → Apache 配置 → 全局配置文档 → SSL 密码套件
9. 配置强化防火墙设置
硬件防火墙可用于将服务器上可用的服务列入白名单。通过阻止不需要的服务,除非防火墙另有规定,否则没有流量到达服务器。对于 Web 服务器,端口 80 和 443 是必需的,您可以阻止所有其他流量到达服务器。
Web 服务器可能托管其他服务,在打开防火墙端口之前应仔细考虑这些服务。例如,telnet 和 FTP 不应该可用,因为它们允许数据在明文通道上传输。Telnet 应该被阻止,但您可以为想要使用文件传输协议管理文件的用户提供替代的安全 SFTP(端口 22)作为一个选项。
10. 添加 Web 应用程序防火墙 (WAF)
WAF 保护 Web 服务器免受基于应用程序的攻击。例如,WAF 将检测从 Web 表单发送的恶意 SQL 输入。攻击者有众多应用级攻击可供选择,因此您需要一个 WAF 来有效检测恶意流量并向管理员发出警报。WAF 报告还提供流量请求的整体视图,以便管理员可以识别恶意主机、IP 地址或客户端。
应用程序级安全性不仅仅涵盖 Web 输入。WAF 通过要求必须对 cookie 传输进行加密、检查文件上传中的病毒、停止路径遍历、记录 Web 主机上的活动、强制使用 TLS 加密连接以及防止跨站点脚本 (XSS) 攻击来保护 cookie 传输。它是一种工具,可在安装了大量应用程序(包括管理员无法验证的应用程序)的环境中提供广泛的网络安全。
您不能使用 WAF 而忘记提及 ModSecurity。ModSecurity 是用于实时监控流量的 Web 服务器的 WAF。它监控应用层的异常情况,而不是像传统的硬件防火墙那样监控网络层。安装命令取决于您的发行版。例如,您可以使用以下命令在 CentOS 7 上安装 ModSecurity:
须藤 yum 安装 mod_security
安装 ModSecurity 后,您必须重新启动 Apache。
ModSecurity 有许多规则供应商,您可以将它们与您的 WAF 一起使用。例如,OWASP 有一个ModSecurity 核心规则集,但正确的规则配置取决于服务器运行的应用程序,并且可能需要高级技能。
11. 安全密码
无论是客户密码还是管理员密码,都应使用最佳实践进行存储和实施。安全密码也是合规性法规的一个组成部分。对于存储关键信息的应用程序,密码应该很复杂,长度至少为 10 个字符。对于管理员和高度敏感的应用程序,建议使用 12 个字符的密码。
如果使用加密不安全的密码存储复杂的密码,就会变得不安全。例如,密码不应使用 MD5 散列并存储在数据库中。它们应该使用 SHA2 或 SHA3 或任何其他NIST批准的加密安全密码进行加盐和散列。
12. Web 和电子邮件安全
内部员工是网络犯罪分子的目标,网络钓鱼是威胁参与者工具箱中的主要工具。应严密监控带有可疑内容(包括附件)的电子邮件。带有恶意宏的标准文档会下载恶意软件,将其安装在网络上,并可能为整个组织造成大量停机时间。
勒索软件攻击继续增加,它们使整个政府和企业瘫痪,将它们锁定在重要文件之外并强制使用加密货币付款。就在最近,勒索软件关闭了美国的一条主要天然气管道,该管道提供了东海岸消耗的 45% 的燃料。这是对任何组织的主要威胁。
电子邮件过滤器可阻止许多恶意电子邮件到达用户的收件箱。Web 内容过滤器与电子邮件过滤器协同工作,阻止用户访问恶意 Web 内容。您的组织还应实施发件人策略框架 ( SPF ) 和基于域的消息身份验证、报告和一致性 ( DMARC ),以阻止攻击者在其网络钓鱼活动中欺骗您的域。
13.及时应用更新
与任何应用程序一样,保持 cPanel 更新将消除旧版本、生命终止 (EOL) 或不受支持版本中的安全漏洞。较旧的 EOL 版本不再接收安全补丁,因此您的服务器和客户站点可能容易受到最新漏洞的攻击。由于 cPanel 控制着客户网站的许多方面,因此在发布新版本时应尽快对其进行更新,尤其是在您当前的版本已被弃用的情况下。
您可以从 WHM 更新 cPanel,但大多数管理员使用命令行手动更新它。可以先运行以下命令查看当前安装的cPanel版本:
/usr/local/cpanel/cpanel -V
如果您确定您的版本必须升级,请运行以下命令安装最新的 cPanel 版本(注意这是每晚默认开启的):
/usr/local/cpanel/scripts/upcp
14. 启用暴力保护
即使实施了强大的安全密码,攻击者仍会使用试图“猜测”存储在 Web 服务器上的凭据的脚本。它可以是管理员凭据或客户密码。威胁行为者将使用下载的密码以及他们自己的自定义常用密码字典,并在自动暴力攻击中结合其他被黑帐户信息。
cPanel 应用程序具有名为 cPHulk 的强力保护机制。可以在您的 Web 托管服务器上启用此工具以减轻暴力攻击。它监控与暴力扫描相关的多个端口并阻止执行攻击的 IP 地址。
Imunify360还提供相同的蛮力保护等。这是一个更方便和彻底的选择,而不是专注于处理自己功能的不同网络安全组件。它不仅具有反恶意软件功能,而且还结合了入侵防御和检测系统、Linux 恶意软件扫描程序、Web 应用程序防火墙、实时防病毒保护、网络防火墙和补丁管理组件。
15. cPanel 安全顾问
不熟悉妥协迹象的管理员需要帮助识别问题。WHM 的安全中心部分有一个名为 Security Advisor 的工具。安全顾问列出的问题包括过时的软件、较差的密码强度和潜在的错误配置。它为管理员提供建议,以便他们可以采取行动并修复问题。
安全顾问位于 WHM 中,但您可以将其配置为向管理员发送警报。它采用颜色编码,以便可以将关键问题与警告和信息内容区分开来。您可以在 cPanel 站点上获取颜色列表及其含义,并根据问题的严重程度设置优先级。
16. 实施备份
备份是网络安全、业务连续性和灾难恢复的一部分。每个管理员都应该有一个设置了保留期限(例如,两周、一个月)的备份计划。cPanel 应用程序有一个备份工具来创建所有文件的完整或部分备份。备份应该经常进行,但要根据业务和自己的容灾规则来设置节奏。可以在 cPanel 应用程序的“文件”部分找到备份向导。
备份完成后,应将其存储在安全位置。备份包含对攻击者有价值的数据,因此应该保护它们免受威胁。您应该至少有一个完整备份,然后您可以根据需要对站点的每个部分进行部分备份以限制存储空间。
17. 为 cPanel 设置安全工具
cPanel 网站有几个插件可用于安全性。这些工具是第三方解决方案,但 cPanel 中最常见的集成工具是 ConfigServer 安全和防火墙 (CSF) 插件。此工具充当防火墙,可控制流量、帮助防止分布式拒绝服务 (DDoS) 和跟踪网络连接。
集成到软件中的其他一些有益的 cPanel 工具包括ImunifyAV(免费的 linux 服务器防病毒软件)、Imunify360、ImunifyAV+。所有这些工具都有各种好处,它们提供了一种方便而有效的方法来加强 Web 服务器的安全性。
结论
网络服务器不仅对托管商来说是一个关键组件,对他们的客户也是如此。因此,应使用最佳配置对其进行监控和保护。您可以手动执行这些配置,也可以依靠Imunify360作为保护服务器的下一步。只有一种工具、集中式报告和基本工具无法提供的高级威胁防护。