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 加固的更多相关文章

  1. web中间件

    0x00 Web中间件概述 通俗来说,中间件是提供系统软件和应用软件之间连接的软件,以便于软件各部件之间的沟通.Apache的Tomcat.IBM公司的WebSphere.BEA公司的WebLogic ...

  2. Web中间件 - 常见漏洞总结

    *文章来源:https://blog.egsec.cn/archives/472 *本文将主要说明:Web中间件常见漏洞的产生原因以及修复方案 什么是Web中间件? 百度百科是这样解释的:中间件是介于 ...

  3. 柔弱的APP如何自我保护,浅谈APP防御手段,使用360加固助手加固/签名/多渠道打包/应用市场发布

    柔弱的APP如何自我保护,浅谈APP防御手段,使用360加固助手加固/签名/多渠道打包/应用市场发布 由于JAVA和Android的平台型,所以APP很容易被反编译,这对于我们开发者来说,是一个不想要 ...

  4. web中间件之nginx

    web中间件之nginx https://www.jianshu.com/p/d8bd75c0fb1b   对nginx正向代理和反向代理理解特别好的一篇文章. 一.nginx nginx缺点,负载均 ...

  5. 软件性能测试分析与调优实践之路-Web中间件的性能分析与调优总结

    本文主要阐述软件性能测试中的一些调优思想和技术,节选自作者新书<软件性能测试分析与调优实践之路>部分章节归纳. 在国内互联网公司中,Web中间件用的最多的就是Apache和Nginx这两款 ...

  6. Java Web中间件

    目录 中间件 常见的web中间件有哪些 Tomcat Weblogic Jboss Jetty Webshere Glasshfish 中间件 我们经常会看到中间件,但是,一直好奇的是,中间件到底是什 ...

  7. 常见web中间件漏洞(四)Tomcat漏洞

    这部分好久没写了,继续更新web中间件漏洞思路整理(不复现) ,争取...整理完 前几篇指路链接: nginx: https://www.cnblogs.com/lcxblogs/p/13596239 ...

  8. web服务器【apache/nginx] 关闭目录的浏览权限

    web服务器[apache/nginx] 关闭目录的浏览权限 我的配置(将Options 中的Indexes干掉): <VirtualHost *:80> ServerAdmin webm ...

  9. android安全检测工具,梆梆安全 - 防止反编译|APP安全加固|应用加固|盗版监测

    android安全检测工具,梆梆安全 - 防止反编译|APP安全加固|应用加固|盗版监测https://dev.bangcle.com/ 业内专业的应用加固服务供应商 帮助数十万APP抵御破解风险,早 ...

  10. web服务器、Web中间件和Web容器的区别

    web服务器>web中间件>web容器 Tomcat(servlet容器)  是  Tomcat中间件  也是  Tomcat服务器 看了谢公子的csdn文章,让我彻底分清了这三者的区别. ...

随机推荐

  1. read IEEE standard for verilog(3)

    read IEEE std for verilog 1.阅读准备 在阅读的第二部分读到了lexical conventions,这次计划读一节.也就是把lexical conventions读完. 2 ...

  2. KingbaseES 实现 MYSQL 的 delete limit 写法

    使用MySQL的用户可能会比较熟悉这样的用法,更新或删除时可以指定限制更新或删除多少条记录. update tl set xxx=xxx where xxx limit 10; delete from ...

  3. SpringBoot配置启动页(首页)控制台打印项目访问入口url

    一.SpringBootApplication 1 package com.reliable.yang; 2 3 /** 4 * @author Administrator 5 * @date 202 ...

  4. 【Java】使用位运算完成数组中两个变量交换位置

    1 /** 2 * 3 */ 4 package com.raliable.chapter_0; 5 /** 6 * @author : Administrator 7 * @date :2022年4 ...

  5. Kylin Desktop V10部署达梦数据库(DM8)

    1.环境 处理器:飞腾D2000/8 E8C 内存:16GB 系统:银河麒麟桌面版操作系统(国防版)V10 达梦数据库:dm8_20231226_FTarm2000_kylin10_sp1_64 2. ...

  6. #欧拉函数#洛谷 2303 [SDOI2012] Longge 的问题

    题目 求\(\sum_{i=1}^n\gcd(n,i)\) 分析 \(=\sum_{i=1}^n\sum_{d|gcd(n,i)}\varphi(d)\) \(=\sum_{d|n}\varphi(d ...

  7. 探索生成式AI的未来:Chat与Agent的较量与融合

    近年来,生成式人工智能(AI)不仅在技术界引起了广泛关注,更成为了推动多个行业革新的关键力量.这种技术之所以备受瞩目,不仅在于其独特的创造性和高效性,还在于它对未来商业模式和社会结构可能产生的深远影响 ...

  8. MMDeploy部署实战系列【第三章】:MMdeploy pytorch模型转换onnx,tensorrt

    MMDeploy部署实战系列[第三章]:MMdeploy pytorch模型转换onnx,tensorrt 这个系列是一个随笔,是我走过的一些路,有些地方可能不太完善.如果有那个地方没看懂,评论区问就 ...

  9. 基于Material Design风格开源、易用、强大的WPF UI控件库

    前言 今天大姚给大家分享一款基于Material Design风格开源.免费(MIT License).易于使用.强大的WPF UI控件库:MaterialDesignInXamlToolkit. 项 ...

  10. 推荐一波微软家的浏览器:EDGE

    前段时间英雄联盟(LOL)队伍 EDG 夺冠成为热门事件,上了各大热搜,即使大家不玩英雄联盟,相信也多多少少有听说相关信息吧! 今天我们的主角并不是 EDG,而是微软的新版浏览器 EDGE !!! 微 ...