OpenStack安全策略提升

1.规划节点

IP主机名节点
192.168.100.10controllerOpenStack控制节点
192.168.100.20computeOpenStack计算节点

2.环境准备

​ 使用OpenStack平台的两台节点,节点规划表中的IP地址为作者的IP地址,在进行实操案例的时候,按照自己的环境规划网络与IP地址。

3.理论知识

3.1了解http与https协议

1.http协议简介
​ HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。​ HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)。​ HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的规范化工作正在进行之中,而且HTTP-NG(Next Generation of HTTP)的建议已经提出。​ HTTP协议工作于客户端-服务端架构为上。浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求。Web服务器根据接收到的请求后,向客户端发送响应信息。
2https协议简介
​ HTTPS(全称:Hypertext Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。HTTPS协议 = HTTP协议 + SSL/TLS协议,在HTTPS数据传输的过程中,需要用SSL/TLS对数据进行加密和解密,需要用HTTP对加密后的数据进行传输,由此可以看出HTTPS是由HTTP和SSL/TLS一起合作完成的。​ SSL的全称是Secure Sockets Layer,即安全套接层协议,是为网络通信提供安全及数据完整性的一种安全协议。SSL协议在1994年被Netscape发明,后来各个浏览器均支持SSL,其最新的版本是3.0​ TLS的全称是Transport Layer Security,即安全传输层协议,最新版本的TLS(Transport Layer Security,传输层安全协议)是IETF(Internet Engineering Task Force,Internet工程任务组)制定的一种新的协议,它建立在SSL 3.0协议规范之上,是SSL 3.0的后续版本。在TLS与SSL3.0之间存在着显著的差别,主要是它们所支持的加密算法不同,所以TLS与SSL3.0不能互操作。虽然TLS与SSL3.0在加密算法上不同,但是在我们理解HTTPS的过程中,我们可以把SSL和TLS看做是同一个协议。​ HTTPS为了兼顾安全与效率,同时使用了对称加密和非对称加密。数据是被对称加密传输的,对称加密过程需要客户端的一个密钥,为了确保能把该密钥安全传输到服务器端,采用非对称加密对该密钥进行加密传输,总的来说,对数据进行对称加密,对称加密所要使用的密钥通过非对称加密传输。
3http与https协议的对比

在这里插入图片描述

在这里插入图片描述

4.上手操作

4.1配置yum源

​ 使用远程连接工具连接到控制节点,移除本地repo文件
controller # mv /etc/yum.repos.d/* /media/
​ 使用提供的https-repo.tar.gz文件上传至controller节点的/root目录下,进行解压,并放到/opt目录下
controller # tar -zxvf https-repo.tar.gz -C /opt
​ 创建repo文件,在/etc/yum.repos.d目录下创建ssl.repo文件
controller # vi /etc/yum.repos.d/ssl.repo [ssl] name=ssl baseurl=file:///opt/https-repo gpgcheck=0 enabled=1

4.2安装服务

​ 安装httpd、mod_wsgi、mod_ssl这几个组件
controller # yum install -y mod_wsgi httpd mod_ssl

4.3修改ssl配置文件

​ 修改/etc/httpd/conf.d/ssl.conf配置文件
controller # vi /etc/httpd/conf.d/ssl.conf #SSLProtocol all -SSLv2 -SSLv3 //找到该行,并注释 SSLProtocol all -SSLv2 //添加该行 

4.4开启ssl

​ 配置/etc/openstack-dashboard/local_settings 配置文件,修改参数
controller # vi /etc/openstack-dashboard/local_settings CSRF_COOKIE_SECURE = True //将该行的注释取消 SESSION_COOKIE_SECURE = True //将该行的注释取消 USE_SSL = True //添加该行 SESSION_COOKIE_HTTPONLY = True //添加该行 

4.5重启服务

​ 在修改完上述的配置文件后,重启httpd服务和缓存服务
controller # service httpd restart controller # service memcached restart

4.6访问dashboard

​ 输入IP地址进行访问: https://192.168.100.10/dashboard,通过https访问dashboard管理平台​ 使用https协议访问界面,会出现不是私密连接的提示,单击“隐藏详情”按钮,然后单击“继续前往192.168.100.10(不安全)”连接,进行访问OpenStack的Dashboard界面,如下图所示​ 输入Domain、用户名和密码进行登录​ 若继续使用http协议访问OpenStack的Dashboard界面,开会可以访问登录界面,但是在输入用户名和密码之后,会出现报错

至此,将OpenStack的Dashboard访问策略提升至https成功。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Three.js学习6:透视相机和正交相机

一、相机 相机 camera,可以理解为摄像机。在拍影视剧的时候,最终用户看到的画面都是相机拍出来的内容。 Three.js 里,相机 camera 里的内容就是用户能看到的内容。从这个角度来看,相机其实就是用户的视野,就像用户的眼…

【cmu15445c++入门】(6)c++的迭代器

一、迭代器 C 迭代器是指向容器内元素的对象。它们可用于循环访问该容器的对象。我们知道迭代器的一个示例是指针。指针可用于循环访问 C 样式数组. 二、代码 自己实现一个迭代器 // C iterators are objects that point to an element inside a container. // They can be…

【国产MCU】-CH32V307-模拟/数字转换器(ADC)

模拟/数字转换器(ADC) 文章目录 模拟/数字转换器(ADC)1、ADC介绍2、ADC驱动API介绍3、ADC使用实例3.1轮询方式采样3.2 中断方式采样3.3 DMA方式读取数据3.4 读取温度传感器值CH32V307内嵌2个12位的模拟/数字转换器(ADC),共用多达16 个外部通道和2 个内部通道采样,可编程的通道…

学习与学习理论 - 2024教招

一 学习的概述 1 学习的概念及其内涵 (1)学习的概念 学习是个体在特定情境下由于练习和反复经验而产生的行为或行为潜能的比较持久的变化。 人类的学习和动物学习的本质区别 人类学习是一个积极、主动的建构过程;人类的学习是掌握社会历史经验和个体经…

University Program VWF仿真步骤__全加器

本教程将以全加器为例,选择DE2-115开发板的Cyclone IV EP4CE115F29C7 FPGA,使用Quartus Lite v18.1,循序渐进的介绍如何创建Quartus工程,并使用Quartus Prime软件的University Program VWF工具创建波形文件,对全加器的…

人工智能:数据分析之数据预处理、分析建模、可视化

人工智能在数据分析中起着重要的作用。它可以帮助我们进行数据预处理、分析建模和可视化,从而揭示数据中隐藏的模式和趋势,以便做出更准确的决策。 数据预处理是在进行分析之前对数据进行清洗和转换的过程。这包括去除重复值、处理缺失值、处理离群值、…

【Android-Compose】Material3 新版下拉刷新 PullRefresh

这里写自定义目录标题 1、(新)用于 Jetpack Compose 的刷新指示器1.1 SwipeRefresh 迁移到新的 PullRefresh1.2 迁移步骤1.3 自定义指示器 2、原始文档(SwipeRefresh )的使用依赖导入2.1 使用方法2.2 完整示例(包括视图…

生物素-PEG4-酪胺,Biotin-PEG4-TSA,应用于酶联免疫吸附实验

您好,欢迎来到新研之家 文章关键词:生物素-PEG4-酪胺,Biotin-PEG4-Tyramide,Biotin-PEG4-TSA 一、基本信息 产品简介:Biotin PEG4 Tyramine is a reagent used for tyramine signal amplification (TSA) through ca…

算法.1-三大排序算法-对数器-二分

三大排序算法&对数器 1.选择排序 Java版 package class01;import java.util.Arrays;public class Code01_SelectionSort {public static void selectionSort(int[] arr) {if (arr null || arr.length < 2) {return;}// 0 ~ N-1 找到最小值&#xff0c;在哪&#xf…

深入探讨Python中的装饰器技术

1. 引言 Python是一门富有特色的编程语言&#xff0c;拥有众多强大的特性和工具。本文将深入研究Python中的装饰器技术&#xff0c;这是一种高级而灵活的编程概念&#xff0c;用于增强函数或方法的功能。 2. 装饰器基础 装饰器是一种函数&#xff0c;用于修改其他函数的行为…

5-2、S曲线计算【51单片机+L298N步进电机系列教程】

↑↑↑点击上方【目录】&#xff0c;查看本系列全部文章 摘要&#xff1a;本节介绍S曲线的基本变换&#xff0c;将基本形式的S曲线变换成为任意过两点的S曲线&#xff0c;为后续步进电机S曲线运动提供理论支撑 一.计算目标 ①计算经过任意不同两点的S曲线方程 ②可调节曲线平…

Linux命令-at命令(在指定时间执行一个任务)

说明 at命令 用于在指定时间执行命令。 at允许使用一套相当复杂的指定时间的方法。它能够接受在当天的hh:mm&#xff08;小时:分钟&#xff09;式的时间指定。假如该时间已过去&#xff0c;那么就放在第二天执行。 当然也能够使用midnight&#xff08;深夜&#xff09;&#xf…

2.5 作业

第四章 堆与拷贝构造函数 一 、程序阅读题 1、给出下面程序输出结果。 #include <iostream.h> class example {int a; public: example(int b5){ab;} void print(){aa1;cout <<a<<"";} void print()const {cout<<a<<endl;} }; void m…

pytorch——保存‘类别名与类别数量’到权值文件中

前言 不知道大家有没有像我一样&#xff0c;每换一次不一样的模型&#xff0c;就要输入不同的num_classes和name_classes,反正我是很头疼诶&#xff0c;尤其是项目里面不止一个模型的时候&#xff0c;更新的时候看着就很头疼&#xff0c;然后就想着直接输入模型权值文件的path…

【极简】Pytorch中的register_buffer()

register buffer 定义模型能用torch.save保存的、但是不更新参数。 使用&#xff1a;只要是nn.Module的子类就能直接self.调用使用&#xff1a; class A(nn.Module): #... self.register_buffer(betas, torch.linspace(beta_1, beta_T, T).double()) #...手动定义参数 上述…

C++之字符串

C风格字符串 字符串处理在程序中应用广泛&#xff0c;C风格字符串是以\0&#xff08;空字符&#xff09;来结尾的字符数组。对字符串进行操作的C函数定义在头文件<string.h>或中。常用的库函数如下&#xff1a; //字符检查函数(非修改式操作) size_t strlen( const char …

linux麒麟系统安装mongodb7.0

1.mogedb下载 下载的是他tar包 https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel80-7.0.5.tgz wget -o https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel80-7.0.5.tgz 也可以下载rpm包 2.将包上传至服务器并解压 #进入目录 并解压 cd /opt/ tar …

【 buuctf-另外一个世界】

flag 就隐藏在这一串二进制数中&#xff0c;可以利用在线工具转换得到 flag&#xff0c;本次讲一下用代码怎么转换。将二进制数转换成 ascii 字母&#xff0c;手写的话两种思路&#xff1a; 1.将二进制数四位一组先转成十六进制数&#xff0c;再将十六进制数两位一组&#xff…

JavaScript的表单、控件

&#x1f9d1;‍&#x1f393; 个人主页&#xff1a;《爱蹦跶的大A阿》 &#x1f525;当前正在更新专栏&#xff1a;《VUE》 、《JavaScript保姆级教程》、《krpano》、《krpano中文文档》 ​ ​ ✨ 前言 表单是 web 开发中不可或缺的一部分&#xff0c;用于收集用户输入。本…

React 错误边界组件 react-error-boundary 源码解析

文章目录 捕获错误 hook创建错误边界组件 Provider定义错误边界组件定义边界组件状态捕捉错误渲染备份组件重置组件通过 useHook 控制边界组件 捕获错误 hook getDerivedStateFromError 返回值会作为组件的 state 用于展示错误时的内容 componentDidCatch 创建错误边界组件 P…