分享好友 最新动态首页 最新动态分类 切换频道
18 个 Apache Web 服务器安全和强化技巧
2024-12-26 09:42

Apache Web 服务器是最流行且使用最广泛的 Web 服务器之一,用于托管文件和网站。它易于安装和配置,可以满足您的托管需求。但是,默认设置并不安全,无法提供您网站所需的急需保护。

18 个 Apache Web 服务器安全和强化技巧

在本指南中,我们将介绍一些 Apache 服务器强化提示和技巧,您可以实施它们来增强 Web 服务器的安全性。

1.如何隐藏 Apache

默认情况下,Apache Web 服务器会显示其版本,以防您浏览错误的网站 URL。以下是错误页面的示例,指示在网站上找不到该页面。最后一行指示 Apache 版本、主机操作系统、IP 地址及其正在侦听的端口。

显示网络服务器的信息并不是一个好主意,因为这对于黑客的侦察任务来说是一个很好的礼物。为了增加一层安全性并使黑客更难攻击,建议隐藏 Web 服务器信息。

为此,请打开 基于 Debian 的发行版上的默认 Apache 配置文件。

 

对于基于RHEL的系统,例如 RHEL, Fedora、CentOS、Rocky和AlmaLinux。

 

在文件末尾添加以下行。

 

保存更改并重新启动 Apache Web 服务器。

 

现在重新加载站点,这一次,Web 服务器信息将不会显示。

2.禁用Apache中的目录列表

默认情况下,Apache允许列出目录,访问者可能会看到文档根目录中的任何文件或目录。

为了演示这一点,我们将创建一个名为test的目录。

 

接下来,我们将导航到该目录并创建一些文件。

 

现在,如果我们访问该 URL,http://localhost/test 我们将能够查看目录列表。

要禁用目录列表,请转到Apache的主配置文件并搜索“Directory”属性。将“Options”参数设置为,如图所示。

 

重新加载Apache,这一次,当您访问该 URL 时,将不再显示目录。

3.定期更新Apache

始终建议使所有应用程序保持最新状态,因为最新的应用程序附带错误修复和安全补丁,可以解决旧软件版本中存在的潜在漏洞。

因此,建议定期将您的应用程序升级到最新版本。

 
 

4.在Apache上使用HTTPS加密

Apache 默认情况下使用HTTP协议,该协议是一种弱且不安全的协议,容易被窃听。为了提高网站的安全性,更重要的是提高您的Google SEO排名,请考虑使用SSL证书加密您的网站。

这样做会将默认HTTP协议切换为HTTPS,从而使任何人更难拦截和破译发回的通信并从服务器来回。

了解如何在 Linux 上使用Let’s Encrypt SSL来保护 Apache Web服务器的安全。

5.为Apache启用HTTP严格传输安全(HSTS)

除了使用TLS/SSL证书加密您的网站外,还可以考虑在HTTPS之上实现HSTS网络安全机制。

HTTP严格传输安全(HSTS)是一种保护网站免受中间人攻击和cookie劫持的策略机制。当攻击者将HTTPS协议降级为不安全的HTTP协议时,就会发生这种情况。

HSTS使web服务器能够严格声明web浏览器只能通过HTTPS与之交互,而不能通过HTTP协议。

若要启用HSTS,请确保您的网站运行HTTPS并具有有效的TLS/SSL证书。

接下来,为Apache启用headers模块

 

然后重新加载Apache以应用更改。

 

接下来,访问域的虚拟主机配置文件。

 

接下来,在 块中添加此行

 

内容如下

 

max-age参数指示web浏览器在接下来的一年内(31536000=1年)仅使用HTTPS访问您的网站。

最后,重新启动Apache以使HSTS策略生效。

 

6.在 Apache上启用HTTP/2

2015年,HTTP/2发布,这是HTTP协议的一个新版本,旨在解决或解决HTTP/1.1创建者没有预见到的多个问题。

虽然HTTP/1.1仍在广泛使用,但它与使用多个TCP连接处理来自浏览器的多个请求相关的性能问题有关,这会导致客户端的高资源开销,导致网络性能下降。

随着应用程序的复杂性和功能性的增长,HTTP/2被创建来解决HTTP/1.1的缺点,这些缺点包括HTTP标头长、网页加载速度慢和总体性能下降。

HTTP/2比其前身提供了更多的保护和隐私。同样重要的是,通过使用多路复用的数据流来增强性能。使用HTTP/2,即使在传输多个数据流时,单个TCP连接也能确保有效的带宽利用率。

7.限制对Apache中敏感目录的访问

您可能采取的另一种安全措施是限制对可能包含敏感信息(如用户数据、日志和配置文件)的目录的访问。

 

在上述配置中,拒绝任何试图访问/sensitive_directory 中文件的人。

保存更改并退出文件。然后重新启动 Apache 以使更改生效。

8.在Apache中禁用ServerSignature指令

 

保存更改并再次重新启动Apache以使更改生效。

 

9.将“ServerTokens”指令设置为“Prod”

“ServerTokens”指令控制服务器发送的信息,包括Apache版本(主要和次要版本)、操作系统和运行的web服务器类型。

您最不想向公众公开的信息是web服务器是Apache。任何其他操作都只会使您的服务器受到潜在的攻击。因此,建议将Apache配置文件中的“ServerTokens”指令设置为“prod”。

 

一如既往地保存更改并确保重新启动 Apache。

10.使用Fail2ban保护Apache

Fail2ban 是一款开源入侵防御应用程序,可保护 Linux 系统免受 DoS 和暴力攻击等外部威胁。它的工作原理是不断监视系统日志中的恶意活动,并禁止与模仿攻击行为的模式匹配的主机。

Fail2ban 可配置为持续监控 Apache 日志以查找失败的登录尝试并暂时禁止违规 IP,从而保护 Apache 免受 DoS 攻击。

11.禁用不需要的模块

Apache模块只是加载以扩展Web服务器功能的程序。模块扩展的功能包括基本身份验证、内容缓存、加密、安全等。

始终建议禁用当前未使用的所有模块,以最大程度地减少遭受攻击的可能性。

要查看所有启用的模块,请运行命令

 
 

要检查特定模块(例如rewrite模块)是否启用,请运行该命令。

 
 

要禁用该模块,请运行以下命令

 
 

12.使用mod_security和mod_evasive模块来保护Apache

您可以启用mod_security和mod_evasive模块保护 Apache 免受暴力攻击或 DDoS 攻击。

  • mod_security 模块的作用类似于 Web 应用程序防火墙 (WAF) 并阻止可疑和不需要的流量进入您的网站。

  • mod_evasive 模块可保护您的服务器免受暴力破解和拒绝服务攻击 (DoS)。

13.限制Apache中不需要的服务

为了进一步保护 Apache,请考虑禁用某些服务,例如符号链接和 CGI执行(如果当前不需要)。默认情况下,Apache遵循符号链接,我们可以在一行中关闭此功能以及功能和CGI。

要执行此操作,请在“Directory”部分为“Options”指令添加行“-ExcCGI-FlowSymLinks-Includes”。

 

这也可以在目录级别实现。例如,在这里,我们关闭 “/var/www/html/mydomain1” 目录的 Includes 和 Cgi 文件执行。

 

保存更改并重新启动 Apache。

14.限制Apache中的文件上传大小

另一种保护web服务器的方法是限制从客户端发送到web服务器的HTTP请求体的总大小。您可以在服务器、每个目录、每个文件或每个位置的上下文中设置它。

例如,如果您希望允许将文件上载到特定目录,例如/var/www/domain.com/wp-uploads目录,并将上载文件的大小限制为4M=4194304字节,请将以下指令添加到Apache配置文件或.htaccess文件中。

 

保存更改并记得重新启动 Apache。

您可以在服务器、每个目录、每个文件或每个位置的上下文中设置它。该指令可防止异常客户端请求行为,这种行为有时可能是拒绝服务 (DoS) 攻击的一种形式。

15.在Apache中启用日志记录

日志记录提供有关客户端请求的所有详细信息以及与 Web 服务器性能相关的任何其他信息。如果出现问题,这可以提供有用的信息。启用 Apache 日志,尤其是在虚拟主机文件中,您可以在 Web 服务器出现问题时查明问题。

要启用日志记录,您需要包含mod_log_config 模块,该模块提供两个主要日志记录指令。

  • ErrorLog – 指定错误日志文件的路径。
  • CustomLog – 创建并格式化日志文件。

您可以在虚拟主机文件的虚拟主机部分中使用这些属性来启用日志记录。

 

Debian系统中的指令定义为/var/log/apache2路径。

16.作为单独的用户和组运行Apache

以单独的用户和组身份运行 Apache 是一种常见的安全实践。通过这样做,您可以将 Web 服务器进程与其他系统进程隔离,并最大限度地减少 Web 服务器受到威胁时的潜在损害。

首先,您需要专门为 Apache 创建一个新用户和组。

 

接下来,您需要编辑 Apache 配置文件以指定新用户和组。

 

由于您要更改 Apache 运行的用户和组,因此您可能需要更新 Web 目录和文件的所有权,以确保 Apache 仍然可以读取它们。

 

进行这些更改后,重新启动 Apache 以应用它们

 

17.防护DDOS攻击和加固

确实,您无法完全保护您的网站免受 DDoS 攻击。但是,这里有一些指南可以帮助您减轻和管理它们。

  • TimeOut – 该指令允许您指定服务器在返回错误之前等待某些事件完成的持续时间。默认值为 300 秒。对于容易受到 DDoS 攻击的站点,建议保持较低的值。但是,适当的设置很大程度上取决于您的网站收到的请求的性质。注意:超时时间过短可能会导致某些 CGI 脚本出现问题。

  • MaxClients – 该指令设置可同时提供服务的连接数限制。任何超出此限制的新连接都将排队。它在 Prefork 和 Worker MPM 中均可用。默认值为256。

  • KeepAliveTimeout – 该指令指定服务器在关闭连接之前等待后续请求的持续时间。默认值为 5 秒。

  • LimitRequestFields – 该指令设置客户端接受的 HTTP 请求标头字段的数量限制。默认值为100。如果由于HTTP请求头过多而导致DDoS攻击,建议减小该值。

  • LimitRequestFieldSize – 该指令设置 HTTP 请求标头的大小限制。

18.定期执行漏洞扫描

保护 Web 服务器的另一种方法是定期进行漏洞扫描测试。这有助于识别黑客可能利用的潜在安全漏洞来访问敏感文件或注入恶意软件。

漏洞扫描工具还可以帮助指出不安全的配置设置并帮助审核合规性。流行的漏洞扫描工具包括Acutenix、Nessus、Nexpose、Sucuri等等。

结论

最新文章
瞪大眼睛看:什么是珠宝的优化、处理?
优化、处理、天然相信不少朋友都有这样的经验,在购买珠宝的时候经常听到一些词汇,如“处理”,“优化”,“天然”,那么,到底什么是“处理”,什么是“优化”,他它们有什么区别呢,国家标准中又是如何规定的呢?国标里的定义按国家标准
雷克萨斯屏幕黑屏是什么原因
车上空调显示 L0 意思是空调处于最低温度或最低运行速度。如果空调能显示温度数值但显示为 L0代表此时空调处于最大制冷模式能把车内温度降到最低一般最低能到 18℃。
最热明星机 Nexus 4 root/解锁工具放出
    的这款凭借着谷歌的血统、高配低价的诱人性价比显然成为了目前最热的明星机型,甚至连都无法抢过它的风头;不知大家翘首以盼的 4是否已经到手,反正XDA论坛上的们已经抢先发布了针对于它的结合 root/解锁/Recovery等玩
高质量假期要有AI 用三星Galaxy S24系列点亮暑期旅途
暑期将至,许多用户已经开始计划一场精彩的假期旅行。数字化时代,智能是旅行中不可或缺的得力助手,而全新的三星 S24系列,以其卓越的性能、强大的影像系统和创新的AI体验,成为暑期旅行的好拍档。无论是拍摄美丽风景、探索未知事物,还是
网站优化推广秘诀,合作伙伴选择的关键揭秘
本文深入解析高效网站优化推广的关键,强调选择合适的合作伙伴的重要性。通过精准策略与专业团队协作,实现网站流量提升、品牌影响力增强。揭示优化推广的成功秘诀,助力企业实现网络营销目标。在互联网时代,网站已成为企业展示形象、拓展
阿里巴巴怎么注册开店
阿里巴巴作为全球领先的电子商务交易平台,为众多企业和个人提供了开设网店的机会。以下是关于如何在阿里巴巴注册开店的详细步骤,帮助有意入驻的商家顺利完成开店流程。首先,确保企业或个人具备合法的经营资质。这包括企业营业执照、税务
老房子翻新改造地砖有哪些类型?
  老房子翻新改造时,肯定会在地面部分使用各种各样的装饰材料,而地面部分十分受欢迎的多数还是地砖,但是多数业主对于地砖的类型并非十分了解,因此会担心出现上当受骗的情况。到底,老房子翻新改造地砖有哪些类型?这是不少的业主一直
互联网信息流广告代理正规授权 微信朋友圈广告代理
互联网信息流广告代理正规授权 微信朋友圈广告代理互联网信息流广告代理正规授权 微信朋友圈广告代理互联网信息流广告代理正规授权 微信朋友圈广告代理什么是微信朋友圈广告?众所周知,广告行业一直都是一个比较热门的行业,随着时代的发
SEO必备HTTPS:比HTTP好在哪里?8大优势&工作流程
采用HTTPS的网站比采用HTTP的网站有着更高的安全性吗?随着信息泄露等网络安全事故的不断增加,大家越来越重视网络安全,在浏览网页时也更加谨慎,因此给网站部署HTTPS已经成为现代发展趋势,也是网站不可缺失的一环。HTTP(Hyper Text Tra
相关文章
推荐文章
发表评论
0评