当前位置: 首页 > news >正文

apache、nginx、php 隐藏版本号

在这里插入图片描述

apache、nginx、php 隐藏版本号

针对的系统都是CentOS

1、没配置之前

1.1 Server: Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips PHP/7.2.24 mod_wsgi/3.4 Python/2.7.5

1.2 Server: nginx/1.16.0

1.3 X-Powered-By:7.2.24

2、配置信息

不知道具体位置,可以搜索主配置httpd.conf
whereis httpd.conf

1.1 主配置中启用httpd-default.conf

vim /etc/httpd/conf/httpd.conf
//找到httpd-default.conf,删除includes前面的“#”,改成如下(如果没有就新增)
Include conf/extra/httpd-default.conf

1.2 修改httpd-default.conf

文件:/etc/httpd/conf/extra/httpd-default.conf找到
ServerTokens Full
ServerSignature On
改成
ServerTokens Prod
ServerSignature off

3、配置之后

3.1 Server: Apache
3.2 Sserver:nginx
3.3 对应的X-Powered-By 参数消失

说明:

  • 1、ServerSignature出现在Apache所产生的像404页面、目录列表等页面的底部。
  • 2、ServerTokens目录被用来判断Apache会在Server HTTP响应包的头部填充什么信息。
    如果把ServerTokens设为Prod,那么HTTP响应包头就会被设置成:Server:Apache

4、扩展汇总

隐藏X-Powered-By
修改 php.ini 文件 设置 expose_php = Off(重启apache即可生效)

apache 隐藏 server 修改httpd.conf 设置
ServerSignature Off
ServerTokens Prod

ServerTokens 的参数说明

Prod >>> Server: Apache
Major >>> Server: Apache/2
Minor >>> Server: Apache/2.0
Minimal >>> Server: Apache/2.4.6
OS >>> Server: Apache/2.4.6 (Debian)
Full (or not specified) default >>> Server: Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips PHP/7.2.24 mod_wsgi/3.4 Python/2.7.5

nginx 隐藏 server
修改nginx.conf 在http里面设置
server_tokens off;

Ubuntu 14.04隐藏Apache-2.4的版本号与操作系统类型

一般情况下,软件的漏洞信息和特定版本,特定操作系统是相关的,因此,软件的版本号以及操作系统类型对攻击者来说是很有价值的。

在默认情况下,Apache会在返回信息中把自身的版本号,操作系统类型都显示出来,如下图:
在这里插入图片描述

这样做会造成潜在的安全风险,导致不必要的攻击行为。

在Ubuntu 14.04系统上隐藏Apache-2.4的版本号与操作系统类型的方法如下:

$ sudo vim /etc/apache2/conf-enabled/security.conf$ sudo vim /etc/apache2/conf-enabled/security.conf
把文件中的的ServerTokens OS修改为ServerTokens Prod,ServerSignature On修改为ServerSignature Off,如下图所示:

修改完成后,重启Apache2的服务

$ sudo service apache2 restart$ sudo service apache2 restart

修改后的结果如下图所示,已经没有系统类型信息了,仅仅返回了一个403错误。

相关文章:

  • spring ioc容器
  • 使用 Elasticsearch 和 LlamaIndex 进行高级文本检索:句子窗口检索
  • SpringBoot:详解依赖注入和使用配置文件
  • 《Python 3 基础》- numpy的array,python的list、tuple的区别与联系再辨析
  • 【C++ 程序设计入门基础】- 第4节-函数
  • 分布式搜索引擎--认识
  • 【设计模式】01-前言
  • Spring集成
  • 【镜像制作】OS云主机镜像的制作——以H3C为例
  • SAP 中销售订单占用库存和交货单占用库存取值
  • PaddleSeg的训练与测试推理全流程(超级详细)
  • PHP项目如何自动化测试
  • 机器学习之集成学习概念介绍
  • 导航与定位技术已成为移动机器人的核心技术之一
  • java SSM物业管理系统myeclipse开发mysql数据库springMVC模式java编程计算机网页设计
  • 实现windows 窗体的自己画,网上摘抄的,学习了
  • 《微软的软件测试之道》成书始末、出版宣告、补充致谢名单及相关信息
  • 2019.2.20 c++ 知识梳理
  • CEF与代理
  • CentOS7 安装JDK
  • CSS相对定位
  • Docker 笔记(2):Dockerfile
  • Docker入门(二) - Dockerfile
  • Druid 在有赞的实践
  • HTML中设置input等文本框为不可操作
  • input实现文字超出省略号功能
  • iOS | NSProxy
  • JavaScript DOM 10 - 滚动
  • JavaScript HTML DOM
  • js ES6 求数组的交集,并集,还有差集
  • log4j2输出到kafka
  • React-flux杂记
  • Stream流与Lambda表达式(三) 静态工厂类Collectors
  • UMLCHINA 首席专家潘加宇鼎力推荐
  • 从零到一:用Phaser.js写意地开发小游戏(Chapter 3 - 加载游戏资源)
  • 分布式任务队列Celery
  • 函数式编程与面向对象编程[4]:Scala的类型关联Type Alias
  • 那些年我们用过的显示性能指标
  • 学习ES6 变量的解构赋值
  • 译自由幺半群
  • zabbix3.2监控linux磁盘IO
  • 完善智慧办公建设,小熊U租获京东数千万元A+轮融资 ...
  • ​520就是要宠粉,你的心头书我买单
  • ​LeetCode解法汇总2808. 使循环数组所有元素相等的最少秒数
  • ​软考-高级-信息系统项目管理师教程 第四版【第14章-项目沟通管理-思维导图】​
  • (¥1011)-(一千零一拾一元整)输出
  • (力扣记录)1448. 统计二叉树中好节点的数目
  • (四)库存超卖案例实战——优化redis分布式锁
  • (学习日记)2024.03.25:UCOSIII第二十二节:系统启动流程详解
  • (幽默漫画)有个程序员老公,是怎样的体验?
  • (自适应手机端)响应式新闻博客知识类pbootcms网站模板 自媒体运营博客网站源码下载
  • .net core 6 集成 elasticsearch 并 使用分词器
  • .NET Core 和 .NET Framework 中的 MEF2
  • .NET Core 实现 Redis 批量查询指定格式的Key
  • .NET 表达式计算:Expression Evaluator