Tag: 安全

AWS的微服务安全性

我有一个ECS集群,我有几个服务运行。 他们都有自己的负载平衡器,所以每一个服务,我有一个像http://my-service-1234554321.eu-west-1.elb.amazonaws.com的URL。 但是,我想只为全世界开放所有这些(f.ex. 10)服务中的一个服务,而其他所有我希望隐藏的服务只能通过HTTP从这个群集中的服务访问它们。 这是可能的吗?我该怎么做?

如何更改已经分配给运行容器的docker用户设置和入口点

我使用Docker 1.12.3 我想为一个特定的用户创build一个图像,odoo说,这个图像已经被编译为“odoo”用户。 现在我想对卷进行一些更改,我必须运行安装vim来完成,然后我必须运行docker run –user = root -i -t –entrypoint / bin / bash odoo:9.0 我怎样才能取回容器作为“odoo”和默认入口点,因为它已经组成? 谢谢。

运行js代码这就是域名locking

我想知道是否有可能运行js代码设置为只能在localhost运行 有没有一种方法来启动一个主机名为localhost的docker容器,并让js代码执行它作为从web服务? so www.sample.com loads a site -> /js/* -> proxys to docker loading js code assuming the hostname of the docker container which would be localhost 或者也许有另一种直观的方式来实现这一目标? 更新: 最后它欺骗js代码认为它是从localhost:80而不是www.sample.com:80

将perf_event_open添加到docker的seccompconfiguration文件中

我试图按照答案添加特权在容器中运行perf。 不过,我需要知道哪个白名单部分应该添加“perf_event_open”。 谢谢!

在docker 1.10之后有没有办法从中间层访问文件?

在docker 1.10之后,如果您从其他位置将其拖出, docker history将不再显示图像的中间层,而不是在本地构build。 这个github问题讨论了这个变化,还提到使用docker save和docker load ,你可以使用中间层作为caching。 这是否意味着,如果一个图像是build立,只是上传到一个存储库(即没有tar文件),有没有办法下载图像的人来恢复中间层? 我特别想知道的是: COPY sensitive_file . RUN do_something_with ./sensitive_file RUN rm ./sensitive_file 是否可以像上面那样编写Dockerfile,并假设(除非docker中有一个未知的漏洞),这个敏感文件将不会被其他人访问? 我知道,还有其他方式来处理凭据或敏感文件,如设置本地服务器和RUN wget file && use file && rm file ,群集docker机密,或使用docker保险库。 我不是在寻找处理敏感文件的不同方法, 而我只是有兴趣,如果上述方法使文件可访问或不。 谢谢!

为什么容易将docker守护进程绑定到0.0.0.0?

最近我在我的docker gitlab CI容器中出现错误: 无法连接到Docker守护进程。 docker守护程序是否在这个主机上运行? 我发现这个线程在一个职位的build议 : sudo service docker stop && sudo nohup docker daemon -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock & 最终我在我的服务器主机上发现了一个滥用警告,那就是我的机器在端口2375上进行了端口扫描 我发现一个https://hub.docker.com/r/kannix/monero-miner/的实例杀死了它十次,最终重新启动,并且从那以后还没有返回。 这个网站表明有一个: Cisco CloudCenter Orchestrator(CCO;以前称为CliQr)的Docker Engineconfiguration中的漏洞可能允许未经身份validation的远程攻击者在受影响的系统上安装具有高权限的Docker容器。 受影响的产品:此漏洞影响Docker Engine TCP端口2375在系统上打开且绑定到本地地址0.0.0.0(任何接口)的所有Cisco CloudCenter Orchestrator(CCO)部署版本。 所以我的问题是:以上的方式(绑定到tcp://0.0.0.0:2375)启动docker守护进程本质上是脆弱的(如果是这样,为什么?)还是在docker中的错误?

如何在Docker中实现seccomp?

我遇到了大多数Docker安全性开发者可能遇到的问题。 我还没有能够通过security_opt标签在Docker-compose中实现seccomp,因为在docker撰写方面,我不能读懂json文件。 另一方面,有一个简单的方法通过命令行在容器中实现seccomp: docker run –rm -it –security-opt seccomp = / path / to / seccomp / profile.json <container> 在我目前的项目中,我需要实现seccomp,但在docker守护进程或docker撰写级别。 请任何人有任何线索如何做这将是非常有益的。 从已经非常感谢你。

限制访问本地networking中的docker dev环境

我为我的开发环境使用了Docker for Mac。 问题是我们的本地networking中的任何人都可以访问我的机器上运行的服务器和MySQL数据库。 当然,他们需要知道他们可能蛮横的凭据。 例如,如果我的本地IP是10.10.100.22 ,有人可以通过键入https://10.10.100.22:8300或数据库mysql -h 10.10.100.22 -P 8301 -u root -p (端口8300地图到docker443 ,docker8301映射到docker3306 )。 目前,我使用Mac防火墙,阻止Docker使用vpnkit传入连接。 这有效,但我不确定这是否是最好的方法。 UPDATE 防火墙的问题在于,您必须与团队中的所有开发人员进行协调。 我希望能实现我的目标,只需使用Dockerconfiguration,就像在Vagrant https://www.vagrantup.com/docs/networking/private_network.html中的私人networking一样。 限制在本地networking中访问我的docker开发环境的最佳方法是什么?

在.NET Core中跨Docker容器存储RSA密钥

我有一个在Ubuntu上运行Docker的ASP.NET Core web应用程序。 它使用RSA密钥进行各种身份validation任务。 我的Web应用程序由2个容器,一个授权服务器(使用密钥来创build&签名JWT令牌)和一个资源服务器(使用密钥来validationJWT令牌)组成。 我尝试使用.NET密钥容器来创build和存储RSA密钥对。 据我所知,密钥容器使用用户/机器级别authentication来存储和检索密钥。 如果我的授权和资源服务器运行在不同的容器中,他们可能无法访问密钥。 我甚至不确定这是Windows特有的特性,还是可以在Linux上运行。 是否有一个替代scheme与跨容器的docker工作? 也许在Linux上还支持.NET Core的东西?

零知识docker集装箱

假设你有一个开源的云应用程序。 此应用程序不能自行利用数据encryption。 云服务提供商在技术上可能向用户提供此应用的零知识服务吗? 我在想的是允许用户在开放源代码的镜像中安装一个证书,让他encryption这个镜像的一部分,并上传到云提供商。 然后,用户可以通过安全连接连接到应用程序,确保应用程序是可信的,并且提供程序仍然可以执行快照,更新等 是这样的可能吗?