13、web 中间件加固-Nginx 加固
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 加固的更多相关文章
- web中间件之nginx
web中间件之nginx https://www.jianshu.com/p/d8bd75c0fb1b 对nginx正向代理和反向代理理解特别好的一篇文章. 一.nginx nginx缺点,负载均 ...
- 常见web中间件漏洞(三)Nginx漏洞
nginx是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务,有 开源,内存占用少,并发能力强,自由模块化,支持epoll模型,可限制连接数,支持热部署,简单 ...
- web中间件
0x00 Web中间件概述 通俗来说,中间件是提供系统软件和应用软件之间连接的软件,以便于软件各部件之间的沟通.Apache的Tomcat.IBM公司的WebSphere.BEA公司的WebLogic ...
- 柔弱的APP如何自我保护,浅谈APP防御手段,使用360加固助手加固/签名/多渠道打包/应用市场发布
柔弱的APP如何自我保护,浅谈APP防御手段,使用360加固助手加固/签名/多渠道打包/应用市场发布 由于JAVA和Android的平台型,所以APP很容易被反编译,这对于我们开发者来说,是一个不想要 ...
- Web服务器之Nginx详解(操作部分)
大纲 一.前言 二.Nginx 安装与配置 三.Nginx 配置文件详解 四.Nginx 命令参数 五.配置Nginx提供Web服务 六.配置Nginx的虚拟主机 七.配置Nginx的用户认证 八.配 ...
- [C#]使用 C# 代码实现拓扑排序 dotNet Core WEB程序使用 Nginx反向代理 C#里面获得应用程序的当前路径 关于Nginx设置端口号,在Asp.net 获取不到的,解决办法 .Net程序员 初学Ubuntu ,配置Nignix 夜深了,写了个JQuery的省市区三级级联效果
[C#]使用 C# 代码实现拓扑排序 目录 0.参考资料 1.介绍 2.原理 3.实现 4.深度优先搜索实现 回到顶部 0.参考资料 尊重他人的劳动成果,贴上参考的资料地址,本文仅作学习记录之用. ...
- php课程 1-3 web项目中php、html、js代码的执行顺序是怎样的(详解)
php课程 1-3 web项目中php.html.js代码的执行顺序是怎样的(详解) 一.总结 一句话总结:b/s结构 总是先执行服务器端的先.js是客户端脚本 ,是最后执行的.所以肯定是php先执行 ...
- Linux系统WEB服务之Nginx基础入门
一.Nginxi简介 Nginx是什么?它是一个开源.高性能的WEB服务器软件和代理服务器软件,由俄罗斯人Igor Sysoev 开发实现.它的功能主要分三类,第一是它作为一个WEB服务软件使用:第二 ...
- Web中间件 - 常见漏洞总结
*文章来源:https://blog.egsec.cn/archives/472 *本文将主要说明:Web中间件常见漏洞的产生原因以及修复方案 什么是Web中间件? 百度百科是这样解释的:中间件是介于 ...
- 软件性能测试分析与调优实践之路-Web中间件的性能分析与调优总结
本文主要阐述软件性能测试中的一些调优思想和技术,节选自作者新书<软件性能测试分析与调优实践之路>部分章节归纳. 在国内互联网公司中,Web中间件用的最多的就是Apache和Nginx这两款 ...
随机推荐
- 【Learning eBPF-1】什么是 eBPF?为什么它很吊?
本书中, eBPF 被称为一种 革命性的 内核技术,被广泛应用于网络.观测 和 安全工具中. 这种技术允许你在不重新编译内核的情况下,使能你的自定义工具,与内核数据进行交互.听起来很厉害. 1.1 追 ...
- 2 URLEncode和Base64
1. URLEncode和Base64 在我们访问一个url的时候总能看到这样的一种url https://www.sogou.com/web?query=%E5%90%83%E9%A5%AD%E7% ...
- #莫比乌斯反演,杜教筛#洛谷 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 ...
- OpenHarmony后代组件双向同步,跨层级传递:@Provide装饰器和@Consume装饰器
@Provide和@Consume,应用于与后代组件的双向数据同步,应用于状态数据在多个层级之间传递的场景.不同于上文提到的父子组件之间通过命名参数机制传递,@Provide和@Consume摆脱参 ...
- OpenHarmony开发之MQTT讲解
相信MQTT这个名称大家都不陌生,物联网的开发必然会遇到MQTT相关知识的应用.那么什么是MQTT?它有什么特点?它能解决什么问题?它是如何工作的?OpenAtom OpenHarmony(以下简 ...
- PDF库 libharu 简单操作
libharu官网:http://libharu.org/ 直接下载下来编译就可以使用了(*:我下载的版本是:libharu-libharu-v2.4.3-0-g8dbcfe4.tar) 一.编译 ...
- Stage模型深入解读
原文链接:https://mp.weixin.qq.com/s/4Mb5BMw1IgKvqE0Ff9Ts-w,点击链接查看更多技术内容: HarmonyOS 3.1版本(API 9)推出了全新应 ...
- 手把手教你基于gin从零搭建一个属于你自己的go项目(一)
一.为什么写这个,适合什么人看 原因 因为自己想写点小玩意,本来是打算用egg.js来写服务端的,后来发现了个更好玩的midway,但是后来发现自己手上的服务器都是一核2g的小水管,用node有点难顶 ...
- websocket fleck demo
前言 fleck 比较简洁,想看下他的源码的,先感受一下demo吧. 正文 先上代码. static IDictionary<string, IWebSocketConnection> d ...
- sweetviz工具避坑和简单使用
网上关于sweetviz的文章比较少,有些坑这里说一下给大家避坑. 使用sweetviz遇到的错误如下: KeyError: "None of ['index'] are in the co ...