✏️
安全运维
  • 目录
  • 常用命令速查手册
    • LINUX 命令总结
  • Linux--CentOS
    • 实战案例
      • 进入CentOS 7紧急模式,恢复root密码
      • 创建一个让root都无法删除的文件
      • tar源码包管理及srpm源码包安装方法
      • 找出系统中使用CPU最多的进程
      • 使用screen执行备份命令
      • 扩展Swap分区
      • 解决磁盘有空间但创建不了文件及修复文件系统问题
      • 修复服务器文件系统
      • 自定义ssh服务的日志类型和存储位置
      • 日志切割及搭建远程日志收集服务器
      • 配置公司内网服务器每天定时自动开关机
    • 基础知识
      • Linux的目录结构
      • 系统时间管理
      • 关机、重启命令及7个运行级别
      • passwd、shadow 文件
    • 基础命令
      • 帮助命令
      • ping 命令
      • ls 命令
      • alias 命令
      • history 命令
      • Linux中的快捷键
      • Untitled
      • Untitled
    • 基础配置
      • 安装中文版man手册
      • 网卡配置
      • 关闭防火墙并设置开机不启动防火墙
      • 临时和永久关闭SELinux
      • 配置本地YUM源
    • 文件管理
      • touch 命令
      • VIM 命令
      • cp 命令
      • mv 命令
    • 文件查看
      • cat 命令
      • more 命令
      • less 命令
      • head 命令
      • tail 命令
      • sort 命令
    • 用户和用户组管理
    • 文件权限管理
      • 文件基本权限
      • 文件的特殊权限:SUID、SGID、STicky及文件扩展权限ACL
    • 程序包的管理与安装
      • Yum的使用
    • 文件的压缩和归档
    • 系统进程管理
      • uptime命令查看系统负载
      • top 命令动态管理进程
      • lsof 命令
      • pstree 命令
      • 进程前、后台切换及优先级管理
    • 重定向和文件的查找
      • 文件描述符
      • 重定向的含义及管道、tee命令的使用
      • 查找文件的常用命令及应用
      • 命令判断——3个特殊符号“;”“﹠﹠”“||”
    • 磁盘介绍及管理
      • 磁盘分区工具和挂载
    • 文件系统结构
      • 文件系统结构
      • 文件的硬链接和软链接
      • 使用ln命令创建文件的链接
    • RAID的原理与搭建
      • RAID常用类型搭建和使用,以及注意事项
    • LVM管理和SSM工具的使用
      • 创建LVM的基本步骤
      • SSM工具
    • Linux计划任务与日志的管理
      • 日志的种类和记录的方式
    • 文件共享服务
      • NFS 的安装与使用
      • Samba 的安装与使用
      • CentOS 7.6 安装和配置samba文件共享服务
      • FTP 的安装与使用
      • proftpd
  • 安全加固
    • Windows 安全加固
    • WebLogic 安全加固
    • Apache 安全加固
    • Tomcat 安全加固
    • MySql 安全加固
    • PHP 安全加固
    • SSH 安全加固
    • IIS 安全加固
  • 基线检查
    • DB2数据库基线检查策略
    • MySQL数据库基线检查策略
    • Oracle10g数据库基线检查策略
    • Sybase数据库基线检查策略
    • MSSQL 2008 基线检查策略
    • Jboss7 基线检查策略
    • Apache 基线检查策略
    • Tomcat 基线检查策略
    • 基线检查策略
  • ClamAV
  • iptables
由 GitBook 提供支持
在本页

这有帮助吗?

  1. 基线检查

Apache 基线检查策略

1、以专门的用户帐号和组运行Apache

1、参考配置
(1)如果没有设置用户和组,则新建用户,并在Apache配置文件中指定
    创建apache组:#groupadd apache
    创建apache用户并加入apache组:#useradd apache -g apache
    将下面两行加入Apache配置文件httpd.conf中
        User apache
        Group apache
2、补充操作说明
(1)根据不同用户,取不同的名称。
(2)为用户设置适当的家目录和shell。
(3)如果配置了nobody、deamon、root这3个用户以及组,则请删除之。
(4)如果配置了具有多个用户和组也请一并删除,保留一个。

2、设备应配置日志功能,对运行错误、用户访问等进行记录,记录内容包括时间,用户使用的IP地址等内容

1、参考配置
(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 (访问日志)
2、补充操作说明
(1)ErrorLog指令设置错误日志文件名和位置。错误日志是最重要的日志文件,Apache httpd将在这个文件中存放诊断信息和处理请求中出现的错误。若要将错误日志送到Syslog,则设置:ErrorLog syslog。
(2)CustomLog指令指定了保存日志文件的具体位置以及日志的格式。访问日志中会记录服务器所处理的所有请求。
LogFormat设置日志格式,建议设置为combined格式。LogLevel用于调整记录在错误日志中的信息的详细程度,建议设置为notice。

3、禁止Apache列表显示文件

1、参考配置
(1) 编辑httpd.conf配置文件
    <Directory "/web">
        Options Indexes FollowSymLinks  #删掉Indexes 
        AllowOverride None    
        Order allow,deny
        Allow from all
    </Directory>
    将Options Indexes FollowSymLinks中的Indexes去掉,就可以禁止Apache显示该目录结构。
 (2)重新启动Apache服务
2、补充操作说明
(1)<Directory "/web">中的web指的是需要访问的目录。Indexes的作用就是当该目录下没有index.html文件时,就显示目录结构。

4、Apache错误页面重定向

参考配置
(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服务

5、根据业务需要,合理设置session时间,防止拒绝服务攻击

参考配置
(1) 编辑httpd.conf配置文件, 配置如下:
    Timeout 10 
    KeepAlive On 
    KeepAliveTimeout 15 
(2) 重新启动Apache服务

6、隐藏Apache的版本号及其它敏感信息

参考配置
(1)修改httpd.conf配置文件,配置如下
  ServerSignature Off 
  ServerTokens Prod 

7、更改Apache服务器非公众服务默认端口

参考配置
(1)修改httpd.conf配置文件,更改默认端口到xx端口(不常见端口)
    Listen x.x.x.x:xx端口
(2)重启Apache服务

8、删除缺省安装的无用文件

参考配置
(1)在apache初安装的情况下可执行如下操作,如果相关目录已经添加过文件,请勿操作。
    a.删除缺省HTML文件(请根据实际安装情况调整目录):
        #rm -rf $APACHE_HOME/htdocs/index.html 
    b.删除缺省的CGI脚本:
        #rm -rf $APACHE_HOME/cgi-bin/printenv
        #rm -rf $APACHE_HOME/cgi-bin/test-cgi
    c.删除Apache说明文件:
        #rm -rf $APACHE_HOME/manual/*

9、限制http请求的消息主体的大小

1、参考配置
(1)编辑httpd.conf配置文件,配置如下:
    LimitRequestBody 102400
2、补充操作说明
(1)数值单位为Byte。
(2)如果不存在则手动在文件末尾添加。

10、关闭TRACE,防止TRACE方法被访问者恶意利用

参考配置
(1)编辑httpd.conf配置文件,配置如下内容:
    TraceEnable Off
(2)如果不存在则手动在文件末尾添加。

11、如果服务器上不需要运行CGI程序,建议禁用CGI

参考配置
(1)编辑httpd.conf配置文件,把cgi-bin目录的配置和模块都注释掉:
    #LoadModule cgi_module modules/mod_cgi.so
    #ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
    #<Directory "/var/www/cgi-bin">
    #    AllowOverride None
    #    Options None 
    #    Order allow,deny
    #    Allow from all
    #</Directory>

12、服务器有多个IP地址时,只监听提供服务的IP地址

参考配置
(1)修改httpd.conf配置文件,绑定IP和端口:
    Listen  x.x.x.x:80

13、禁用危险HTTP方法

参考配置
(1)编辑httpd.conf文件,只允许get、post方法,配置如下:
    <LimitExcept GET POST > 
        Deny from all 
    </LimitExcept>

14、根据机器性能和业务需求,设置最大最小连接数

参考配置
(1)使用httpd -l检查Apache的工作模式,如列出prefork.c,则修改httpd.conf文件,配置如下:
    <IfModule prefork.c>
        ServerLimit 1024
        StartServers       8
        MinSpareServers   100
        MaxSpareServers   500
        MaxClients        1024
        MaxRequestsPerChild  1000
    </IfModule>
(2)重新启动Apache服务

15、在不影响业务的情况下,升级解决高危漏洞,而且该补丁要通过实验测试

参考配置
(1)访问http://httpd.apache.org/download.cgi,查看最新的apache版本,在实验室测试通过的前提下,编译升级apache,以解决高危漏洞。
上一页Jboss7 基线检查策略下一页Tomcat 基线检查策略

最后更新于3年前

这有帮助吗?