1. 适用情况

适用于使用Apahce进行部署的Web网站。

2. 技能要求

熟悉Apache配置文件,能够利用Apache进行建站,并能针对站点使用Apache进行安全加固。

3. 前置条件

1、 根据站点开放端口,进程ID,确认站点采用Apache进行部署;

2、 找到Apache配置文件

4. 详细操作

4.1 禁止目录浏览

(1) 备份httpd.conf配置文件,修改内容:

Options FollowSymLinks

AllowOverride None

Order allow,deny

Allow from all

将Options Indexes FollowSymLinks 中的Indexes 去掉,就可以禁止 Apache显示该目录结构。

(2)设置 Apache 的默认页面:

DirectoryIndex index.html

其中index.html即为默认页面,可根据情况改为其它文件,部分服务器需要在目录下新建空白的index.htm才能生效。

(3)重新启动 Apache 服务

4.2 日志配置

(1) 备份httpd.conf配置文件,修改内容:

Window下:

LogFormat "%h %l %u %t \"%r\" %>s %b \"%i\" \"%i\"" combined

CustomLog "|bin/rotatelogs.exe logs/localhost_access_log.%Y-%m-%d.log 86400 480" combined

增加红色字体这一行,即可开启apache日志并且按照日期划分创建。

(2) 重新启动 Apache 服务

4.3 限制目录执行权限

(1) 备份httpd.conf配置文件,修改内容:

Order Allow,Deny

Deny from all

4.4 错误页面处理

(1)备份httpd.conf配置文件,修改内容:

ErrorDocument 400 /custom400.html

ErrorDocument 401 /custom401.html

ErrorDocument 403 /custom403.html

ErrorDocument 404 /custom404.html

ErrorDocument 405 /custom405.html

ErrorDocument 500 /custom500.html

其中Customxxx.html 为要设置的错误页面。

(2)重新启动 Apache 服务生效

4.5 最佳操作实践

4.5.1隐藏Apache版本号

(1) 备份httpd.conf 文件,修改内容:

ServerSignature Off

ServerTokens Prod

(2) 重新启动 Apache 服务

4.5.2限制IP访问

(1) 备份httpd.conf配置文件,修改内容:

Options FollowSymLinks

AllowOverride None

Order Deny,Allow

Deny from all

Allow from 192.168.204.0/24

只允许从192.168.204.0/24 IP段内的用户访问,一般在限制后台访问时用到。

4.6 风险操作项

4.6.1 Apache 降权

Linux中操作步骤为:

备份httpd.conf文件

修改:

User nobody

Group# -1

重启 APACHE

/apachectl restart

Windows中操作步骤为:

新建系统用户组www,新建系统用户apache并设置密码。

运行services.msc打开服务管理界面,双击apache2.2服务打开属性页,点击“登录”选项卡,选择“此账户”,填写账号和密码,确定。

4.6.2 防CC攻击

备份httpd.conf配置文件,修改内容:

Timeout 10

KeepAlive On

KeepAliveTimeout 15

AcceptFilter http data

AcceptFilter https data

重新启动 Apache 服务生效

4.6.3 限制请求消息长度

备份httpd.conf配置文件,修改内容:

LimitRequestBody 102400

重启apache生效

上传文件的大小也会受到此参数限制。

最后

欢迎关注个人微信公众号:Bypass--,每周原创一篇技术干货。 

【中间件安全】Apache 安全加固规范的更多相关文章

  1. 下一代的中间件必须是支持docker规范的

    下一代的中间件必须是支持docker规范的,这是中间件技术走向标准规范化的必经之路. 什么是 Docker? 答案是:Docker 是下一代的云计算模式.Docker 是下一代云计算的主流趋势. Do ...

  2. Apache DolphinScheduler使用规范与使用技巧分享

    本次分享来源2021年9月4日杨佳豪同学,给大家带来的分享是基于 Apache DolphinScheduler 使用规范与使用技巧分享,分享的内容主要为以下五点: " DolphinSch ...

  3. 【中间件安全】Tomcat 安全加固规范

    1. 适用情况 适用于使用Tomcat进行部署的Web网站. 2. 技能要求 熟悉Tomcat配置操作,能够利用Tomcat进行建站,并能针对站点使用Tomcat进行安全加固. 3. 前置条件 1.根 ...

  4. 【中间件安全】WebSphere安全加固规范

    1. 适用情况 适用于使用WebSphere进行部署的Web网站. 2. 技能要求 熟悉WebSphere安装部署,熟悉WebSphere常见漏洞利用方式,并能针对站点使用WebSphere进行安全加 ...

  5. 【中间件安全】Jboss安全加固规范

    1. 适用情况 适用于使用Jboss进行部署的Web网站. 适用版本:5.x版本的Jboss服务器 2. 技能要求 熟悉Jboss安装配置,能够Jboss进行部署,并能针对站点使用Jboss进行安全加 ...

  6. 【中间件安全】IIS6安全加固规范

    1. 适用情况 适用于使用IIS6进行部署的Web网站. 2. 技能要求 熟悉IIS配置操作,能够利用IIS进行建站,并能针对站点使用IIS进行安全加固. 3. 前置条件 1. 根据站点开放端口.进程 ...

  7. 【中间件安全】Weblogic 安全加固规范

    1. 适用情况 适用于使用Weblogic进行部署的Web网站. 2. 技能要求 熟悉Weblogic安装部署,熟悉Weblogic常见漏洞利用方式,并能针对站点使用Weblogic进行安全加固. 3 ...

  8. 【中间件安全】Nginx 安全加固规范

    1. 适用情况 适用于使用Nginx进行部署的Web网站. 2. 技能要求 熟悉Nginx配置,能够Nginx进行部署,并能针对站点使用Nginx进行安全加固. 3. 前置条件 1. 根据站点开放端口 ...

  9. 【中间件安全】IIS7.0 安全加固规范

    1. 适用情况 适用于使用IIS7进行部署的Web网站. 2. 技能要求 熟悉IIS配置操作,能够利用IIS进行建站,并能针对站点使用IIS进行安全加固. 3. 前置条件 1. 根据站点开放端口.进程 ...

随机推荐

  1. C# 格式化新招

    C# 格式化新招 ) from Attribute_Item where AttributeSysNo=$AttributeSysNo and Name='$Name' and SysNo !=$Sy ...

  2. springmvc中的页面解析器ViewResolver不起作用,变量输出字符串的解决方案

    <web-app xmlns:web="http://xmlns.jcp.org/xml/ns/javaee"> <servlet> <servlet ...

  3. Java学习(一)--面向对象(一)

    面向对象的思想一直指导者我们软件的分析.设计与开发.java语言是一种面向对象的语言.在学习java之前,先回想一以下向过程和面向对象. 一面向过程 面向过程主张按功能来划分系统需求.每一个功能都负责 ...

  4. 6、Python变量

    Python变量 变量的定义 变量是计算机内存中的一块区域,变量可以存储规定范围内的值,而且值可以改变. 变量的命名 变量名有字母.数字.下划线组成. 数字不能开头 不可以使用关键字 a a1 a_ ...

  5. Android批量图片加载经典系列——afinal框架实现图片的异步缓存加载

    一.问题描述 在之前的系列文章中,我们使用了Volley和Xutil框架实现图片的缓存加载(查看系列文章:http://www.cnblogs.com/jerehedu/p/4607599.html# ...

  6. 微信nickname乱码(emoji)及mysql编码格式设置(utf8mb4)解决的过程

    转:https://segmentfault.com/a/1190000004594385 项目中涉及保存微信的nickname,之前一直正常使用,但是突然遇到一个之前没有遇到的问题.经过调试发现错误 ...

  7. MDX Cookbook 06 - GENERATE 循环遍历

    有时候需要从集合中取出特定的成员但是又不能执行遍历操作,这个时候就可以使用 GENERATE 函数来解决这个问题. 根据地区查询每年的销售额 - SELECT NON EMPTY { , NON EM ...

  8. CoffeeScript简介 <二>

    集合与迭代 .. 与 ... 先看例子: arr = ["a1", "a2", "a3", "a4", "a5 ...

  9. 移除list中null元素

    查询结果为null, list.size()却是1 移除该null元素 totalList.removeAll(Collections.singleton(null));

  10. Asp.Net WebAPI及相关技术介绍(含PPT下载)

    此PPT讲述了Asp.Net WebAPI及相关Web服务技术发展历史. 共80多页,Asp.Net WebAPI在讲到第36页的时候才会出现,因为这个技术不是凭空产生的,它有着自己的演变进化的历史. ...