禁止访问外部文件
禁止Apache访问Web目录以外的目录和文件
如限制只能访问www目录,可进行如下配置
原内容
<Directory />
AllowOverride none
Require all denied
</Directory>
修改后内容
# /www 为Web目录
<Directory /www>
Order allow,deny
Allow from all
</Directory>
错误页配置
自定义Apache错误页面
配置方法
原始内容
# Customizable error responses come in three flavors:
# 1) plain text 2) local redirects 3) external redirects
#
# Some examples:
#ErrorDocument 500 "The server made a boo boo."
#ErrorDocument 404 /missing.html
#ErrorDocument 404 "/cgi-bin/missing_handler.pl"
#ErrorDocument 402 http://www.example.com/subscription_info.html
#
将需要修改的错误行前的#删除,然后写上自定义的错误页面地址即可
以404页面为例
# Customizable error responses come in three flavors:
# 1) plain text 2) local redirects 3) external redirects
#
# Some examples:
#ErrorDocument 500 "The server made a boo boo."
#ErrorDocument 404 /missing.html
#ErrorDocument 404 "/cgi-bin/missing_handler.pl"
#ErrorDocument 402 http://www.example.com/subscription_info.html
#
修改完成后重启Apache即可生效
目录遍历防范
配置方法:
原始配置
DocumentRoot "${SRVROOT}/htdocs"
<Directory "${SRVROOT}/htdocs">
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
将Options Indexes FollowSymLinks
中的Indexes
删除,Apache 就不会显示该目录的列表了
修改后配置
DocumentRoot "${SRVROOT}/htdocs"
<Directory "${SRVROOT}/htdocs">
Options FollowSymLinks
AllowOverride None
Require all granted
</Directory>
拒绝服务攻击方法
启用LoadModule reqtimeout_module modules/mod_reqtimeout.so
模块
在配置文件中添加以下配置信息
<IfModule reqtimeout_module>
RequestReadTimeout header=5-40,MinRate=500 body=20,MinRate=500
</IfModule>
重启Apache服务即可
Apache账户安全
1、不以“root”等特权帐号运行Apache描述:Apache应以最小权限的专用账号运行,避免网站被攻陷后黑客直接获得高权限。
检查:查看Apache配置文件中的“User”及“Group”配置是否是高权限帐号或高权限组。
策略:更改“User”及“Group”配置项为低权限用户及低权限组。
2、赋予Apache运行帐号不可用Shell(/bin/false、/bin/nologin)
描述:通过授予Apache运行用户不可用的Shell,可避免该帐号被黑客破解后以Shell的方式登录服务器。
检查:查看/etc/passwd文件,确认Apache运行用户的Login Shell是否为/bin/false或/bin/nologin。
策略:使用“chsh -s /bin/false $apacheuser ”命令修改Apache用户Shell。
3、锁定Apache运行帐号
描述:锁定Apache运行帐号,可避免该帐号被黑客破解后以Shell的方式登录服务器。
检查:查看/etc/shadow文件,确认Apache运行用户是否被锁定。
策略:执行以下命令
usermod -L $apacheuser”
4、所有Apache目录必须属于Apache用户及Apahce组
检查:确认下面命令没有输出。
find $apache_prefix ( ! -user $apache_user -o ! -group $apache_group ) -ls
策略:执行下面命令
chown apacheuser:apache_user:apacheuser:apache_group $apache_prefix -R
5、所有Apache目录权限需设置为660
检查:确认下面命令没有输出。
find $apache_prefix ( ! -type l ! -type s ) ( -perm /o=r -o -perm /o=w -o -perm /o=x ) -ls
策略:执行执行下面命令
chmod 660 $apache_prefix -R
书单推荐
加入我的星球
下方查看历史文章
扫描二维码
获取更多精彩
NowSec