Nginx   发布时间:2022-05-11  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了nginx – 出于安全原因拒绝除index.php之外的所有* .php请求大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

os:CentOS 7
Nginx:1.6.2
httpd:apache 2.4.6
cms:Drupal 7

在我的服务器遭到入侵后,我从服务器中删除了所有内容,重新安装了操作系统和软件,并从备份恢复了数据
现在,我以最大的安全风格配置所有服务.

在详细研究访问日志之后 – 我决定拒绝任何对php文件的请求,除了index.php之外,它位于站点文档根目录中以提高安全性.

Nginx访问日志内容很多记录如:

azenv2.php
az.php

/*/wp-login.php
/administrator/index.php
/MyAdmin/index.php

第一类 – 后门(其中一个入侵了我的网站,有人从我的服务器发送了大量垃圾邮件).

第二 – 有人想找到流行的cms和实用程序,并尝试登录@密码,如admin @ 123456

我通过拒绝对php文件的请求来阻止这两个类别的原因是:

>即使有人上传php-sHell,也无法使用它.
>所有这些请求都是’不好’的小修道院 – 并且通过Nginx拒绝它们将保护drupal(httpd php MysqL)工作和消耗能力.

我对一个虚拟主机的当前配置:

server {

  listen Nginx_access.log main;
  }

}

Nginx.conf – 安装后未更改.

updatE
最后我为deny创建了这个配置:

LOCATIOn ~ \.php${
  access_log /path/to/log/Nginx_deny.log name_log;
  deny all;
}

这个配置代理:

LOCATIOn =/index.php {
  proxy_pass http://127.0.0.1:php {
  proxy_pass http://127.0.0.1:

1).因此,有关攻击尝试的完整信息将收集在日志中.
2).服务器不会为错误的请求做额外的工作.
3). Drupal cron可以工作.

最佳答案
您可以通过多种方式实现这一目标.

与您在配置文件中的内容完全直接集成,您可能希望简单地包含以下部分;

LOCATIOn ~ \.php${
try_files index.php @error;

fastcgi_pass ...;

fastcgi_param SCRIPT_FILename /path/to$fastcgi_script_name;

...
}

LOCATIOn @error {
[config of however you want to handle errors]
}

在允许其访问/执行之前,将检查所请求文件的存在.

除此之外,我个人建议使用fail2ban,如果配置正确,将为您提供更全面的安全性;您可以将其配置为实时监控访问日志,并通过自动创建新的iptables规则来禁止IP访问您的服务器,并指定禁止时间.

就个人而言,我的服务器配置为根据this article使用带有Nginx的fail2ban(或者至少基于此 – 您可以根据需要更改它).

大佬总结

以上是大佬教程为你收集整理的nginx – 出于安全原因拒绝除index.php之外的所有* .php请求全部内容,希望文章能够帮你解决nginx – 出于安全原因拒绝除index.php之外的所有* .php请求所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: