设为首页 收藏本站
查看: 849|回复: 0

[经验分享] apache web服务器安全配置

[复制链接]

尚未签到

发表于 2017-12-24 13:47:09 | 显示全部楼层 |阅读模式
  尽管现在购买的云服务器很多都有一键web环境安装包,但是如果是自己配置web环境则需要对各种安全配置十分了解,今天我们就来尝试这做好web服务器安全配置。这里的配置不尽完善,若有纰漏之处还望指出。

修改Apache配置文件http.conf

以专用的apache用户运行
  一般情况下,Apache是由Root 来安装和运行的。如果Apache Server进程具有Root用户特权,那么它将给系统的安全构成很大的威胁,应确保Apache Server进程以最可能低的权限用户来运行。
  

User apache  
Group apachegroup
  

  window系统中创建apache用户,给予apache用户读取和执行(RX)所有文档和脚本目录(例如:htdocs 和cgi-bin)的权限。 对Apache的logs目录具有读/写/删除(RWD)的权限。对httpd.exe二进制文件具有读取和执行(RX)的权限。
  
在service.msc服务中选择Aapche属性,登录账号改为apache即可

apache目录禁止访问
  Indexes 的作用就是当该目录下没有 index.html文件时,就显示目录结构。
  
默认apache在当前目录下没有index.html入口就会显示目录。让目录暴露在外面是非常危险的事,如下操作禁止apache显示目录:
  

Options FollowSymLinks   

  将Options Indexes FollowSymLinks中的Indexes 去掉,就可以禁止 Apache 显示该目录结构。

阻止用户修改系统设置
  在Apache 服务器的配置文件中进行以下的设置,阻止用户建立、修改 .htaccess文件,防止用户超越能定义的系统安全特性。
  

AllowOveride None  
Options None
  
Allow from all
  

  然后再分别对特定的目录进行适当的配置。

apache 隐藏版本信息
  

ServerSignature Off  
ServerTokens Prod
  

自定义错误页面
  

ErrorDocument 400 /custom400.html  
ErrorDocument 401 /custom401.html
  
ErrorDocument 403 /custom403.html
  
ErrorDocument 404 /custom404.html
  
ErrorDocument 405 /custom405.html
  
ErrorDocument 500 /custom500.html
  

删除如下apache的默认文件
  

删除默认的HTML文件:   # apache网页根目录htdocs下的html文件  
删除默认的icons文件:  # apache安装目录下的icons文件夹及里面的文件  
  
删除默认的的CGI脚本:  # apache安装目录下的cgi-bin文件夹及里面的文件  
  
删除Apache说明文件:   # apache安装目录下的manual文件夹及里面的文件以及安装目录下的其他介绍性文件
  

使用rotatelogs 每隔一天记录一个日志
  

CustomLog "|bin/rotatelogs.exe logs/access.log 86400 480" combined  

  rotatelogs logfile [ rotationtime [ offset ]] | [ filesizeM ]
  
logfile:它加上基准名就是日志文件名。如果logfile中包含’%’,则它会被视为用于的strftime(3)的格式字串;否则,它会被自动加上以秒为单位的.nnnnnnnnnn后缀。这两种格式都表示新的日志开始使用的时间。
  
rotationtime:日志文件回卷的以秒为单位的间隔时间,86400 表示一天,即每天生成一个新的日志文件。
  
offset:相对于UTC的时差的分钟数。如果省略,则默认为0,并使用UTC时间。比如,要指定UTC时差为-5小时的地区的当地时间,则此参数应为-300,北京时间为+8时间,应设置为480。这样日志里的时间才会和服务器上的时间一致,方便查看日志。
  
filesizeM:指定回卷时以兆字节为单位的后缀字母M的文件大小,而不是指定回卷时间或时差。

修改PHP配置文件php.ini

将时区修改为东八区北京时间
  date.timezone = "PRC"

响应头中y隐藏PHP版本信息
  expose_php = Off

禁止相关函数
  disable_functions = phpinfo, get_cfg_var
  
safe_mode = On //开启安全模式,这个开了,可能会有些php功能没办法使用了

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-427522-1-1.html 上篇帖子: 关于Apache php 报500错误 下篇帖子: nginx+Apache实现动静分离
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表