zoukankan      html  css  js  c++  java
  • apache web服务器安全配置

    尽管现在购买的云服务器很多都有一键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功能没办法使用了

  • 相关阅读:
    杭电2060WA
    杭电2060
    UVa10082 没有通过
    百度笔试题目02
    百度笔试题目01
    Q1002 四则运算
    百度笔试题目
    约瑟夫环 详细的分析
    算法导论03
    汉诺塔01
  • 原文地址:https://www.cnblogs.com/jesse131/p/6736233.html
Copyright © 2011-2022 走看看