1.隐藏版本信息

避免被针对版本直接使用漏洞

修改 nginx.conf 文件

在 http 模块中添加信息:server_tokens off;

2.限制目录权限

某些目录为运维页面,不要公开访问

编辑 nginx.conf 文件

在 server 标签内添加内容:

location ~ /attachments/.*\.(php|php5)?$ {
deny all;
}
location ~ /(attachments|upload)/.*\.(php|php5)?$ {
dent all;
}

3.限制 IP 地址访问

敏感目录使用白名单访问

修改 nginx.conf 文件

在 server 中添加

location /upload {
allow 192.168.1.0/24;
allow 10.1.1.1/32
deny all;
}

4.禁止浏览目录内容

防止通过浏览器直接查看目录内容

编辑 nginx.conf

在 http 模块下添加:autoindex off;

5.错误页面重定向

编辑 nginx.conf

在 server 模块下加入

error_page 404 /404.html;
location = /404.html {
root /usr/local/nginx/html;
}

6.日志配置

修改日志格式,便于审计

编辑 nginx.conf

在 http 模块内启用标签 main 的 log_format 格式

log_format main
$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' ' "$http_user_agent" "%http_x_forwarded_for"';

在 server 标签内调用:access_log logs/host.access.log main

7.限制 http 请求方法

只允许常用的 get 和 post 方法,减少漏洞

编辑 httpd.conf

在 server 模块中加入判断信息

除了 GET 和 POST 方法,页面都显示 403
if ($request_method !~* GET|POST) {
return 403;
}

8.限制并发和速度(需要经过测试,根据实际信息进行修改)

编辑 nginx.conf

在 http 模块中声明:limit_req_zone $binary_remote_addr zone=allips:10m rate=20r/s;

添加在 server 的location 中

location / {
limit_req zone=allips burst=5 nodelay;;
limit_rate 20k;
}
location /download {
limit_rate_after 10m;
limit_rate 128k;
}

9.防盗链

防止通过其他途径使用本网站资源

location ~* \.(jpg|jpeg|png|gif|bmp|swf|rar|zip|doc|xls|pdf|gz|bz2|mp3|mp4|flv)$
valid_referers none blocked 192.168.0.1 *.baidu.com; #允许的
if ($invalid_referer) {
rewrite ^/ https://site.com/403.jpg;
#return 403;
}
root /usr/share/nginx/img;
}

10.nginx 降权

防止高权限运行 nginx 进程

编辑 nginx.conf

在 http 模块下修改:user nobody;

11.解析漏洞

防止非法后缀被服务器识别

1)将 php.ini 文件中的 cgi.fix_pathinfo 的值设为 0

2)将 /etc/php5/fpm/pool.d/www.conf 中 security.limit_ectensions 后面的值设为 .php

13、web 中间件加固-Nginx 加固的更多相关文章

  1. web中间件之nginx

    web中间件之nginx https://www.jianshu.com/p/d8bd75c0fb1b   对nginx正向代理和反向代理理解特别好的一篇文章. 一.nginx nginx缺点,负载均 ...

  2. 常见web中间件漏洞(三)Nginx漏洞

    nginx是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务,有  开源,内存占用少,并发能力强,自由模块化,支持epoll模型,可限制连接数,支持热部署,简单 ...

  3. web中间件

    0x00 Web中间件概述 通俗来说,中间件是提供系统软件和应用软件之间连接的软件,以便于软件各部件之间的沟通.Apache的Tomcat.IBM公司的WebSphere.BEA公司的WebLogic ...

  4. 柔弱的APP如何自我保护,浅谈APP防御手段,使用360加固助手加固/签名/多渠道打包/应用市场发布

    柔弱的APP如何自我保护,浅谈APP防御手段,使用360加固助手加固/签名/多渠道打包/应用市场发布 由于JAVA和Android的平台型,所以APP很容易被反编译,这对于我们开发者来说,是一个不想要 ...

  5. Web服务器之Nginx详解(操作部分)

    大纲 一.前言 二.Nginx 安装与配置 三.Nginx 配置文件详解 四.Nginx 命令参数 五.配置Nginx提供Web服务 六.配置Nginx的虚拟主机 七.配置Nginx的用户认证 八.配 ...

  6. [C#]使用 C# 代码实现拓扑排序 dotNet Core WEB程序使用 Nginx反向代理 C#里面获得应用程序的当前路径 关于Nginx设置端口号,在Asp.net 获取不到的,解决办法 .Net程序员 初学Ubuntu ,配置Nignix 夜深了,写了个JQuery的省市区三级级联效果

    [C#]使用 C# 代码实现拓扑排序   目录 0.参考资料 1.介绍 2.原理 3.实现 4.深度优先搜索实现 回到顶部 0.参考资料 尊重他人的劳动成果,贴上参考的资料地址,本文仅作学习记录之用. ...

  7. php课程 1-3 web项目中php、html、js代码的执行顺序是怎样的(详解)

    php课程 1-3 web项目中php.html.js代码的执行顺序是怎样的(详解) 一.总结 一句话总结:b/s结构 总是先执行服务器端的先.js是客户端脚本 ,是最后执行的.所以肯定是php先执行 ...

  8. Linux系统WEB服务之Nginx基础入门

    一.Nginxi简介 Nginx是什么?它是一个开源.高性能的WEB服务器软件和代理服务器软件,由俄罗斯人Igor Sysoev 开发实现.它的功能主要分三类,第一是它作为一个WEB服务软件使用:第二 ...

  9. Web中间件 - 常见漏洞总结

    *文章来源:https://blog.egsec.cn/archives/472 *本文将主要说明:Web中间件常见漏洞的产生原因以及修复方案 什么是Web中间件? 百度百科是这样解释的:中间件是介于 ...

  10. 软件性能测试分析与调优实践之路-Web中间件的性能分析与调优总结

    本文主要阐述软件性能测试中的一些调优思想和技术,节选自作者新书<软件性能测试分析与调优实践之路>部分章节归纳. 在国内互联网公司中,Web中间件用的最多的就是Apache和Nginx这两款 ...

随机推荐

  1. 【Learning eBPF-1】什么是 eBPF?为什么它很吊?

    本书中, eBPF 被称为一种 革命性的 内核技术,被广泛应用于网络.观测 和 安全工具中. 这种技术允许你在不重新编译内核的情况下,使能你的自定义工具,与内核数据进行交互.听起来很厉害. 1.1 追 ...

  2. 2 URLEncode和Base64

    1. URLEncode和Base64 在我们访问一个url的时候总能看到这样的一种url https://www.sogou.com/web?query=%E5%90%83%E9%A5%AD%E7% ...

  3. #莫比乌斯反演,杜教筛#洛谷 6055 [RC-02] GCD

    题目 分析 如果令 \(u=pj,v=qj\) ,那么本质上就是让 \(gcd(i,u,v)==1\) 那就是 \(\sum_{i=1}^n\sum_{u=1}^n\sum_{v=1}^n[gcd(i ...

  4. OpenHarmony后代组件双向同步,跨层级传递:@Provide装饰器和@Consume装饰器

     @Provide和@Consume,应用于与后代组件的双向数据同步,应用于状态数据在多个层级之间传递的场景.不同于上文提到的父子组件之间通过命名参数机制传递,@Provide和@Consume摆脱参 ...

  5. OpenHarmony开发之MQTT讲解

      相信MQTT这个名称大家都不陌生,物联网的开发必然会遇到MQTT相关知识的应用.那么什么是MQTT?它有什么特点?它能解决什么问题?它是如何工作的?OpenAtom OpenHarmony(以下简 ...

  6. PDF库 libharu 简单操作

    libharu官网:http://libharu.org/ 直接下载下来编译就可以使用了(*:我下载的版本是:libharu-libharu-v2.4.3-0-g8dbcfe4.tar)   一.编译 ...

  7. Stage模型深入解读

     原文链接:https://mp.weixin.qq.com/s/4Mb5BMw1IgKvqE0Ff9Ts-w,点击链接查看更多技术内容:   HarmonyOS 3.1版本(API 9)推出了全新应 ...

  8. 手把手教你基于gin从零搭建一个属于你自己的go项目(一)

    一.为什么写这个,适合什么人看 原因 因为自己想写点小玩意,本来是打算用egg.js来写服务端的,后来发现了个更好玩的midway,但是后来发现自己手上的服务器都是一核2g的小水管,用node有点难顶 ...

  9. websocket fleck demo

    前言 fleck 比较简洁,想看下他的源码的,先感受一下demo吧. 正文 先上代码. static IDictionary<string, IWebSocketConnection> d ...

  10. sweetviz工具避坑和简单使用

    网上关于sweetviz的文章比较少,有些坑这里说一下给大家避坑. 使用sweetviz遇到的错误如下: KeyError: "None of ['index'] are in the co ...