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这两款 ...
随机推荐
- Hadoop_04 验证Hadoop安装成功
[root@master ~]# cd hadoop-2.7.7/[root@master hadoop-2.7.7]# cd etc[root@master etc]# cd hadoop/[roo ...
- Luna likes Love 题解
Problem Link 简要题意 题目很清楚. 分析 定理 两个人中左边的人一直向右运动,和两人向中间走所用的 步数相同 证明 假设有两组人为 \(a_l , a_r , b_l , b_r (a_ ...
- #分治NTT,容斥定理,排列组合#LOJ 6503 「雅礼集训 2018 Day4」Magic
题目 桌面上摆放着 \(m\) 种魔术卡,共 \(n\) 张,第 \(i\) 种魔术卡数量为 \(a_i\),魔术卡顺次摆放,形成一个长度为 \(n\) 的魔术序列, 在魔术序列中,若两张相邻魔术卡的 ...
- 熊磊:成功移植 OpenHarmony 到多套开发板,是最开心的事
编者按:在 OpenHarmony 生态发展过程中,涌现了大批优秀的代码贡献者,本专题旨在表彰贡献.分享经验,文中内容来自嘉宾访谈,不代表 OpenHarmony 工作委员会观点. 熊磊 华为技术有限 ...
- OpenHarmony 3.1 Release版本关键特性解析——OpenHarmony新音视频引擎——HiStreamer
OpenAtom OpenHarmony(以下简称"OpenHarmony")是由开放原子开源基金会(OpenAtom Foundation)孵化及运营的开源项目,目标是面向全场景 ...
- 狂神说Java——Mybatis学习笔记
前言:配合狂神老师的教学视频使用效果更佳: https://www.bilibili.com/video/BV1NE411Q7Nx/?spm_id_from=333.1007.top_right_ba ...
- django ORM 按月分组统计
一.搭建环境,准备数据 1.1:新建项目 django-admin startproject Test 1.2:新建app python manage.py startapp app 1.3:设置 s ...
- 本周三晚19:00Hello HarmonyOS应用篇第7课—分布式应用开发
6月15日19:00 Hello HarmonyOS系列应用篇迎来的本系列直播课的最后一课,将会有怎样的精彩呈现呢? 万物互联的时代已经来临,如果你想运用过往的技术,开发一个有"跨设备操 ...
- Leetcode-队列得最大值
请定义一个队列并实现函数 max_value 得到队列里的最大值,要求函数max_value.push_back 和 pop_front 的均摊时间复杂度都是O(1).若队列为空,pop_front ...
- Spark常见的问题以及解决方案
Spark为什么比Hadoop要快? Spark比hadoop快的原因,我认为主要是spark的DAG机制优于hadoop太多,spark的DAG机制以及RDD的设计避免了很多落盘的操作,在窄依赖的情 ...