当前位置:首页 > 网站源码 > 正文内容

idea怎么发送源码给别人(idea怎么上传代码到git)

网站源码10个月前 (01-30)224

1、 解决打开IDEA 对 CPU占用率巨大的问题

idea怎么发送源码给别人(idea怎么上传代码到git)

2、 优惠券超发事故:扣了我3个月绩效...

3、 面试官:如果要存 IP 地址,用什么数据类型比较好?99%人都会答错!

4、 高并发下秒杀商品,你必须知道的9个细节

5、 我在代码里面故意留个漏洞,违法吗?

来源:云原生实验室

前些天 Hacker News 上面有一个贴子火了,这是一封发给 Docker 安全团队的邮件,主要讲的是 Docker 有一个非常离谱的安全隐患。

即使你通过像 -p 127.0.0.1:80:80这样的参数将端口暴露到回环地址,外部仍然可以访问该服务,怎么回事呢?

原因其实很简单,Docker 添加了这样一条 Iptables 规则:

🐳 → iptables -nvL DOCKER

Chain DOCKER (2 references)

pkts bytes target prot opt inout sourcedestination

0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.2 tcp dpt:80

只要外部攻击者通过这台主机将流量发送到 172.17.0.2:80,就会匹配这条规则并成功访问容器中的服务,127.0.0.1并没有什么卵用。

尴尬的是,选择将端口映射到 127.0.0.1的用户基本上都是觉得这样很安全,以至于他们不再想采取进一步的安全措施。现在问题来了,映射到 127.0.0.1不能说是非常安全吧,只能说是与安全毫不相干。。。

概念验证

下面通过一个例子来验证。

在 A 机器上运行一个 PostgreSQL 容器,并将端口映射到 127.0.0.1。

# IP: 192.168.0.100

🐳 → docker run -e POSTGRES_PASSWORD=password -p 127.0.0.1:5432:5432 postgres

同一个局域网中的 B 机器添加路由表,将所有访问 172.16.0.0/12的流量指向 A 机器。

展开全文

# IP: 192.168.0.200

🐳 → ip route add 172.16.0.0/12 via 192.168.0.100

在 B 机器中扫描 A 机器的端口。

🐳 → nmap -p5432 -Pn --open 172.16.0.0/12

Starting Nmap 7.92 ( https://nmap.org ) at 2021-11-05 15:00 CDT

Nmap scan report for172.17.0.2

Host is up (0.00047s latency).

PORT STATE SERVICE

5432/tcp open postgresql

在 B 机器中直接连接 PostgreSQL。

🐳 → psql -h 172.17.0.2 -U postgres

Password foruser postgres:

解决方案

事实上不仅仅是 127.0.0.1,你将容器端口映射到主机的任何一个地址,外部都可以访问到,这就离了大谱了!

邮件作者给 Docker 团队提出了一个解决方案,希望能优化 Docker 的 iptables 规则:

首先要严格限制允许访问容器端口的源地址和网络接口,例如 docker run -p 127.0.0.1:5432:5432的原 iptables 规则如下:

Chain DOCKER (2 references)

pkts bytes target prot opt inout sourcedestination

0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.2 tcp dpt:5432

改进后的 iptables 规则如下:

Chain DOCKER (2 references)

pkts bytes target prot opt inout sourcedestination

0 0 ACCEPT tcp -- lo docker0 127.0.0.1/8 172.17.0.2 tcp dpt:5432

同理,如果主机的地址为 192.168.0.100,掩码为 24,那么 docker run -p 192.168.0.100:5432:5432的 iptables 规则就应该是:

Chain DOCKER (2 references)

pkts bytes target prot opt inout sourcedestination

0 0 ACCEPT tcp -- eth0 docker0 192.168.0.0/24 172.17.0.2 tcp dpt:5432

最后要修改默认行为,如果使用 -p参数时没有指定任何 IP 地址,就默认映射到 127.0.0.1。

虽然评论区也有很多人给出了添加 iptables 规则来进行限制的方案,但这是不现实的,目前全世界有成千上万的用户在使用 -p参数将容器端口映射到 127.0.0.1,攻击者估计早就发现了这个漏洞,我们不能期望用户自己添加 iptables 规则来限制外部访问,最靠谱的方式还是等 Docker 官方修复这个 bug 然后升级吧。

引用链接

Hacker News 上面有一个贴子: https://news.ycombinator.com/item?id=31839936

1、 国产开发工具的天花板,用来撸项目真香!

2、 这个 MySQL bug 99% 的人会踩坑!

3、公司产品太多了,怎么实现一次登录产品互通?

4、Redis 官方可视化工具,高颜值,功能太强大!

5、用了BigDecimal就不会资损?了解下BigDecimal这五个坑

6、一个依赖搞定 Spring Boot 反爬虫,防止接口盗刷!

7、千万不要把 Request 传递到异步线程里面!有坑!

8、不卷了!入职字节一周就果断跑了。

9、SpringBoot+ShardingSphereJDBC实现读写分离!

10、不好意思, Maven 该换了!

扫描二维码推送至手机访问。

版权声明:本文由我的模板布,如需转载请注明出处。


本文链接:http://60200875.com/post/50152.html

分享给朋友:

“idea怎么发送源码给别人(idea怎么上传代码到git)” 的相关文章

简洁ppt模板下载免费(ppt模板免费下载简约)

简洁ppt模板下载免费(ppt模板免费下载简约)

今天给各位分享简洁ppt模板下载免费的知识,其中也会对ppt模板免费下载简约进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录一览: 1、觅知网ppt模板如何免费下载...

sony相机怎么换照片格式(sony相机怎么换照片格式)

sony相机怎么换照片格式(sony相机怎么换照片格式)

本篇文章给大家谈谈sony相机怎么换照片格式,以及sony相机怎么换照片格式对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 本文目录一览: 1、索尼a1相机raw格式怎么设置 2、怎样用相...

明日之后vivo藏宝阁渠道版下载(明日之后vivo藏宝阁渠道版下载)

明日之后vivo藏宝阁渠道版下载(明日之后vivo藏宝阁渠道版下载)

本篇文章给大家谈谈明日之后vivo藏宝阁渠道版下载,以及明日之后vivo藏宝阁渠道版下载对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 本文目录一览: 1、怎么在电脑上玩vivo渠道服的明日之...

大学生数据新闻可视化作品(大学生数据可视化项目)

大学生数据新闻可视化作品(大学生数据可视化项目)

本篇文章给大家谈谈大学生数据新闻可视化作品,以及大学生数据可视化项目对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 本文目录一览: 1、数据可视化的16个经典案例 2、《数据新闻实战》ep...

湖南卫视在线直播节目单表(湖南卫视在线直播节目单表一周)

湖南卫视在线直播节目单表(湖南卫视在线直播节目单表一周)

本篇文章给大家谈谈湖南卫视在线直播节目单表,以及湖南卫视在线直播节目单表一周对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 本文目录一览: 1、怎样在网络电视上看电视直播。 2、抖音怎么看...

代码编程教学入门(代码编程教学入门书籍)

代码编程教学入门(代码编程教学入门书籍)

今天给各位分享代码编程教学入门的知识,其中也会对代码编程教学入门书籍进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录一览: 1、新手学编程应该先学什么? 2、代码编程...