基本概括

关键词Server

ServerRoot  "/etc/httpd"     #apache软件安装的位置

Listen 80   #监听的端口号

ServerName www.test.com:80 #网站的名字

ServerAdmin   #管理员的邮件地址

DocumentRoot "/var/www/html"  #站点的网页存储位置

主站点的目录访问控制解析

1  <Directory "/var/www/html">
2 Options FollowSymLinks Indexes
3 AllowOverride None
4 Order allow,deny
5 (Allow from all) #httpd2.2版本
6 Require all granted
7 </Directory>

在这段代码中的内容每一个开头都是一个属性 而后面的都是配置该属性的选项

1. Options 配置特定目录要使用的特性

  • FollowSymLinks 在该目录下允许文件系统使用符号连接

     符号链接:相当于可以使用url定位资源

  • indexes 当用户访问该目录时,如果用户找不到DirectoryIndex指定的主页文件(例如index.html),则返回该目录下的文件列表给用户。

    如果为了网站安全可以在indexes前加一个 '-' (-indexes) 或直接删除indexes选项

  • ExecCGI 在该目录下允许执行CGI脚本
  • SymLinksIfOwnerMatch  当使用符号连接时,只有当符号连接的文件拥有者与实际文件的拥有者相同时才可以访问
  • Includes  允许服务器端包含功能
  • IncludesNoExec  允许服务器端包含功能,但禁止执行CGI脚本

2.AllowOverride 允许存在于.htaccess文件中的指令类型

  • None  不搜索该目录下的.htaccess文件,减少开销
  • ALL  在.htaccess文件中可以使用所有的指令
  • authconfig 一行表示允许对/var/www/html目录下的内容进行用户认证
    •   访问目录/var/www/html下创建文件.htaccess 内容如下:

AuthName "提示信息"
      AuthType basic
      AuthUserFile  /var/www/html/members.txt

          require valid-user

    •   1) AuthName:定义提示信息,用户访问时提示信息会出现在认证的对话框中

        2) AuthType:定义认证类型,在HTTP1.0中,只有一种认证类型:basic。在HTTP1.1中有几种认证类型,如:MD5
        3) AuthUserFile:定义包含用户名和密码的文本文件,每行一对
        4) AuthGroupFile:定义包含用户组和组成员的文本文件。组成员之间用空格分开,如:group1:user1 user2
        5) require命令:定义哪些用户或组才能被授权访问。如:
        require user user1 user2 (只有用户user1和user2可以访问)
        requires groups group1 (只有group1中的成员可以访问)
        require valid-user (在AuthUserFile指定的文件中的所有用户都可以访问)

apache用户认证访问机制 - 不熟悉 - 博客园 (cnblogs.com)

关于.htaccess文件的作用这里给个友情链接

apache .htaccess文件详解和配置技巧总结 - 恩恩先生 - 博客园 (cnblogs.com)

3.Order 控制在访问时Allow和Deny两个访问规则哪个优先 (httpd-2.2版本)

  • Allow  允许访问的主机列表(可用域名或子网)

用法 : Allow from 192.168.245.0/24   Allow from all

  • Deny  拒绝访问的主机列表

4. Require all granted (httpd2.4版本)

此为http-2.4中的允许所有人访问的格式。除此还可以禁止某个IP或域名的访问

Require not ip 1.1.1.1 
Require not host host.example.com
Require all denied #禁止访问

安全加固

1. 隐藏apache的版本信息

ServerTokens

 1 #仅软件名称,例如:apache
2 ServerTokens Prod
3
4 包括主版本号,例如:apache/2
5 ServerTokens Major
6
7 #包括次版本号,例如:apache/2.0
8 ServerTokens Minor
9
10 #仅apache的完整版本号,例如:apache/2.0.54
11 ServerTokens Min
12
13 #包括操作系统类型,例如:apache/2.0.54(Unix)
14 ServerTokens OS
15
16 #包括apache支持的模块及模块版本号,例如:Apache/2.0.54 (Unix) mod_ssl/2.0.54 OpenSSL/0.9.7g
17 ServerTokens Full

ServerSignature off /on

在文末添加即可

2.配置所有的web网站请求使用https协议.必须将所有http请求重定向到https

在网站目录的文件夹创建一个.htaccess文件

vi .htaccess
#写入
RewriteEngine On
RewriteBase /
RewriteCond %{SERVER_PORT} ^!443$
RewriteRule ^.* https://%{SERVER_NAME}%{REQUEST_URI} [L,R]

centos7下的apache2.4安全配置的更多相关文章

  1. Centos7 下的SVN安装与配置

    Centos7 下的SVN安装与配置 1.关闭防火墙 临时关闭防火墙 systemctl stop firewalld 永久防火墙开机自关闭 systemctl disable firewalld 临 ...

  2. CentOS7下NFS服务安装及配置固定端口

    CentOS7下NFS服务安装及配置 系统环境:CentOS Linux release 7.4.1708 (Core) 3.10.0-693.el7.x86_64 软件版本:nfs-utils-1. ...

  3. Centos7 下安装Apache2 + MySQL + PHP7

    Apache 1.安装Apache yum install httpd 2.设置服务器开机自动启动Apache systemctl enable httpd.service 若要验证是否自动启动可在重 ...

  4. centos7下git的安装和配置

    git的安装: yum 源仓库里的 Git 版本更新不及时,最新版本的 Git 是 1.8.3.1,但是官方最新版本已经到了 2.9.2.想要安装最新版本的的 Git,只能下载源码进行安装. 1. 查 ...

  5. centOS7下的静态Ip的配置。

    centOS7下NAT的静态网卡的配置 最近在cenOS7下搭建大数据,发现centOS7配置静态ip的必要性.这篇博文就来谈谈如何VM虚拟机中配置centOS7的静态ip.如有不足,还望志同道合者纠 ...

  6. Centos7下Redis3.2的安装配置与JReid测试

    环境 Centos7 Redis版本 3.2.0 安装目录 /usr/local/redis/redis-3.2.0 Redis的介绍 参见官网 安装 1 安装gcc与tcl # yum instal ...

  7. centos7 下安装Apache2+MariaDB+PHP5过程详解

    1.启用Apache2 Centos7默认已经安装httpd服务,只是没有启动.如果你需要全新安装,可以 yum install -y httpd 启动服务:systemctl start httpd ...

  8. CentOS7 下 keepalived 的安装和配置

    安装前准备:yum -y install gcc gcc-c++ autoconf automake make yum -y install zlib zlib-devel openssl opens ...

  9. Centos7下oracle12c的安装与配置(详细)

    一.硬件配置 CentOS7@VMware® Workstation 15 Pro,分配资源:CPU:2颗,内存:4GB,硬盘空间:30GB 二.软件准备  linux.x64_11gR2_datab ...

  10. centos7下postgresql数据库安装及配置

    1.安装 #yum install -y postgresql-server 2.postgresql数据库初始化 #service postgresql initdb 3.启动postgresql服 ...

随机推荐

  1. KingbaseES R6集群误删除备节点的集群目录恢复方式

    一.场景 一主一备环境 主节点:192.168.17.9 备节点:192.168.17.10 故障:备节点安装目录/home/kingbase/cluster备删除 二.恢复方式 1.备节点集群目录备 ...

  2. 使用AJAX绑定点击事件将接口值返回渲染到指定位置

    AJAX 是局部的刷新或者叫做无刷新技术 首先是js部分,这里注意不紧要引入express模块,还需要把cors模块也引入 在下面添加了判断,用来判断所取得的随机值是否在0.5以上 接下来是HTML部 ...

  3. 【博图scl语言】313-2dp

    ①如果 if(***) then *** := ***; end_if; ②循环 for n1:=1 to 50 by 1 do end_for; WHILE #n1 < 54 DO END_W ...

  4. VUE环境运行搭建

    第一步:下载安装node.js 1.下载node.js,vue的运行是要依赖于node的npm的管理工具来实现,所以第一步我们需要安装 Node.js,访问官网 https://nodejs.org/ ...

  5. Gitlab CICD

    简介 最近公司要求要通过Gitlab CICD做一个项目的自动打包,我之前也没接触过,所以只能现学现卖.不过说实话,让我这个连大学英语四级都没过的人看Gitlab官网的纯英文教程,我真的是脑阔昏,于是 ...

  6. 在linux 下如何快速创建环境

    首先先在你的主目录下创建一个文件 touch venv python创建环境 python3 -m venv venv 创建虚拟环境 (提示:当你有错找不到的时候可以重新创建一个环境) source ...

  7. LinuxK8S集群搭建三(部署dashboard)

    系统环境: CentOS 7 64位 准备工作: 通过虚拟机创建三台CentOS服务器,可参照之前的文章192.168.28.128 --master192.168.28.130 --node0119 ...

  8. 1839:【05NOIP提高组】谁拿了最多奖学金

    1839:[05NOIP提高组]谁拿了最多奖学金 时间限制: 1000 ms         内存限制: 65536 KB提交数: 9569     通过数: 4431 [题目描述] 某校的惯例是在每 ...

  9. CPU性能测试-coremark

    测试CPU性能指标会用到 Benchmarks常见的为 Dhrystone 和 CoreMark. CoreMark是一个综合基准,用于测量嵌入式系统中使用的中央处理器(CPU)的性能.它是在2009 ...

  10. 071_salesforce 页面自动检索匹配显示设置

    通常我们会有需求:在搜索框中输入关键词,点击后面搜索,相关数据会显示在输入框的下面供选择,如下图 First I am assuming that you already have Static Re ...