Linux4.4网页与安全优化

文章目录

  • 计算机系统
    • 5G云计算
      • 第一章 LINUX Apache网页与安全优化
        • 一、网页压缩
          • 1.检查是否安装 mod_deflate 模块
          • 2.如果没有安装mod_deflate 模块,重新编译安装 Apache 添加 mod_deflate 模块
          • 3.配置 mod_deflate 模块启用
          • 4.检查安装情况,启动服务
          • 5.测试 mod_deflate 压缩是否生效
        • 二、网页缓存
          • 1.检查是否安装 mod_expires 模块
          • 2.如果没有安装mod_expires 模块,重新编译安装 Apache 添加 mod_expires模块
          • 3.配置 mod_expires 模块启用
          • 4.检查安装情况,启动服务
          • 5.测试缓存是否生效
        • 三、隐藏版本信息
          • 1.隐藏版本信息
        • 四、Apache 防盗链
          • 1.检查是否安装 mod_rewrite 模块
          • 2.配置 mod_rewrite 模块启用
          • 4.网页准备
          • 5.在盗图网站主机上进行浏览器验证

计算机系统

5G云计算

第一章 LINUX Apache网页与安全优化

在企业中,部署Apache后只采用默认的配置参数,会引发网站很多问题,换言之默认配置是针对以前较低的服务器配置的,以前的配置已经不适用当今互联网时代
为了适应企业需求,就需要考虑如何提升Apache的性能与稳定性,这就是Apache优化的内容

一、网页压缩

1.检查是否安装 mod_deflate 模块
apachectl -t -D DUMP_MODULES | grep "deflate"
2.如果没有安装mod_deflate 模块,重新编译安装 Apache 添加 mod_deflate 模块
systemctl stop httpd.service
cd /usr/local/httpd/conf
mv httpd.conf httpd.conf.bak

yum -y install gcc gcc-c++ pcre pcre-devel zlib-devel
cd /opt/httpd-2.4.29/
./configure \
--prefix=/usr/local/httpd \
--enable-so \
--enable-rewrite \
--enable-charset-lite \
--enable-cgi \
--enable-deflate				#加入mod_deflate 模块

make && make install
3.配置 mod_deflate 模块启用
vim /usr/local/httpd/conf/httpd.conf
###--52行--修改
Listen 192.198.58.60:80
###--105行--取消注释
LoadModule deflate_module modules/mod_deflate.so		
###开启mod_deflate 模块
###--197行--取消注释,修改
ServerName www.kb.com:80
###--末行添加--
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/plain text/css text/xml text/javascript text/jpg text/png	
###代表对什么样的内容启用gzip压缩
DeflateCompressionLevel 9			
###代表压缩级别,范围为1~9
SetOutputFilter DEFLATE				
###代表启用deflate 模块对本站点的输出进行gzip压缩
</IfModule>
4.检查安装情况,启动服务
apachectl -t			
###验证配置文件的配置是否正确
apachectl -t -D DUMP_MODULES | grep "deflate"		
###检查 mod_deflate 模块是否已安装
  deflate_module (shared)							
  ###已安装的正确结果

systemctl start httpd.service
5.测试 mod_deflate 压缩是否生效
cd /usr/local/httpd/htdocs/file
先将game.jpg文件传到/usr/local/httpd/htdocs/file目录下
vim hello.html
<html>
<body>
<h1>hello world!!!!!!!!!!!!!!</h1>
<img src="game.jpg"/>
</body>
</html>

在Linux系统中,打开火狐浏览器,右击点查看元素
选择 网络 ---> 选择 HTML、WS、其他 
访问 http://192.168.58.60 ,双击200响应消息查看响应头中包含 Content-Encoding: gzip

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

二、网页缓存

1.检查是否安装 mod_expires 模块
apachectl -t -D DUMP_MODULES | grep "expires"

在这里插入图片描述

2.如果没有安装mod_expires 模块,重新编译安装 Apache 添加 mod_expires模块
systemctl stop httpd.service
cd /usr/local/httpd/conf
mv httpd.conf httpd.conf.bak1

yum -y install gcc gcc-c++ pcre pcre-devel zlib-devel
cd /opt/httpd-2.4.29/
./configure \
--prefix=/usr/local/httpd \
--enable-so \
--enable-rewrite \
--enable-charset-lite \
--enable-cgi \
--enable-deflate \
--enable-expires			#加入mod_expires 模块

make && make install

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.配置 mod_expires 模块启用
vim /usr/local/httpd/conf/httpd.conf
###--52行--修改
Listen 192.198.58.60:80
###--111行--取消注释
LoadModule expires_module modules/mod_expires.so		
###开启mod_expires 模块
###--199行--取消注释,修改
ServerName www.kb.com:80
###--末行添加--
<IfModule mod_expires.c>
  ExpiresActive On								
  ###打开网页缓存功能
  ExpiresDefault "access plus 60 seconds"		
  ###设置缓存60秒
</IfModule>

在这里插入图片描述
在这里插入图片描述

4.检查安装情况,启动服务
apachectl -t			
###验证配置文件的配置是否正确
apachectl -t -D DUMP_MODULES | grep "expires"		
###检查 mod_deflate 模块是否已安装
  deflate_module (shared)							
  ###已安装的正确结果
  
systemctl start httpd.service

在这里插入图片描述

5.测试缓存是否生效
cat /usr/local/httpd/htdocs/file/hello.html

在Linux系统中,打开火狐浏览器,右击点查看元素
选择 网络 ---> 选择 HTML、WS、其他 
访问 http://192.168.58.60 ,双击200消息查看响应头中包含 Expires 项

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

三、隐藏版本信息

1.隐藏版本信息
vim /usr/local/httpd/conf/httpd.conf
##--491行--取消注释
Include conf/extra/httpd-default.conf

vim /usr/local/httpd/conf/extra/httpd-default.conf
##--55行--修改
ServerTokens Prod            
###将原本的 Full 改为 Prod,只显示名称,没有版本
###ServerTokens 表示 Server 回送给客户端的响应头域是否包含关于服务器 OS 类型和编译过的模块描述信息。

systemctl restart httpd.service

浏览器访问 http://192.168.58.60 ,双击200消息查看 Server 项

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

四、Apache 防盗链

1.检查是否安装 mod_rewrite 模块
apachectl -t -D DUMP_MODULES | grep "rewrite"
###一般默认添加安装了
2.配置 mod_rewrite 模块启用
vim /usr/local/httpd/conf/httpd.conf
###--157行--取消注释
LoadModule rewrite_module modules/mod_rewrite.so
###--224行--
<Directory "/usr/local/httpd/htdocs">
  Options Indexes FollowSymLinks
  AllowOverride None
  Require all granted

  RewriteEngine On 													###打开 rewrite 功能,加入 mode_rewrite 模块内容
  RewriteCond %{HTTP_REFERER} !^http://kb.com/.*$ [NC]				###设置匹配规则
  RewriteCond %{HTTP_REFERER} !^http://kb.com$ [NC]
  RewriteCond %{HTTP_REFERER} !^http://www.kb.com/.*$ [NC]
  RewriteCond %{HTTP_REFERER} !^http://www.kb.com/$ [NC]
  RewriteRule .*\.(gif|jpg|swf)$ http://www.kb.com/error.png		###设置跳转动作
</Directory>

------------------------------------------------------------------
RewriteCond %{HTTP_REFERER} !^http://www.kgc.com/.*$ [NC]  的字段含义:
“%{HTTP_REFERER}” :存放一个链接的 URL,表示从哪个链接中转访问目录下的静态资源
“!^” :表示不以后面的字符串开头
“http://www.kb.com” :是本网站的路径,按整个字符串匹配
“.*$” :表示以任意字符结尾
“[NC]” :表示不区分大小写字母

RewriteRule .*\.(gif|jpg|swf)$ http://www.kb.com/error.png  的字段含义:
“.” :表示匹配一个字符
“*” :表示匹配 0 到多个字符,与“.”合起来的意思是匹配 0 到多次前面的任意字符,如果是 1 到多次匹配可以用“+”表示
“\.” :在这里的“\”是转义符,“\.”就代表符号“.”的意思。因为“.”在指令中是属于规则字符,有相应的含义, 如果需要匹配,需要在前面加个转义符“\”,其它规则字符如果需要匹配,也做同样处理
“(gif|jpg|swf)” :表示匹配“gif”、“jpg”、“swf”任意一个,“$”表示结束。最后的规则是以“.gif”、“.jpg”、“.swf”结尾, 前面是1到多个字符的字符串,也就是匹配图片类型的文件
“http://www.kb.com/error.png” :表示转发到这个路径 

整个配置的含义是 使用本网站以外的网站域名 访问本站的图片文件时,显示 error.png 这个图片

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.网页准备
Web源主机配置:
cd /usr/local/httpd/htdocs/file
将game.jpg、error.png文件传到/usr/local/httpd/htdocs/file目录下
vim hello.html
<html>
<body>
<h1>this is kb.com!</h1>
<img src="game.jpg"/>
</body>
</html>

echo "192.168.58.60 www.kb.com" >> /etc/hosts 
echo "192.168.58.61 www.benet.com" >> /etc/hosts 

盗链网站主机:
cd /usr/local/httpd/htdocs				
###yum安装的httpd服务的默认路径为/var/www/html/
vim index.html
<html>
<body>
<h1>this is benet.com!</h1>
<img src="http://www.kb.com/game.jpg"/>
</body>
</html>

echo "192.168.58.60 www.kb.com" >> /etc/hosts 
echo "192.168.58.61 www.benet.com" >> /etc/hosts 

在这里插入图片描述
在这里插入图片描述

5.在盗图网站主机上进行浏览器验证
http://www.benet.com

在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/26381.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

06 Redis分布式锁

常见面试问题 Redis除了拿来做缓存&#xff0c;你还见过基于Redis的什么用法&#xff1f;Redis 做分布式锁的时候有需要注意的问题&#xff1f;如果是 Redis 是单点部署的&#xff0c;会带来什么问题&#xff1f;那你准备怎么解决单点问题呢&#xff1f;集群模式下&#xff0c…

MySQL函数

日期函数 获得年月日&#xff1a; select current_date(); ---------------- | current_date() | ---------------- | 2017-11-19 | ----------------获得时分秒&#xff1a; select current_time(); ---------------- | current_time() | ---------------- | 13:51:21 …

SpringCloud:分布式缓存之Redis哨兵

Redis提供了哨兵&#xff08;Sentinel&#xff09;机制来实现主从集群的自动故障恢复。 1.哨兵原理 1.1.集群结构和作用 哨兵的结构如图&#xff1a; 哨兵的作用如下&#xff1a; 监控&#xff1a;Sentinel会不断检查您的master和slave是否按预期工作自动故障恢复&#xff…

使用 ChatGPT API 构建系统(三):思维链推理

今天我学习了DeepLearning.AI的 Building Systems with the ChatGPT API 的在线课程&#xff0c;我想和大家一起分享一下该门课程的一些主要内容。 下面是我们通过Open API来访问ChatGPT模型的主要代码&#xff1a; import openai#您的openai的api key openai.api_key YOUR-O…

VMware安装Centos7图形化GUI系统全过程

1、打开vmware&#xff0c;点击文件然后新建虚拟机 2、然后自定义直接下一步 3、下一步 4、这里我们稍后安装操作系统&#xff0c;继续下一步 5、随后选择Centos7 64位&#xff0c;继续下一步 6、选择你所需要安装的虚拟机存放的位置&#xff0c;虚拟机名字看自己来设置&#x…

MapReduce序列化【用户流量使用统计】

目录 什么是序列化和反序列化&#xff1f; 序列化 反序列化 为什么要序列化&#xff1f; 序列化的主要应用场景 MapReduce实现序列化 自定义bean对象实现Writable接口 1.实现Writable接口 2.无参构造 3.重写序列化方法 4.重写反序列化方法 5.顺序一致 6.重写toStri…

小狗避障-第14届蓝桥杯省赛Scratch中级组真题第4题

[导读]&#xff1a;超平老师的《Scratch蓝桥杯真题解析100讲》已经全部完成&#xff0c;后续会不定期解读蓝桥杯真题&#xff0c;这是Scratch蓝桥杯真题解析第139讲。 小狗避障&#xff0c;本题是2023年5月7日举行的第14届蓝桥杯省赛Scratch图形化编程中级组编程第4题&#xf…

二、高通相机bringup 流程

和你一起终身学习&#xff0c;这里是程序员Android 经典好文推荐&#xff0c;通过阅读本文&#xff0c;您将收获以下知识点: 一、相机Sensor 点亮相关的文件二、Sensor 驱动文件详解 一、相机Sensor 点亮相关的文件 1.1 Sensor 驱动XML以及CPP文件 Sensor 文件路径&#xff1a;…

基于stm32的超声波测距

文章目录 一、HC-SR04超声波测距模块说明1、产品特点2、电气参数3、HC-SR04超声波测距模块4、超声波时序图 二、 CUBEMX配置三、keil配置代码 模块选择&#xff1a; stm32f103c8芯片 HC-SR04超声波测距模块 一、HC-SR04超声波测距模块说明 1、产品特点 HC-SR04 超声波测距模块…

UNIX网络编程卷一 学习笔记 第十七章 ioctl操作

ioctl函数传统上一直作为那些不适合归入现有已定义类别的特性的系统接口。POSIX正在通过创建特定的包装函数来代替ioctl函数的某些功能&#xff0c;以取而代之的是那些已被POSIX标准化的函数。例如&#xff0c;Unix终端接口传统上使用ioctl函数访问&#xff0c;而POSIX为终端创…

CVE漏洞复现-CVE-2023-32233 NetFilter权限提升

CVE-2023-32233 NetFilter权限提升 Netfilter是Linux 内核中的网络数据包处理框架&#xff08;iptables&#xff09;通过各种规则和过滤器&#xff0c;基于数据包的来源、目标地址、协议类型、端口号等信息&#xff0c;控制网络流量和数据包的转发和处理具体&#xff0c;详情请…

灵活使用Postman环境变量和全局变量,提高接口测试效率!

目录 前言&#xff1a; 环境变量和全局变量的概念 环境变量和全局变量的使用方法 1. 定义变量 2. 使用变量 环境变量和全局变量的实例代码 变量的继承和覆盖 变量的动态设置 总结&#xff1a; 前言&#xff1a; Postman是一个流行的API开发和接口测试工具&#xff0c;…

RK平台使用i2c-tools调试

简介 i2ctool是嵌入式开发过程中调试i2c设备常用的工具包&#xff0c;其中比较常用的有&#xff1a;i2cdetect、i2cdump、i2cset、i2cget。 RK平台的SDK大部分默认都会带这个工具&#xff0c;如果没有编译进去或者找不到的情况下可以自己从网上下载编译进去&#xff1a;https:…

JavaScript中的Hook技术:特性、优点、缺点和使用场景

引言&#xff1a; 随着JavaScript的不断发展&#xff0c;开发者们正在寻找更灵活和可扩展的方式来修改或扩展现有的代码。其中一种广泛应用的技术是"Hook"&#xff0c;它允许开发者拦截和修改现有的函数或方法的行为。本文将详细介绍JavaScript中的Hook技术&#xf…

Hive库表基本操作

Hive基本操作-库、表 规则语法 大小写规则: 1. hive的数据库名、表名都不区分大小写 2. 建议关键字大写 复制代码 命名规则&#xff1a; 1. 名字不能使用数字开头 2. 不能使用关键字 3. 尽量不使用特殊符号 复制代码 库操作语法 创建数据库 创建数据库的本质就是在hive…

javascript基础十六:Ajax 原理是什么?如何实现?

一、是什么 AJAX全称(Async Javascript and XML) 即异步的JavaScript 和XML&#xff0c;是一种创建交互式网页应用的网页开发技术&#xff0c;可以在不重新加载整个网页的情况下&#xff0c;与服务器交换数据&#xff0c;并且更新部分网页 Ajax的原理简单来说通过XmlHttpRequ…

算法复杂度分析(一)

求第n个斐波那契数列 斐波那契数 0 1 1 2 3 5 数列默认从0开始 public static int fib1(int n) {if(n < 1) return n;return fib1(n-1) fib1(n-2);}public static int fib2(int n) {if(n < 1) return n;int first 0;int secend 1;for (int i 0; i < n-1; i) {int…

solr教程

一&#xff1a;安装配置 下载完成之后&#xff0c;解压solr文件&#xff0c;解压tomcat 1.1 在tomcat安装solr,并且建立solrCore 把solr5.5目录下的server/solr-webapp/webapp 重命名为solr,并且放置到tomcat/webapp的目录下。 打开tomcat/webapp/solr/WEB-INF/web.xml新建…

DevOps - (3)使用SOPS 和Terraform来加密/解密敏感信息文件

一&#xff1a;背景 每个人都想将自己的敏感数据以加密格式存储在一个安全的地方。例如我们的数据库的账号密码&#xff0c;不能以纯文本的方式来记录。让我们利用Mozilla SOPS以一种安全的方式实现它。SOPS支持将文件加密为二进制文件&#xff0c;除此之外&#xff0c;它还具…

LNMT架构之LNMT与nginx动静分离

LNMT架构之LNMT与nginx动静分离 目录 一、实验前提环境配置 &#xff08;一&#xff09;关闭防火墙&#xff0c;安装本地yum &#xff08;二&#xff09;部署tomcat &#xff08;三&#xff09;部署Mariadb &#xff08;四&#xff09;部署nginx 二、动静分离 步骤一&a…