[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
ServerSignature Off
ServerTokens Prod
修改
Options Indexes FollowSymLinks
为
Options FollowSymLinks
不要使用 root 账户 运行 apache,要使用没有sh没有登录权限的低账户权限,默认设置一般即符合要求。Linux 系统中默认使用 apache 或者 nobody 用户,Unix 系统默认使用 daemon 用户。
[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
一般配置限制的都是后台等信息
<Directory "/var/www/html">
Require all granted #不做限制
Deny from all #禁止所有人访问
allow from 172.21.105.99/23 #指定ip能够访问
</Directory>
#
<FilesMatch "\.(php|php5|jpg|gif|png|js|css|swf)$">
Deny from all
# ExpiresDefault "access plus 15 days"
</FilesMatch>
<Files ~ ".txt$">
Deny from all
</Files>
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,该项设置涉及性能调整。
如果没有设计这两个功能的需求,建议关闭与禁用
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
如果你有 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>