一、配置文件路径
windows
下
apache
服务配置文件
phpstudy
默认名称为
httpd.conf,
还有可能是
apache2.conf
、
apache.ini
linux
下,使用包管理工具(
apt
、
yum
等)安装时默认路径为
/etc/apache2/
或
/etc/httpd/
二、具体配置
2.1
建议使用专门用户和用户组运行
apache
服务
创建
apache
组
groupadd apache
常见
apache
用户并加入
apache
组
useradd
-g
apache
将当前用户、组添加至配置文件中
找到
User
参数和
Group
参数,将上方设置的信息填入即可
vim
apache2.conf
进入编辑器后输入
/
用作搜索模式
2.2
限制
apache
主目录的访问权限
默认情况下该目录属主为
root
,其他用户无法修改,默认配置即可达成目标
推荐配置
apache2.conf
不大于
644
,可根据具体情况修改为
600
日志文件同理
如图,默认情况下
apache
日志权限为
600
,推荐权限
600
2.3
日志设置
2.3.1apache
日志需记录时间、用户、
ip
等、运行错误、具体访问资源
日志级别详情:
https://server.zol.com.cn/131/1312246.html
记录日志级别
推荐配置如下:
vim
/etc/apache2/apache.conf
loglevel notice
#
日志级别
error
仅记录错误日志,
notice
相当于记录错误、警告、注意事项等
ErrorLog
${APACHE_LOG_DIR}
/error.log
#
错误日志的保存位置
日志信息:
从右至左依次为,
host
、时间戳、
http
请求(
http
请求方法、
uri
资源、协议版本号、响应值、响应包长
度、
user-agent
)
2.4
禁止访问外部文件
禁止
apache
访问
web
目录外的任何资源
Order Deny,Allow
Deny from all
#
相当于拒绝访问所有资源
Order Allow,Deny
ALLOW FROM ALL
#
仅允许访问
web
目录在
web
目录的
<Directory>
标签中设置
2.5
禁止目录列出
当
web
目录下
index.html
文件缺失时,会直接显示
apache
的目录结构
加固方法:
删除
indexes
字段即可
2.6
错误页面的重定向
访问一些错误页面时会泄露敏感信息,故使用重定向方式可防止信息泄露
推荐做法,详见
phpstudy
可选操作,将
phpstudy
的重定向页面整到
kali
中
①修改配置文件
②将源文件复制至
web
目录即可
2.6
防护拒绝服务
推荐配置:
Timeout
120
KeepAlive on
#
限制是否开启会话存活
keepAlivetimeout
5
#
每个会话的保持时间,一般根据客户的服务器屌不屌
2.7
隐藏
apache
版本号
ServerSignature off
#
用来消除页面上的
apache
版本信息
servertokens prod
#
用来清除请求头中的
apache
版本信息
默认情况下会暴露版本信息
修改后左下位不显示中间件信息
请求头中:
修改前
:
修改后:
2.8
禁用
TRACE
功能
TraceEnable off
#
仅存在于
apache2.0
及以上
2.9
建议禁用
CGI
加载组件模块每个版本或操作系统有小差别
#LoadModule cgi_module /usr/lib/apache2/modules/mod_cgi.so
#
该条配置若无必须使用的应用,则建议直接注释
2.10
删除安装后的缺省无用文件
find
/
-name
"*httpd*"
2
>/dev/null
find
/
-name
"*manual*"
2
>/dev/null
find
/
-name
"*htdocs*"
2
>/dev/null
删除上方搜索结果中和
apache
相关的配置文件即可