服务加固-Apache

文章目录

    • 一. 检查 apache 版本
    • 二. 隐藏 Banner 信息
    • 三. 服务器是否可以浏览目录
    • 四. 合理配置 apache 运行账户
    • 五. 配置禁止(限制)访问的文件夹
    • 六. 取消对上传目录的可执行权限
    • 七. 限制指定文件类型访问
    • 八. 若未必要修改端口
    • 九. 重要文件权限
    • 十. 错误页面重定向
    • 十一. 拒绝服务防范
    • 十二. 关闭 Trace 功能 与 CGI
    • 十三. 禁用非法 HTTP 方法

一. 检查 apache 版本

[root@localhost ~]# httpd -v
Server version: Apache/2.4.6 (CentOS)
Server built:   Nov 16 2020 16:18:20
[root@localhost ~]#

在各个大 src 上寻找漏洞,更新补丁

CNVD:https://www.cnvd.org.cn/

安全客:https://www.anquanke.com/vul

知道创宇:https://www.seebug.org/

CVE:http://cve.scap.org.cn/search

二. 隐藏 Banner 信息

服务加固-Apache_第1张图片

ServerSignature Off
ServerTokens Prod

服务加固-Apache_第2张图片

三. 服务器是否可以浏览目录

服务加固-Apache_第3张图片

修改
Options Indexes FollowSymLinks

Options FollowSymLinks

服务加固-Apache_第4张图片

四. 合理配置 apache 运行账户

不要使用 root 账户 运行 apache,要使用没有sh没有登录权限的低账户权限,默认设置一般即符合要求。Linux 系统中默认使用 apache 或者 nobody 用户,Unix 系统默认使用 daemon 用户。

服务加固-Apache_第5张图片

[root@localhost conf]# cat /etc/passwd | grep "apache"
apache:x:48:48:Apache:/usr/share/httpd:/sbin/nologin

[root@localhost conf]# cat /etc/sudoers | grep "ALL"
Defaults    env_keep += "LC_TIME LC_ALL LANGUAGE LINGUAS _XKB_CHARSET XAUTHORITY"
root    ALL=(ALL)       ALL
# %sys ALL = NETWORKING, SOFTWARE, SERVICES, STORAGE, DELEGATING, PROCESSES, LOCATE, DRIVERS
%wheel  ALL=(ALL)       ALL
# %wheel        ALL=(ALL)       NOPASSWD: ALL
# %users  ALL=/sbin/mount /mnt/cdrom, /sbin/umount /mnt/cdrom

五. 配置禁止(限制)访问的文件夹

一般配置限制的都是后台等信息

服务加固-Apache_第6张图片

<Directory "/var/www/html">
Require all granted  #不做限制
Deny from all   #禁止所有人访问
allow from 172.21.105.99/23 #指定ip能够访问
</Directory>

服务加固-Apache_第7张图片

服务加固-Apache_第8张图片

六. 取消对上传目录的可执行权限

#
<FilesMatch "\.(php|php5|jpg|gif|png|js|css|swf)$">
    Deny from all
   # ExpiresDefault "access plus 15 days"
</FilesMatch>

七. 限制指定文件类型访问

服务加固-Apache_第9张图片

<Files ~ ".txt$">
    Deny from all
</Files>         

服务加固-Apache_第10张图片

八. 若未必要修改端口

Listen 88

九. 重要文件权限

chmod 600 /etc/httpd/conf/httpd.conf
chmod 644 /var/log/httpd/.log

十. 错误页面重定向

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 为要设置的错误页面。

十一. 拒绝服务防范

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

Timeout 10  #客户端与服务器端建立连接前的时间间隔
KeepAlive On #用户发起HTTP请求后,Apache不会立刻关闭这个连接,当还有用户发起HTTP请求时,还会使用这个连接
KeepAliveTimeout 15 #限制每个 session 的保持时间是 15 秒。此处为建议值,具体的参数值需要根据现实际情况设定。

默认值为Timeout 120,KeepAlive Off,KeepAliveTimeout 15,该项设置涉及性能调整。

十二. 关闭 Trace 功能 与 CGI

如果没有设计这两个功能的需求,建议关闭与禁用

TraceEnable Off
# 注释CGI 模块和配置
LoadModule cgi_module modules/mod_cgi.so
ScriptAlias /cgi-bin//var/www/cgi-bin/”
AllowOverride None# Options None
Order allow,deny
Allow from all

十三. 禁用非法 HTTP 方法

如果你有 mod_allowmethods.so 这个模块可以轻松的限制在服务器上可以使用哪些HTTP方法。

<Location "/">
   AllowMethods GET POST HEAD
</Location>

如果你没有 需要加载 mod_authz_host.so 模块

<LimitExcept GET POST CONNECT OPTIONS> 
    Order Allow,deny                   
    Deny from all                      
</LimitExcept>                         

你可能感兴趣的:(linux,apache,服务加固)