zoukankan      html  css  js  c++  java
  • LANMP安全配置之Apache安全配置

    0x00 前言

    主要是参考了《PHP Web安全开发实战》一书,再百度了一些知识点进行补充
    抱着了解的心态学习了一下 之后深入学习时再补充笔记吧~~

    0x01 屏蔽版本信息

    关闭步骤:
    (1)打开Apache配置文件httpd.conf
    a.找到ServerRoot OS,修改为ServerRoot ProductOnly
    b.找到ServerSignature On,修改为ServerSignature Off
    (2)重启Apache

    0x02 目录权限隔离

    Apache安装后会产生ServerRootDocumentRootScripAliasCustomlogErrorlog目录,这些目录分别有对应的功能,所以需要对它们设置单独的权限,具体权限配置如下。
    (1)ServerRoot目录只有具有管理权限的用户才能访问
    (2)DocumentRoot能够被管理Web站点内容的用户、使用Apache服务器的Apache用户(组)访问
    (3)只有Admin组的用户可以访问日志目录

    0x03 关闭默认主机

    在安装好Apache后一般会有一个默认的主机目录,这个目录可以不通过域名访问IP直接访问到,主机中可能会存在一些服务器敏感信息。
    因此换件搭建好了后记得关闭默认主机,只开放自定义的主机以避免留下安全隐患。
    默认如下:
    在这里插入图片描述
    改虚拟主机的话就只能访问一个域名
    但打开虚拟主机配置文件httpd-vhosts.conf就能配置多个网站域名
    并且在主配置文件下打开虚拟主机配置文件,主配置文件就失效了

    0x04 低权限运行

    Windows系统下,Apache默认由root权限安装、运行。
    为避免风险,要让Apache在低权限下运行。
    打开httpd.conf,在文件中找到UserGroup
    在这里插入图片描述
    User和Group表示运行httpd服务的用户和组,主要是给网站应用降权的。apache默认是用daemon来运行的,建议降权,所以我得改改了。
    改为:

    User nobody;
    Group# -1;
    

    具体的降权操作可参考:
    windows服务器下Apache 的降权

    0x05 防止用户自定义设置

    在httpd.conf进行以下设置,阻止用户建立、修改.htaccess文件,防止用户超越能定义的系统安全性。
    在这里插入图片描述
    也就是这三个参数分别设置成NoneNoneall

    • Options是控制特定目录将启用哪些服务器特性
    • AllowOveride参数就是指明Apache服务器是否去找.htacess文件作为配置文件,如果设置为none,那么服务器将忽略.htacess文件,如果设置为All,那么所有在.htaccess文件里有的指令都将被重写。
    • Allow from all 用来控制目录和文件的访问授权。
      详见Apache的Order Allow,Deny 配置详解

    顺便将Options中参数含义都列出来学习一下

    All 准许以下除MultiViews以外所有功能
    MultiViews 允许多重内容被浏览,如果你的目录下有一个叫做foo.txt的文件,那么你可以通过/foo来访问到它,这对于一个多语言内容的站点比较有用
    Indexes 若该目录下无index文件,则准许显示该目录下的文件以供选择
    IncludesNOEXEC 准许SSI,但不可使用#exec和#include功能
    Includes 准许SSI
    FollowSymLinks 在该目录中,服务器将跟踪符号链接。注意,即使服务器跟踪符号链接,它也不会改变用来匹配不同区域的路径名,如果在;标记内设置,该选项会被忽略
    SymLinksIfOwnerMatch 在该目录中仅仅跟踪本站点内的链接
    ExecCGI 在该目录下准许使用CGI

    0x06 禁止显示目录

    在默认情况下,如果你在浏览器中输入地址:http://localhost/,文件目录里有index.html,浏览器就会显示index.html的内容,如果没有,就会显示文件根目录下的文件和子目录。
    这些信息在某种情况下很有可能会造成数据泄露或被其他方式攻击。
    下图为phpstudy的一个目录的配置
    在这里插入图片描述
    Indexes的作用是当该目录下没有Index文件时,就显示目录结构。
    所以只要将Indexes去掉,就可以禁止Apache显示该目录结构。

    睡觉睡觉~
    在这里插入图片描述

  • 相关阅读:
    python异常处理与上下文管理器
    SpringBoot-MongoDB 索引冲突分析及解决
    补习系列(13)-springboot redis 与发布订阅
    带着canvas去流浪系列之八 碰撞
    带着canvas去流浪系列之九 粒子动画
    通过哪吒动漫豆瓣影评,带你分析python爬虫与BeautifulSoup快速入门
    Python小数据保存,有多少中分类?不妨看看他们的类比与推荐方案...
    免费试用 | 多模 NoSQL 服务GeminiDB for Cassandra 全球首发
    Vue+ElementUI项目使用webpack输出MPA
    shell的shift用法
  • 原文地址:https://www.cnblogs.com/0nc3/p/12063458.html
Copyright © 2011-2022 走看看