如何使用 NGINX 修复 EC2 上的 DNS 缓存中毒

如何使用 NGINX 修复 EC2 上的 DNS 缓存中毒

设置 HTTPS 后,我最近发现我的域名遭受了缓存投毒攻击。我的服务器是 EC2,运行着一个 NGINX 服务器来为 Django 应用提供服务。

服务器会间歇性地在主页上抛出 403 错误,当我手动输入登录 URL 时,我收到 404 错误。在 DevTools 控制台中,我收到以下消息:

(索引):22 混合内容:页面位于'https://www.safespreadsheets.com/login/“已通过 HTTPS 加载,但请求了不安全的资源”http://www.iyfipgun.com/'。此请求已被阻止;内容必须通过 HTTPS 提供。

(索引):1 混合内容:页面位于'https://www.safespreadsheets.com/login/“已通过 HTTPS 加载,但请求了不安全的资源”http://www.iyfipgun.com/?dn=www.safespreadsheets.com&pid=9POL6F2H4'。此请求已被阻止;内容必须通过 HTTPS 提供。

我搜索了解决问题的方法,看起来这与 NGINX 处理其 DNS 缓存的方式有关。我还没有找到刷新缓存的方法(作为起点),也不知道如何确保缓存不会再次中毒。

任何帮助都将不胜感激。

编辑: 有人问我,在设置 HTTPS 后,我是如何得出这是 DNS 缓存中毒的结论的。

我调查了所有可能导致间歇性 403/404 错误的问题,修复了所有可能出错的问题。只有在我设置 HTTPS 后,404 错误(手动进入登录页面)才会产生上面指示的混合内容消息。我知道我的资源都不会以 HTTP 形式提供,我在 Google 上搜索了该域名,发现它是一个垃圾网站。

为了证明这一点,这里有一个页面调用的截图,显示 404 页面不是来自我的 IP 地址:

在此处输入图片描述

答案1

根据 Michael Hampton 的建议,我与 DNS 提供商进行了沟通,我们成功解决了问题。DNS 现在很安全,网站运行正常。

相关内容