Apache网页及安全优化

一、Apache网页优化

1.Apache网页优化概述

  • 在企业中,部署Apache后只采用默认的配置参数,会引发网站很多问题,换言之默认配置是针对以前较低的服务器配置的,以前的配置已不适用当今的互联网时代
  • 为了适应企业需求,就需要考虑如何提升Apache的性能与稳定性,这就是Apache优化的内容
  • 优化内容
    配置网页压缩功能
    配置网页缓存
    工作模式的选择与参数优化
    配置隐藏版本号
    配置防盗链

2.网页压缩

gzip介绍

  • 配置Apache的网页压缩功能,是使用gzip压缩算法来对网页内容进行压缩后再传输到客户端浏览器
  • 作用:
    降低了网络传输的字节数,加快网页加载的速度
    节省流量,改善用户的浏览体验
    gzip与搜索引擎的抓取工具具有更好的关系

Apache的压缩模块

  • Apache实现网页压缩的功能模块包括:
    mod_gzip模块
    mod_deflate模块——系统资源占用率较低
  • Apache 1.x
    没有内建网页压缩技术,但可使用第三方mod_gzip 模块执行压缩
  • Apache 2.x
    在开发的时候,内建了mod_deflate 这个模块,取代mod_gzip
  • mod_gzip 模块与mod_deflate 模块
    1.两者均使用gzip压缩算法,运作原理类似
    2.mod_deflate压缩速度略快,而mod_gzip的压缩比略高
    3.mod_gzip对服务器CPU的占用要高一些
    4.高流量的服务器,使用mod_deflate可能会比mod_gzip加载速度更快

配置网页压缩功能

启用网页压缩功能步骤

查看是否安装mod_deflate模块
修改配置文件,启用压缩功能
访问测试

配置网页压缩步骤详解
1.将三个源码文件添加到/opt目录下,并查看
[root@server opt]# ls
apr-1.6.2.tar.gz  apr-util-1.6.0.tar.gz  httpd-2.4.29.tar.bz2

2.解压apr跨平台组件包和httpd源码包到当前目录下;并将跨平台组件包移动到源码包srclib目录下
[root@server opt]# tar zxvf apr-1.6.2.tar.gz
[root@server opt]# tar zxvf apr-util-1.6.0.tar.gz
[root@server opt]# tar jxvf httpd-2.4.29.tar.bz2
[root@server opt]# mv apr-1.6.2 httpd-2.4.29/srclib/apr
[root@server opt]# mv apr-util-1.6.0 httpd-2.4.29/srclib/apr-util

3.安装编译器和其他工具(新增zlib-devel,压缩工具)
[root@server opt]# yum -y install \
> gcc \
> gcc-c++ \
> make \                ##gcc、gcc-c++、make为编译工具
> pcre-devel \        ##支持正则表达式的工具
> expat-devel \      ##使网站能解析xml标记语言的工具
> perl \                    ##perl语言工具
> zlib-devel            ##压缩工具,做网页缓存必须有

4.configure配置(新增--enable-deflate压缩模块)
[root@server opt]# cd httpd-2.4.29/
[root@server httpd-2.4.29]# ./configure \
> --prefix=/usr/local/httpd \		##指定路径
> --enable-so \					##开启核心功能模块(Web服务)
> --enable-rewrite \			        ##开启重写功能,如防盗链保护
> --enable-charset-lite \			##字符集设定
> --enable-cgi \           ##开启通用网关接口,它定义了web服务器运行时外部程序的规范
> --enable-deflate       ##增加压缩模块

5.make编译和make install安装
[root@server httpd-2.4.29]# make && make install

6.配置启动脚本
[root@server bin]# cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd	 ##将启动脚本复制到/etc/init.d/初始化脚本文件中,并重命名为httpd
[root@server bin]# cd /etc/init.d/
[root@server init.d]# ls
functions  httpd  netconsole  network  README
[root@server init.d]# vim httpd 
#!/bin/sh	  ##在行首插入下两行内容(前面就是有#的),并保存退出
#chkconfig: 35 85 21 	##3(字符界面)和5(图形化界面)级别自动运行  第85个启动 第21个关闭
#description: Apache is a World Wide Web server  ##描述信息,可不加
#
#...省略内容
[root@server init.d]# chkconfig --add httpd    ##将httpd加入到service管理器

7.编辑配置文件
[root@server ~]# vim /usr/local/httpd/conf/httpd.conf 
...省略内容
Listen 192.168.19.50:80   ##设置ipv4监听地址和端口
#Listen 80                 ##将ipv6格式的监听端口注释掉
#
ServerName www.aa.com:80   ##设置域名地址

8.设置配置文件的软链接和httpd命令的软链接
[root@server bin]# ln -s /usr/local/httpd/conf/httpd.conf /etc/httpd.conf  
                       ##设置配置文件的软链接,便于修改(原文件位置太长了)
[root@server bin]# ln -s /usr/local/httpd/bin/* /usr/local/bin/    ##设置httpd命令的软链接
[root@server bin]# httpd -t    ##这时可以使用httpd命令了(httpd -t:检查配置文件语法)
Syntax OK
[root@server bin]# apachectl -t
Syntax OK

9.开启apache服务
[root@server bin]# iptables -F      ##清空防火墙规则
[root@server bin]# setenforce 0   ##关闭核心防护
[root@server bin]# systemctl restart httpd   ##利用service启动apache服务
[root@server bin]# netstat -napt |grep 80  ##查看httpd 80端口,开启成功
tcp        0      0 14.0.0.30:80            0.0.0.0:*               LISTEN      44819/httpd 
...省略内容                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

1.检查是否安装了mod_deflate模块

[root@server ~]# apachectl -D DUMP_MODULES | grep "deflate"

2.配置mod_deflate模块启动

[root@server ~]# vi /usr/local/httpd/conf/httpd.conf
LoadModule deflate_module/mod_deflate.so     #把前面的#删掉,启用mod_deflate模块
............#在文件末尾加入以下内容
AddOutputFilterByType DEFLATE text/html text/plain text/css text/xml text/javascript
DeflateCompressionLevel 9      #9代表压缩等级一般用6即可
SetOutputFilter DEFLATE

3.检测http.conf语法

[root@server ~]# apachectl -t
Syntax OK

4.检测模块是否安装

[root@server ~]# apachectl -D DUMP_MODULES | grep "deflate"
deflate_module(static)

5.重启apache

[root@server ~]# systemctl restart httpd

6.测试mod_deflate压缩是否生效
使用浏览器输入Apache服务器的IP,并使用Fiddler抓包工具,看到响应头中含有Content-Encoding:gzip,表示网页压缩生效

3.网页缓存

  • 通过mod_expire模块配置Apache,使网页能在客户端浏览器缓存一段时间,以避免重复请求
  • 启用mod_expire模块后,会自动生成页面头部信息中的Expires标签和Cache-Control标签,从而降低客户端的访问频率和次数,达到减少不必要的流量和增加访问速度的目的
启用网页缓存功能步骤
查看是否安装mod_expire模块
修改配置文件启用缓存功能
访问测试
配置网页压缩步骤详解

1.检查是否安装了mod_deflate模块

[root@server ~]# apachectl -D DUMP_MODULES | grep "expires"

2.configure配置(新增–enable-expires)

[root@server ~]# cd /opt/httpd-2.4.29/
[root@server httpd-2.4.29]# ./configure --enable-expires	

3.编译安装

[root@server httpd-2.4.29]# make && make install

4.修改http.conf配置文件

[root@server ~]# vi /etc/httpd.conf
LoadModule expires_module modules/mod_expires.so        #把前面的#删掉,启用mod_expires模块
设置http协议下任意格式的文档均60秒后过期
	
<IfModule mod_expires.c>
	ExpiresActive On
	ExpiresDefault "access plus 60 seconds"      #设置http协议下任意格式的文档均60秒后过期,可以自行修改
</IfModule>

5.检测http.conf语法

[root@server ~]# apachectl -t
Syntax OK

6.检查是否安装了mod_deflate模块

[root@server ~]# apachectl -D DUMP_MODULES | grep "expires"
expires_module (shared)

7.重启apache

[root@server ~]# systemctl restart httpd

8.测试缓存是否生效
使用浏览器输入Apache服务器的IP,并使用Fiddler抓包工具,看到响应头中含有Expires项,表示网页压缩生效
在这里插入图片描述

二、Apache安全优化

1.隐藏版本信息

作用:一般情况下,软件的漏洞信息和特定的版本是相关的,因此,软件的版本号对攻击者来说是很有价值的,所以我们隐藏Apache的版本号,减少受攻击风险,保护服务器安全运行

ServerTokens输出格式
选项输出格式
ProdServer:Apache
MajorServer:Apache/2
MinorServer:Apache/2.4
OSServer:Apaceh/2.4.25(Unix)
FULLServer:Apache/2.4.25(Unix) PHP/4.22 MyMod/1.2
配置隐藏版本信息步骤详解

1.修改httpd.conf配置文件

[root@server ~]# vi /etc/httpd.conf
Include conf/extra/httpd-default.conf        #删除前面的#

2.修改http-default.conf文件

[root@server ~]# vi /usr/local/httpd/conf/extra/httpd-default.conf
ServerTokens Prod            #把Full改成Prod
ServerSignature Off          #把On改成Off

3.检测http.conf语法

[root@server ~]# apachectl -t
Syntax OK

4.重启apache

[root@server ~]# systemctl restart httpd

5.测试版本信息是否隐藏生效
使用浏览器输入Apache服务器的IP,并使用Fiddler抓包工具,看到响应头中Apache版本号隐藏,表示隐藏版本信息成功
在这里插入图片描述

2.防盗链

配置Apache实现防盗链

  • 防盗链是防止别人的网站代码里面盗用我们自己服务器上的图片,文件,视频等相关资源
  • 如果别人盗用网站的这些静态资源,明显的是会增大服务器的带宽压力
  • 作为网站的维护人员,要杜绝服务器的静态资源被其他网站盗用
盗链模拟步骤

两台主机配置测试页面
盗链网站的测试网页,盗用源主机网站目录下的一个logo.jpg文件
在Windows中访问验证

配置防盗链步骤详解

环境准备
三台主机

IP地址域名用途
192.168.10.50wwwaa.com源主机
192.168.10.40www.bb.com盗链网站
客户机windows 10浏览器

要求源主机和盗链主机Apache工作正常,www.aa.com和www.bb.com能正常访问

盗链主机配置(注意:两张图片的格式不能相同)

在盗链主机上安装Apache(使用yum安装即可),在index.html写入网页内容

[root@server ~]# vi /var/www/html/index.html
<html><body>this is my web!!!<img src="http://192.168.10.50/1.png"/></body></htmll>
源主机上配置

1.检查Apache是否安装了mod_rewrite模块

[root@server ~]# apachectl -D DUMP_MODULES | grep "rewrite"
如果输出中没有rewrite_modules(static),则说明编译时没有安装mod_rewrite 模块

2.configure配置(新增–enable-rewrite)

[root@server ~]# cd /opt/httpd-2.4.29/
[root@server httpd-2.4.29]# ./configure --enable-rewrite       ##开启重写功能,防盗链保护  

3.重新编译安装

[root@server httpd-2.4.29]# make && make install

4.修改httpd.conf配置文件

[root@server ~]# vi /etc/httpd.conf
LoadModule rewrite_module module/mod_rewrite.so        #删除前面的#,开启重写功能
AllowOverride All      #None改为All
RewriteEngine On
RewriteCond %{HTTP_REFERED} !^192.168.10.50/.*$ [NC]
RewriteCond %{HTTP_REFERED} !^192.168.10.50$ [NC]
RewriteCond %{HTTP_REFERED} !^192.168.10.50/* [NC]
RewriteRule .*\.(gif|jpg|swf)$ 192.168.10.50/error.png [R,NC]

5.检测http.conf语法

[root@server ~]# apachectl -t
Syntax OK

6.检查是否安装了mod_deflate模块

[root@server ~]# apachectl -D DUMP_MODULES | grep "rewrite"
rewrite_module (shared)

7.测试
先用浏览器访问192.168.10.50,可以看到下图
在这里插入图片描述
做防盗链之前,是通过192.168.10.40可以盗图并访问
在这里插入图片描述
做完防盗链后再次访问192.168.10.40,则会访问到设置好的防盗图片
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值