【web安全】隐藏nginx头文件信息
摘要
Nginx作为开源web中间件,被广泛应用。因此源编译或者yum安装,都会带有其原有的nginx版本。很容易被针对,因此,通过修改nginx的源码。隐藏nginx版本和头部信息,保障nginx的安全。操作如下:
1.修改nginx.h文件
位置为:/nginx-1.20.0/src/core
修改内容如下:
#ifndef _NGINX_H_INCLUDED_
#define _NGINX_H_INCLUDED_
#define nginx_version 1020000
#define NGINX_VERSION "1.0" //我修改的内容
#define NGINX_VER "zsdweb/" NGINX_VERSION //我修改的内容
#ifdef NGX_BUILD
#define NGINX_VER_BUILD NGINX_VER " (" NGX_BUILD ")"
#else
#define NGINX_VER_BUILD NGINX_VER
#endif
#define NGINX_VAR "ZSDWEB" //我修改的内容
#define NGX_OLDPID_EXT ".oldbin"
#endif /* _NGINX_H_INCLUDED_ */
2.修改ngx_http_header_filter_module.c
通过linux命令参看:
[root@localhost http]# cat ngx_http_header_filter_module.c |grep server_string
static u_char ngx_http_server_string[] = "Server: ZSDWEB" CRLF;
上述可以看到我修改的version为zsdweb,版本为1.0
3.源编译和make
./configure --prefix=/opt/nginx --with-http_gunzip_module --with-http_gzip_static_module --with-pcre=/opt/soft/pcre-8.44 --with-zlib=/opt/soft/zlib-1.2.11 --with-http_ssl_module --with-openssl=/opt/soft/openssl-1.1.1l
make
4.生成的二进制文件
[root@localhost objs]# pwd
/opt/soft/nginx-1.20.0/objs
您在 /var/spool/mail/root 中有邮件
[root@localhost objs]# ls -lrt
总用量 7924
drwxr-xr-x 9 root root 4096 4月 27 14:42 src
-rw-r--r-- 1 root root 657 10月 11 14:02 ngx_auto_headers.h
-rw-r--r-- 1 root root 17671 10月 11 14:02 autoconf.err
-rw-r--r-- 1 root root 6287 10月 11 14:02 ngx_modules.c
-rw-r--r-- 1 root root 43098 10月 11 14:02 Makefile
-rw-r--r-- 1 root root 7334 10月 11 14:02 ngx_auto_config.h
-rw-r--r-- 1 root root 35312 10月 11 14:06 ngx_modules.o
-rwxr-xr-x 1 root root 7967912 10月 11 14:06 nginx
5.查看版本信息
[root@localhost objs]# ./nginx -v
nginx version: zsdweb/1.0
至此,nginx编译成功,替换原来的版本软件即可。修改源码也不是那么的困难,也都是一个个c语言文件组测。
【web安全】隐藏nginx头文件信息的更多相关文章
- Nginx优化之基本安全优化 (隐藏Nginx软件版本号信息,更改源码隐藏Nginx软件名及版本号,更改Nginx服务的默认用户)
一,隐藏Nginx软件版本号信息 查看版本号 curl -I 192.168.0.220 HTTP/1.1 200 OK Server: nginx/1.6.2 #这里清晰的暴露了Web版本号(1.6 ...
- 隐藏Nginx软件版本号信息
为了提高我们web服务器的安全性,我们应当尽可能的隐藏服务器的信息以防止他人通过这些信息找到漏洞侵入我们的服务器,对于Nginx而言,我们安装好Nginx后最好隐藏Nginx的版本号,以防止通过该版本 ...
- AAC的ADTS头文件信息介绍
遵循:BY-SA 署名-相同方式共享 4.0协议 作者:谭东 时间:2016年10月28日 环境:Windows 7 ADTS是Audio Data Transport Stream的简称. ...
- VIM编辑新文件自动添加头文件信息
把如下文件直接贴到root目录下,在编辑新文件的时候显示自定义信息. root@shenlan-qianlan:/home/python/day1# vim shenlanqianlan.sh #!/ ...
- web.xml不同的头文件
<转自:http://blog.csdn.net/qq_16313365/article/details/53783288> 1. Servlet 3.1 Java EE 7 XML sc ...
- 隐藏nginx 版本号信息
为了安全,想将http请求响应头里的nginx版本号信息隐藏掉: 1. nginx配置文件里增加 server_tokens off; server_tokens作用域是http server loc ...
- 隐藏nginx 版本号信息(转)
为了安全,想将http请求响应头里的nginx版本号信息隐藏掉: 1. nginx配置文件里增加 server_tokens off; server_tokens作用域是http server loc ...
- C++头文件的包含顺序研究
一.<Google C++ 编程风格指南>里的观点 公司在推行编码规范,领导提议基本上使用<Google C++ 编程风格指南>.其中<Google C++ 编程风格指南 ...
- (转)C++头文件顺序
转自:http://blog.csdn.net/clever101/article/details/7269058关键总结:先包含的头文件的函数会覆盖后包含的头文件的同名函数.建议采用Google C ...
- pycharm创建脚本头文件模板
代码头文件信息可以包括:python 解析器的位置.字符集.作者信息.创建脚本时间等,pycharm工具创建头部信息模板操作步骤如下: 设置头文件:文件-->设置-->编辑器-->文 ...
随机推荐
- KingbaseES 统计信息收集器没有响应问题分析
统计信息收集器没有响应/Stats collector is not responding 问题现象: kingbase数据库日志提示:统计信息收集器没有响应/Stats collector is n ...
- 跳转到制定Sheet页及提交指定sheet页内容
一.跳转到指定Sheet的实现 话不多说,先上效果图 两个按钮的事件分别如下: _g().loadSheetByName("sheet1") # 跳转至sheet1按钮事件 _g( ...
- 并查集(UnionFind)
并查集和其他树形结构不一样,是由孩子指向父亲,它解决了一些连接问题,怎么才能确定两个点是否相连呢?并查集可以非常快的确定两个点是否连接. 如何确定连个点是否连接呢? 我们可以用一个数组表示,对于0到9 ...
- AtCoder Beginner Contest 240
前言 考场把前六题切了,但是 E 题和 F 题罚时了,所以也写一写. ABC240 E - Ranges on Tree 题目传送门 分析 \(r\) 的最大值就是叶子的个数,如果将叶子按顺序编号, ...
- C++ 面试必备:常见 C++ 面试题汇总及详细解析
C++作为一门重要的编程语言,其在面试中常常是热门的考察对象.本文将会介绍一些常见的C++面试题,帮助C++面试者避免很多不必要的困惑和迷惑.每个问题都有相对应的答案,以便各位同学快速查阅. C++和 ...
- 华为终端云服务牵手Likee,助力其用户与变现双增长
如今,社交媒体越来越深入人们的生活,改变了人们沟通方式的同时,也塑造着全新的人际关系和品牌形象.为了迎合用户多样化的需求和提升用户体验, 社交媒体行业的新老企业不断追逐着新技术和新功能.据调查机构Da ...
- js实现电子白板
功能:使用画笔绘制笔迹(线条).橡皮檫 <!DOCTYPE html> <html lang="en"> <head> <meta cha ...
- 国密 SM2 的非对称签名验签过程
国密 SM2 的非对称签名验签过程 介绍 非对称加密确保了消息传输中的保密性,但是由于使用公钥加密,而公钥是分发出去的,可能泄露,谁都可以使用公钥加密发送消息. 因此为了保证收到的消息是由对应的发送者 ...
- 【笔记】Oracle 窗口函数
Oracle 窗口函数 简单来说,窗口函数是分析函数的一种,通常可以理解成over()函数 构成:函数名①() over(partition by 分组的列名 order by 排序的列名 XXX) ...
- 第五課-Channel Study TCP Listener & Web Service Listener
示例描述: 我们将研究如何获取相当常见的HL7 v2消息并将其映射到自定义Web Service接口服务.在许多实际情况下,当我们要连接到HIE,EMPI,数据仓库或数据存储库时,必须这样做.此用例说 ...