System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及网络安全,尤其涉及一种docker容器防火墙配置方法及系统。
技术介绍
1、linux是一套免费使用和自由传播的类unix操作系统,同时也是多数服务器都会采用的操作系统。而docker作为一种新兴的虚拟化方式,跟传统的虚拟化方式相比具有众多的优势,它能实现更快速的交付和部署、更高效的虚拟化、更轻松的迁移和扩展、更简单的管理。目前在业界使用linux+docker作为服务的运行环境是最主流的选择。
2、docker容器的跨网络隔离与通信,是借助了iptables的机制,其原理是在iptables的nat表中添加规则,匹配所有对docker容器的网络请求并转向到到自己额外提供的链,以实现bridge网络之间的隔离与通信。同时,docker额外提供的链中,默认对所有网络开放容器暴露的端口。
3、由于docker默认对所有网络开放容器暴露的端口,带来了较大的安全隐患,必须在防火墙中对这些端口进行管理。一般来说,有以下几种方式对docker进行防火墙管理:
4、一、使用linux系统中常用的防火墙如firewalld、ufw进行管理。然而,基于docker的网络通信原理,此种方式无法正常工作,并不能真正限制外部网部访问docker暴露的端口。
5、二、关闭docker操作iptables的功能,并调整firewalld或ufw的规则链,从而使得在firewalld或ufw中添加的规则能管理docker容器暴露的端口。此种方式可以正常工作,但由于关闭了docker操作iptabl
6、三、直接使用底层的iptables管理docker-user链上的规则,也能正常管理docker容器暴露的端口。此种方式的优点是可复用程度高,只要是包含iptables的linux系统就能使用,而当前绝大多数运行的linux系统的防火墙都是基于iptables的。但是,此种方式也存在一些缺点,如规则易丢失、不够自动化、可靠性差等。
7、因此,需要提出一种方法来在linux系统中对docker进行防火墙管理,解决以上存在的问题。
技术实现思路
1、本专利技术提供一种docker容器防火墙配置方法及系统,用以解决现有技术中针对docker中防火墙部署管理的缺陷。
2、第一方面,本专利技术提供一种docker容器防火墙配置方法,包括:
3、在linux系统中启用iptables服务,创建docker容器;
4、采用iptables命令,在所述docker容器的docker-user链上添加防火墙规则;
5、将所述防火墙规则添加命令之后存储至shell脚本中,待docker服务或linux系统重启后,重新执行所述shell脚本添加所述防火墙规则;
6、利用systemd技术将所述shell脚本注册为系统服务,基于所述系统服务对docker服务的启动操作或重启操作进行实时监控。
7、根据本专利技术提供的一种docker容器防火墙配置方法,在linux系统中启用iptables服务,创建docker容器,包括:
8、在linux系统中启用iptables服务,采用查询命令确认所述iptables服务的运行状态;
9、在linux系统中安装并启动docker服务;
10、创建一个docker容器并暴露一个端口;
11、在linux系统的宿主机上验证是否能成功访问docker容器服务;
12、在与所述宿主机相同局域网内的其他主机上验证是否能成功访问docker容器服务。
13、根据本专利技术提供的一种docker容器防火墙配置方法,采用iptables命令,在所述docker容器的docker-user链上添加防火墙规则,包括:
14、在所述docker-user链上添加禁止非本机ip访问端口规则;
15、通过本机验证脚本在宿主机上验证是否能访问docker容器服务;
16、通过其他主机验证脚本在与所述宿主机相同局域网内的其他主机上验证是否能成功访问docker容器服务。
17、根据本专利技术提供的一种docker容器防火墙配置方法,所述禁止非本机ip访问端口规则中的访问端口为docker容器内部端口。
18、根据本专利技术提供的一种docker容器防火墙配置方法,将所述防火墙规则添加命令之后存储至shell脚本中,待docker服务或linux系统重启后,重新执行所述shell脚本添加所述防火墙规则,包括:
19、创建shell脚本文件,在所述shell脚本文件中写入防火墙规则添加命令;
20、为所述shell脚本添加可执行权限;
21、待docker服务重启后,执行所述shell脚本;
22、待linux系统重启后,执行所述shell脚本。
23、根据本专利技术提供的一种docker容器防火墙配置方法,利用systemd技术将所述shell脚本注册为系统服务,基于所述系统服务对docker服务的启动操作或重启操作进行实时监控,包括:
24、创建系统服务文件,在所述系统服务文件中写入服务相关信息;
25、将dockeruserchainset服务与docker服务进行绑定;
26、为所述dockeruserchainset服务添加可执行权限;
27、注册所述dockeruserchainset服务;
28、启动所述dockeruserchainset服务,将所述dockeruserchainset服务设置为自启动;
29、获取dockeruserchainset服务状态;
30、待重启docker服务或重启linux系统之后,检查docker-user链中的规则。
31、第二方面,本专利技术还提供一种docker容器防火墙配置系统,包括:
32、创建模块,用于在linux系统中启用iptables服务,创建docker容器;
33、添加模块,用于采用iptables命令,在所述docker容器的docker-user链上添加防火墙规则;
34、重启模块,用于将所述防火墙规则添加命令之后存储至shell脚本中,待docker服务或linux系统重启后,重新执行所述shell脚本添加所述防火墙规则;
35、注册模块,用于利用systemd技术将所述shell脚本注册为系统服务,基于所述系统服务对docker服务的启动操作或重启操作进行实时监控。
36、第三方面,本专利技术还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,本文档来自技高网...
【技术保护点】
1.一种docker容器防火墙配置方法,其特征在于,包括:
2.根据权利要求1所述的docker容器防火墙配置方法,其特征在于,在linux系统中启用iptables服务,创建docker容器,包括:
3.根据权利要求1所述的docker容器防火墙配置方法,其特征在于,采用iptables命令,在所述docker容器的DOCKER-USER链上添加防火墙规则,包括:
4.根据权利要求3所述的docker容器防火墙配置方法,其特征在于,所述禁止非本机IP访问端口规则中的访问端口为docker容器内部端口。
5.根据权利要求1所述的docker容器防火墙配置方法,其特征在于,将所述防火墙规则添加命令之后存储至shell脚本中,待docker服务或linux系统重启后,重新执行所述shell脚本添加所述防火墙规则,包括:
6.根据权利要求1所述的docker容器防火墙配置方法,其特征在于,利用systemd技术将所述shell脚本注册为系统服务,基于所述系统服务对docker服务的启动操作或重启操作进行实时监控,包括:
...【技术特征摘要】
1.一种docker容器防火墙配置方法,其特征在于,包括:
2.根据权利要求1所述的docker容器防火墙配置方法,其特征在于,在linux系统中启用iptables服务,创建docker容器,包括:
3.根据权利要求1所述的docker容器防火墙配置方法,其特征在于,采用iptables命令,在所述docker容器的docker-user链上添加防火墙规则,包括:
4.根据权利要求3所述的docker容器防火墙配置方法,其特征在于,所述禁止非本机ip访问端口规则中的访问端口为docker容器内部端口。
5.根据权利要求1所述的docker容器防火墙配置方法,其特征在于,将所述防火墙规则添加命令之后存储至shell脚本中,待docker服务或linux系统重启后,重新执行所述shell脚本添加所述防火墙规则,包括:
6.根据权...
【专利技术属性】
技术研发人员:肖维,刘伟,喻淼,胡波,梅粮飞,侯俊,刘浩,李金平,王源楠,梁云昊,
申请(专利权)人:长江信达软件技术武汉有限责任公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。