保护您的 Laravel 应用程序免受由于 TLS/SSL 配置较弱而导致的漏洞的影响,对于保护敏感数据和遵守现代安全最佳实践至关重要。本指南详细介绍了 TLS/SSL 配置较弱的构成、相关风险以及如何在 Laravel 项目中纠正这些风险。 提供了用于实施稳健协议的代码示例,以及有关使用免费安全检查工具来评估网站安全状况的说明。
TLS/SSL(传输层安全/安全套接字层)对于加密客户端和服务器之间的通信至关重要。 然而,弱配置,例如使用过时的协议(如 SSL 2.0 或 SSL 3.0)或弱密码,会使您的应用程序容易受到攻击,包括:
我们的免费网站安全扫描程序可轻松识别 TLS/SSL 弱点。 它会生成一份详细的报告,指出不安全协议、弱密码或丢失 HSTS 标头等漏洞。
工具界面的屏幕截图如下所示,以帮助其使用:
免费工具网页的屏幕截图,显示对安全评估工具的访问。
通过更新您的网络服务器配置来强制执行安全协议。 以下是 Apache 和 Nginx 的示例:
阿帕奇:
<code><virtualhost> SSLEngine on SSLProtocol -All +TLSv1.2 +TLSv1.3 SSLCipherSuite HIGH:!aNULL:!MD5:!3DES SSLHonorCipherOrder On Header always set Strict-Transport-Security "max-age=63072000; includeSubDomains; preload" </virtualhost></code>
Nginx:
<code>server { listen 443 ssl; ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers HIGH:!aNULL:!MD5:!3DES; ssl_prefer_server_ciphers on; add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload" always; }</code>
利用 Laravel 中间件强制执行 HTTPS 并合并安全标头。
<code class="language-php"><?php namespace App\Http\Middleware; use Closure; class SecureHeaders { public function handle($request, Closure $next) { $response = $next($request); $response->headers->set('Strict-Transport-Security', 'max-age=63072000; includeSubDomains; preload'); $response->headers->set('X-Content-Type-Options', 'nosniff'); $response->headers->set('X-Frame-Options', 'DENY'); return $response; } }</code>
在app/Http/Kernel.php
中注册这个中间件。
<code class="language-php">protected $middleware = [ // Other middleware \App\Http\Middleware\SecureHeaders::class, ];</code>
完成这些修改后,使用免费工具重新测试您网站的 TLS/SSL 强度。 将生成一份详细说明您网站安全状态的综合报告。
漏洞评估报告样本如下:
突出显示潜在漏洞的漏洞评估报告示例。
我们的工具提供:
点击此处立即执行网站漏洞检查!
薄弱的 TLS/SSL 配置会给您的 Laravel 应用程序带来重大风险。 通过实施安全协议、有效配置 Laravel 中间件以及利用我们的免费网站安全检查器等工具,您可以显着增强网站的安全性。
以上是如何修复 Laravel 中的弱 TLS/SSL 配置的详细内容。更多信息请关注PHP中文网其他相关文章!