docker安全与https协议

一、docker存在的安全问题

1、docker 自身漏洞

docker 应用本身实现上会有代码缺陷,docker 历史版本共有超过 20 项漏洞

2、docker公有仓库安全问题

docker 提供了 docker hub,可以让用户上传创建的镜像,以便其他用户下载,快速搭建环境。但同时也带来了一些安全问题,例如:黑客上传恶意镜像、镜像使用有漏洞的软件、中间人攻击篡改镜像。

3、容器之间的局域网攻击

主机上的容器之间可以构成局域网,因此针对局域网的ARP欺骗、端口扫描、广播风暴等攻击方式便可以用上。所以,在一个主机上部署多个容器需要合理的配置网络安全,比如设置 iptables 规则

4、 DDoS 攻击耗尽资源

DDOS 攻击,中文名叫分布式拒绝服务攻击,指借助服务器技术将多个计算机联合起来作为攻击平台,来对一个或多个目标发动 DDOS 攻击。通过大量合法的请求占用大量网络资源,以达到瘫痪网络的目的

Cgroups 安全机制就是要防止此类攻击的,不要为单一的容器分配过多的资源即可避免此类问题

5、有漏洞的系统调用

Docker 与虚拟机的一个重要的区别就是 Docker 与宿主机共用一个操作系统内核。

一旦宿主内核存在可以越权或者提权漏洞,尽管Docker使用普通用户执行,在容器被入侵时,攻击者还可以利用内核漏洞跳到宿主机做更多的事情。

6、共享root用户权限

如果以 root 用户权限运行容器(docker run --privileged),容器内的 root 用户也就拥有了宿主机的root权限

二、docker容器使用安全注意点

使用最少资源和最低权限运行容器,此为 Docker 容器安全的核心思想。

尽量别做的事:

尽量不用 --privileged 运行容器(授权容器root用户拥有宿主机的root权限)
尽量不用 --network host 运行容器(使用host网络模式共享宿主机的网络命名空间)
尽量不在容器中运行 ssh 服务
尽量不把宿主机系统的关键敏感目录挂载到容器中

尽量要做的事:

尽量使用较小体积的镜像
尽量以单一应用进程运行容器
尽量在容器中使用最新稳定版本的应用
尽量安装使用最新稳定版本的docker
尽量以最低权限运行容器
尽量使用官方提供的镜像或自己构建的镜像
尽量给docker目录(默认/var/lib/docker/)分配独立的文件系统
尽量以资源限制的方式运行容器 -m  --memory-swap  --cpu-quota   --cpu-shares --cpuset-cpus   --device-write-bps
尽量以只读的方式挂载数据卷,持久化容器数据到宿主机的除外     -v 宿主机目录:容器数据卷目录:ro
尽量设置容器的重启策略和次数   --restart always|on-failure:N
尽量对镜像进行漏洞扫描

三、https协议

https是安全的超文本传输协议,使用tcp协议443端口,采用密文传输,证书加密(ssl/tls加密)的方式

1、https的单向认证流程

0)服务端会事先通过CA签发服务端证书和私钥文件
1)客户端发送https请求到服务端的443端口
2)服务端会先返回一个包含公钥、证书有效期、CA机构等信息的证书给客户端
3)客户端受到服务端发来的证书后,会先用本地的CA证书校验服务端证书的有效性,如果证书有效,则继续,否则告警
4)客户端发送自己可支持的对称加密方案给服务端
5)服务端会选择加密程度最高的方案,并通过明文方式发送给客户端
6)客户端使用选择的加密方案生成随机会话密钥并通过证书中的公钥进行加密,再发送给服务端
7)服务端会用私钥进行解密获取客户端发来的随机会话密钥,并使用这个会话密钥加密要返回的报文,再发送给客户端
8)客户端也使用这个会话密钥进行解密获取服务端返回的数据,之后双方可继续这个会话密钥进行加密和解密来实现密文通信

2、https的双向认证流程

0)服务端和客户端会事先通过CA签发服务端证书和私钥文件
1)客户端发送https请求到服务端的443端口
2)服务端会先返回一个包含公钥、证书有效期、CA机构等信息的证书给客户端
3)客户端收到服务端发来的证书后,会先用本地的CA证书校验服务端证书的有效性,如果证书有效,再将包含公钥的客户端证书发送给服务端
4)服务端收到客户端证书后也会校验证书的有效性,客户端还会发送自己可支持的对称加密方案给服务端
5)服务端会选择加密程度最高的方案,并通过客户端证书里的公钥加密后发送给客户端
6)客户端使用私钥解密获取选择的加密方案,并使用此加密方案生成随机会话密钥,再通过服务端证书中的公钥进行加密,再发送给服务端
7)服务端会用私钥进行解密获取客户端发来的随机会话密钥,并使用这个会话密钥加密要返回的报文,再发送给客户端
8)客户端也是这个会话密钥进行解密获取服务端返回的数据,之后双方可继续这个会话密钥进行加密和解密来实现密文通信

3、如何获取证书

①在阿里云、华为云、腾讯云等云服务商那里申请一年有效期的免费证书或者购买证书
②在本地使用 openssl、mkcert、cfssl、certbot(Let's Encrypt)等工具生成本地私钥证书

4、mkcert工具获取证书

5、openssl工具获取证书

①先使用yum安装openssl
②创建ca私钥

③创建ca证书

req:执行证书签发命令

-new:新证书签发请求

-x509:生成x509格式证书,专用于创建私有CA时使用

-days:证书的有效时长,单位是天

-key:指定私钥路径

-out:输出文件的路径和名称

④创建服务器私钥

⑤生成证书签名请求文件(csr文件)

x509:生成x509格式证书

-req:输入csr文件

-in:要输入的csr文件

-CA:指定ca证书的路径

-CAkey:指定ca证书的私钥路径

-CAcreateserial:表示创建证书序列号文件,创建的序列号文件默认名称为ca.srl

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

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

相关文章

05 MyBatis之表关系的声明+事务+SqlSession三件套的作用域

MyBatis 支持一对一,一对多,多对多查询。XML 文件和注解都能实现关系的操作。多对多实质就是一对多 1. 表关系的维护 1.1 One一对一 一对一查询和多表(两表)查询很相似, 都能查询两表的全部属性 区别是一对一可以在对象中嵌套对象, 呈现包含关系; 多表…

elementUI之用label传值给v-model的el-radio

如图 这个控件比较特别,是用label作为传给v-model的值,其他控件大多都是用value来传值。 el-radio-group的作用是将其中的单选控件作为一组。

1 计算机网络概述(一):概述

目录 目标1 计算机网络概述1.1 计算机网络的定义和演变1、计算机网络的定义2、计算机网络的演变3、网络发展的里程碑4、我国的网络发展 1.2 计算机网络的分类、组成和网络性能1、计算机网络的分类2、计算机网络的组成3、网络主要性能 目标 了解计算机网络的产生和发展过程了解…

chromedriver安装和环境变量配置

chromedriver 1、安装2、【重点】环境变量配置(1)包的复制:(2)系统环境变量配置 3、验证 1、安装 网上随便搜一篇chromedriver的安装文档即可。这里是一个快速链接 特别提醒:截止2024.1.30,chr…

第 7 章:进程间通信

在本章中,您将了解Linux提供的进程间通信(IPC)接口。通过它们,您将全面了解如何满足系统和软件需求。首先,您将学习消息队列(MQs),这是对[第3章]中关于管道的讨论的延续。此外&#…

[ESP32]在Thonny IDE中,如何將MicroPython firmware燒錄到ESP32開發板中?

[ESP32 I MicroPython] Flash Firmware by Thonny(4.1.4) IDE 正常安裝流程,可參考上述影片。然而,本篇文章主要是紀錄安裝過程遇到的bug, 供未來查詢用,也一併供有需要的同好參考。 問題:安裝後,Thonny互動介面顯示一堆亂碼和co…

【C++】STL之空间配置器(了解)

一、什么是空间配置器 空间配置器 ,顾名思义就是为各个容器高效的管理空间(空间的申请与回收)的,在默默地工作。虽然在常规使用 STL 时,可能用不到它,但站在学习研究的角度,学习它的实现原理对…

2024年【陕西省安全员A证】考试资料及陕西省安全员A证考试技巧

题库来源:安全生产模拟考试一点通公众号小程序 陕西省安全员A证考试资料考前必练!安全生产模拟考试一点通每个月更新陕西省安全员A证考试技巧题目及答案!多做几遍,其实通过陕西省安全员A证证考试很简单。 1、【多选题】《陕西省建…

pinctrl/gpio子系统(1)-pinctrl子系统介绍及驱动源码分析

1.简介 在如今的驱动开发工作中,实际上已经很少去对着寄存器手册进行驱动开发了,一般板子拿到手,已经有原厂的驱动开发工程师,在gpio子系统、pinctrl子系统中将自家芯片的引脚适配好了。 我们直接基于设备树已配置好的寄存器值&a…

个人证件照电子版怎么弄?分享详细的步骤!

在当今数字化的时代,个人证件照电子版已成为我们生活中不可或缺的一部分。无论是办理护照、身份证,还是申请各种证书,都需要提供个人证件照。但是,如何快速、简单地制作出符合要求的电子版证件照呢?本文将为你详细介绍…

Java多线程--同步机制解决线程安全问题方式二:同步方法

文章目录 一、同步方法(1)同步方法--案例11、案例12、案例1之同步监视器 (2)同步方法--案例21、案例2之同步监视器的问题2、案例2的补充说明 二、代码及重要说明(1)代码(2)重要说明 …

刨析数据结构(一)

🌈个人主页:小田爱学编程 🔥 系列专栏:数据结构————"带你无脑刨析" 🏆🏆关注博主,随时获取更多关于数据结构的优质内容!🏆🏆 😀欢迎…