12、web 中间件加固-apache 加固
1.账号设置
1.1.防止 webshell 越权使用
修改 httpd.conf:/etc/httpd/conf/httpd.conf 或编译路径下 /conf/httpd.conf
检查程序启动账号和用户组
user apache或nobody
group apache或nobody
一般情况下默认用户符合安全要求
1.2.非超级用户权限禁止修改 apache 主目录
在 httpd.conf 文件中查找主目录位置:grep "ServerRoot" /etc/httpd/conf/httpd.conf
修改权限:
chmod -R 700 /etc/httpd/
chmod 644 /var/log/httpd/*.log
2.日志设置
2.1.修改日志级别,记录格式
修改 httpd.conf 文件
更改错误日志:
LogLevel notice(更多的记录信息,但会占用大量空间)
ErrorLog /logs/error_log(可根据磁盘规划更改)
更改访问日志
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Accept}i\"%{Referer}i\" \"%{User-Agent}i\"" combined
CustomLog /logs/access_log combined(可根据磁盘规划更改)
3.禁止访问外部文件
防止访问网站目录以外的文件
打开 httpd.conf 检查关键语法
<Directory />
AllowOverride none
Require all denied
</Directory>
<Directory "/var/www/html">
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
4.禁止列出目录
防止使用 web 直接浏览目录内容
修改 httpd.conf 文件
去掉站点配置信息中的 Indexes 选项(Indexes:无法在当前目录下找到首页文件,就显示目录内容)
<Directory "/var/www/html">
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
5.错误页面重定向
防止通过默认错误回馈泄露敏感信息
修改 httpd.conf 文件
编辑错误页面配置:
ErrorDocument 400 /error400.html
ErrorDocument 401 /error401.html
ErrorDocument 403 /error403.html
ErrorDocument 404 /error404.html
ErrorDocument 405 /error405.html
ErrorDocument 500 /error500.html
错误页面在站点根目录下创建,也可以在子目录中
错误信息还可以使用 ”直接输出提示“
6.拒绝服务防范
合理设置会话时间,防 止拒绝服务
编辑 httpd.conf
修改内容:
Timeout 10
KeepAlive On
KeepAliveTimeout 15
此处的连接间隔和 session 保持时间单位都是秒,一定要根据实际情况,分析后再设定
7.隐藏程序版本号
避免被针对漏洞
编辑 httpd.conf
修改信息:
ServerSignature Off
ServerTokens Prod
8.关闭 TRACE 功能
防止 trace 方法被恶意利用泄露信息
编辑 httpd.conf
修改信息:TraceEnable Off
9.禁用 CGI 功能
确保不适用 cgi 程序的情况下,关闭 cgi 功能(开启状态下,可运行脚本)
编辑 httpd.conf
注释信息如下
ScriptAlias /cgi-bin/ "/var/www/cgi-bin"
<Directory "/var/www/cgi-bin">
AllowOverride Nonde
Options None
Require all granted
</Directory>
LoadModule cgi_module modules/mod_cgi.so
10.绑定监听地址
服务器多个 IP 时,绑定业务接口 IP
编辑 httpd.conf
添加监听
Listen xx.xx.xx.xx:80
如果页面为私有页面,还可以更改默认端口值
11.禁用非法 HTTP 方法
禁用 put、delete 等危险的 http 方法
编辑 httpd.conf
加入信息:
除了这些方法,以外都可以使用
<Location />
<LimitExcept GET POST CONNECT OPTIONS>
AllowOverride None
Require all granted
</LimitExcept>
</Location>
12.防止 apache 解析漏洞
防止非法文件绕过合法性检查
编辑 httpd.conf
添加配置信息
将文件后缀定死了
<FilesMatch \.php$>
SetHandler application/x-httpd-php
</FilesMatch>
<FilesMatch "\.phps$">
SetHandler application/x-httpd-php-source
</FilesMatch>
13.防止 sql 注入
禁止 PHP 页面对 sql 注入给予反馈
修改 php.ini 文件:/etc/php.ini
加入或修改信息:magic_quotes_gpc=On
14.限制请求消息长度
防止溢出漏洞
编辑 httpd.conf
添加信息:LimitRequestBody 102400
12、web 中间件加固-apache 加固的更多相关文章
- web中间件
0x00 Web中间件概述 通俗来说,中间件是提供系统软件和应用软件之间连接的软件,以便于软件各部件之间的沟通.Apache的Tomcat.IBM公司的WebSphere.BEA公司的WebLogic ...
- Web中间件 - 常见漏洞总结
*文章来源:https://blog.egsec.cn/archives/472 *本文将主要说明:Web中间件常见漏洞的产生原因以及修复方案 什么是Web中间件? 百度百科是这样解释的:中间件是介于 ...
- 柔弱的APP如何自我保护,浅谈APP防御手段,使用360加固助手加固/签名/多渠道打包/应用市场发布
柔弱的APP如何自我保护,浅谈APP防御手段,使用360加固助手加固/签名/多渠道打包/应用市场发布 由于JAVA和Android的平台型,所以APP很容易被反编译,这对于我们开发者来说,是一个不想要 ...
- web中间件之nginx
web中间件之nginx https://www.jianshu.com/p/d8bd75c0fb1b 对nginx正向代理和反向代理理解特别好的一篇文章. 一.nginx nginx缺点,负载均 ...
- 软件性能测试分析与调优实践之路-Web中间件的性能分析与调优总结
本文主要阐述软件性能测试中的一些调优思想和技术,节选自作者新书<软件性能测试分析与调优实践之路>部分章节归纳. 在国内互联网公司中,Web中间件用的最多的就是Apache和Nginx这两款 ...
- Java Web中间件
目录 中间件 常见的web中间件有哪些 Tomcat Weblogic Jboss Jetty Webshere Glasshfish 中间件 我们经常会看到中间件,但是,一直好奇的是,中间件到底是什 ...
- 常见web中间件漏洞(四)Tomcat漏洞
这部分好久没写了,继续更新web中间件漏洞思路整理(不复现) ,争取...整理完 前几篇指路链接: nginx: https://www.cnblogs.com/lcxblogs/p/13596239 ...
- web服务器【apache/nginx] 关闭目录的浏览权限
web服务器[apache/nginx] 关闭目录的浏览权限 我的配置(将Options 中的Indexes干掉): <VirtualHost *:80> ServerAdmin webm ...
- android安全检测工具,梆梆安全 - 防止反编译|APP安全加固|应用加固|盗版监测
android安全检测工具,梆梆安全 - 防止反编译|APP安全加固|应用加固|盗版监测https://dev.bangcle.com/ 业内专业的应用加固服务供应商 帮助数十万APP抵御破解风险,早 ...
- web服务器、Web中间件和Web容器的区别
web服务器>web中间件>web容器 Tomcat(servlet容器) 是 Tomcat中间件 也是 Tomcat服务器 看了谢公子的csdn文章,让我彻底分清了这三者的区别. ...
随机推荐
- IGC系列:全分组卷积网络,分组卷积极致使用 | 轻量级网络
IGC系列网络的核心在分组卷积的极致运用,将常规卷积分解成多个分组卷积,能够减少大量参数,另外互补性原则和排序操作能够在最少的参数量情况下保证分组间的信息流通.但整体而言,虽然使用IGC模块后参数量和 ...
- KingbaseES V8R6集群运维案例之---修改ssh端口后脚本创建互信
案例分析: 在KingbaseES V8R6集群部署时,需要建立节点之间ssh互信(或者使用securecmdd工具),在有的生产环境,为了安全起见会修改ssh的默认端口:KingbaseES V8R ...
- KingbaseES Json 系列十二:Json其他函数
KingbaseES Json 系列十二--Json其他函数(JSONB_TYPEOF,JSON_SCALAR,JSON_SERIALIZE,JSON_TYPEOF,JSON_VALUE) JSON ...
- UE4接口
官方链接 目的 不同Actor对象具有同一个功能,比如角色按F键可以实现开门,开车,与NPC沟通等操作.其本质就是让所有的Actor对象除了继承UObject以外,再继承这个接口类. 接口的声明 宏的 ...
- async/await 与console(C#)
问题: 上一篇async/await 致WPF卡死问题(https://www.cnblogs.com/stephen2023/p/17725159.html),介绍主线程阻塞,async/await ...
- #trie,树链剖分#洛谷 6088 [JSOI2015]字符串树
题目 分析 显然树上的问题可以转换成根节点到两点的答案减去2倍根节点到LCA的答案 化边为点,考虑子节点承接父节点的trie,再加入一条新的字符串, 在循环的过程中统计一个位置被多少个字符串经过, 这 ...
- 这一次,让我们一起来搞懂MySQL
欢迎加入我的专栏,和我一起开始 MySQL 学习之旅. 从日常的开发和优化中,一步步地从一个数据库小白成为 MySQL 调优的开发人员.回想起来,从我第一次带创建索引至今,已经有十个年头了.在这个过程 ...
- std::format 如何实现编译期格式检查
C++ 20 的 std::format 是一个很神奇.很实用的工具,最神奇的地方在于它能在编译期检查字符串的格式是否正确,而且不需要什么特殊的使用方法,只需要像使用普通函数那样传参即可. #incl ...
- 深入了解 Python MongoDB 操作:排序、删除、更新、结果限制全面解析
Python MongoDB 排序 对结果进行排序 使用 sort() 方法对结果进行升序或降序排序. sort() 方法接受一个参数用于"字段名",一个参数用于"方向& ...
- HarmonyOS实现静态与动态数据可视化图表
一. 样例介绍 本篇Codelab基于switch组件和chart组件,实现线形图.占比图.柱状图,并通过switch切换chart组件数据的动静态显示.要求实现以下功能: 1. 实现静态数据可视化 ...