Tag: selinux

有没有人知道在Docker中阻止selinux转换的无新特权的解决方法?

我试图在docker下运行(任何)容器,使用no-new-privileges标志和Selinux启用。 基本信息: CentOS 7.3 on bare metal docker-ce 17.05.0-ce (edge) from official repo docker-ce-selinux 17.05.0-ce (edge) from official repo (我最初运行稳定,并切换到边缘版本希望修复) 我在做什么: docker run –security-opt "no-new-privileges" -it –rm busybox /bin/sh 怎么了: standard_init_linux.go:178: exec user process caused "operation not permitted" 所有function都支持 – Selinux在没有指定新的权限的情况下工作。 当守护程序在没有selinux支持的情况下运行时,没有新的权限可以使用。 宽容vs强制模式没有效果。 Docker信息: Containers: 0 Running: 0 Paused: 0 Stopped: 0 Images: 40 Server […]

在kubernetes pods /容器上应用自定义SELinux策略

我最近开始玩kubernetes提供的PodsSecurityPolicies。 所以,据我所知,在这个时间点上,有几个参数可以应用到一个pod或一个容器级别,以实现组件之间的一定程度的安全性和隔离。 但是,我已经读过不同的边缘情况,可以在需要应用自定义SELinux策略的容器级别出现,因为SELinux提供了当前可用于容器的最佳安全分离。 例如: 扩展容器的SELinux策略 简而言之,我的问题是如果在集群中应用自定义策略变得绝对必要? 或者我们可以假设,通过应用正确的安全策略,我们可以实现最大限度的容器隔离?

Docker容器未显示卷装 – 访问问题

root@centdev01$ grep -e CMD -e RUN Dockerfile RUN apt-get update RUN apt-get -y install ruby ruby-dev build-essential redis-tools RUN gem install –no-rdoc –no-ri sinatra json redis RUN mkdir -p /opt/webapp RUN chmod 777 /opt/webapp CMD ["/opt/webapp/bin/webapp"] root@centdev01$ docker build -t "alok87/sinatra" . root@centdev01$ docker run -d -p 80 –name ubunsin10 -v $PWD/webapp:/opt/webapp alok87/sinatra 25ekgjalgjal25rkg root@centdev01$ […]

docker run ubuntu:14.04 / bin / echo`在Fedora 20上产生SELinux错误

我正在尝试运行Docker安装的基本步骤 ,并在Fedora 20上遇到这个问题: $ sudo docker run ubuntu:14.04 /bin/echo /bin/echo: error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory 同时,SELinux警报浏览器logging两个警报: SELinux正在阻止lnk_file上的读取访问/ bin / echo。 (显然文件名是“”) SELinux正在阻止/ bin / echo对文件的读访问。 (再次为空文件名。) 我做错了什么,或者这是一个错误? $ sudo docker version Client version: 1.0.0 Client API version: 1.12 Go version (client): go1.2.2 Git commit […]

Centos和Fedora Docker,我无法启动mysql

我在centos上是新手,我在Ubuntu和我的朋友“yograterol说服我去Fedora是最好的。 改变很多东西,问题是mysql不能在docker中启动,在我的本地fedora中是一样的,但是在Docker中没有工作,没有命令: # mysql ERROR 2002 (HY000): Can not connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) 本地修复如下: $ sudo setenforce 0 $ sudo service mysqld start 但在Docker中,出现以下情况: # setenforce 0 bash: setenforce: command not found # Service mysqld start bash: service: command not found 它发生在Docker:Centos和Fedora中。 我认为这是因为他们是最低限度的操作系统映像。

对于Docker容器,SELinux比AppArmor更安全吗?

我的理解是,AppArmor和SELinux都实现了一个强制访问控制(MAC)系统,该系统在容器之间提供了一个额外的安全隔离层,并且Docker带有两个默认策略。 但是,SELinux专门可以使用多类别安全性(MCS)来强制系统上的每个单独的容器只能访问为特定容器标记的主机上的文件(更多详细信息: 文章 , 演示文稿 )。 也就是说,如果两个Docker容器A和B在单个主机上分离,那么Doc​​ker附带的默认SELinux安全策略实际上会强制在发生中断时,容器A中的Linux进程将无法访问属于容器B的文件。不仅如此,文件可以从主机装入容器的唯一方式是如果卷后缀为“:Z”,因此告诉Docker确保将相关的MCS标签添加到该path上的主机上的文件,以便容器可以访问它们。 相反,我无法在AppArmor中find任何类似机制的引用。 相反,Docker的默认AppArmorconfiguration文件似乎主要是关于拒绝访问特定的文件系统path和主机资源,而不是拒绝访问容器。 我的问题是,如果我使用Docker的默认AppArmorconfiguration文件,我将获得与使用上述SELinux相同的有效保护吗? AppArmor会阻止从一个容器访问另一个容器的文件吗? 如果是的话,它是如何实现的?

docker中selinux和usernamespace不能共存?

我在/etc/sysconfig/docker有下面的内容 # /etc/sysconfig/docker # Modify these options if you want to change the way the docker daemon runs OPTIONS='–selinux-enabled –userns-remap=default –log-opt=max-size=10M –log-opt=max-file=30' DOCKER_CERT_PATH=/etc/docker # Enable insecure registry communication by appending the registry URL # to the INSECURE_REGISTRY variable below and uncommenting it # INSECURE_REGISTRY='–insecure-registry ' # On SELinux System, if you remove the –selinux-enabled option, […]

gnome-desktop docker镜像可以和Linux Mint主机配合使用,但不能使用CentOS?

我正在使用这个docker从docker回购想象:traxtopel / docker-centos-gnome-desktop https://index.docker.io/u/traxtopel/docker-centos-gnome-desktop/ 我有一个安装了Docker 0.9.0的Linux Mint系统,它可以运行映像,并启动vncserver和gnome-session,没有任何问题。 但是,当我在CentOS6系统(也是Docker版本0.9.0)上运行相同的映像并尝试启动gnome会话时,我得到以下结果: 无法启动消息总线:无法打开“/ etc / selinux / targeted / contexts / dbus_contexts”:在总线守护进程的dbus-launch读取地址中没有这样的文件或目录EOF 我也尝试启动一个在Linux Mint主机上工作的gnometerminal,但在我的CentOS6主机上生成以下内容。 无法获得会话总线:/ bin / dbus-launchexception终止,出现以下错误:在总线守护进程的dbus-launch读地址中的EOF 回到非工厂模式。 无法召唤GConf恶魔; 退出。 无法联系configuration服务器; 一些可能的原因是您需要为ORBit启用TCP / IPnetworking连接,或者由于系统崩溃而导致失效的NFS锁。 有关信息,请参阅http://projects.gnome.org/gconf/ 。 (详细信息 – 1:无法连接到会话:/ bin / dbus-launchexception终止,出现以下错误:从总线守护进程的dbus-launch读取地址中的EOF) 由于两个docker版本是相同的,他们使用相同的docker图像,我唯一的猜测是它必须与主机内核版本或可能的主机selinuxconfiguration。 Linux Mint内核:3.8.0-19-通用CentOS6内核:2.6.32-431.5.1 任何想法是什么造成这种行为?

Percona 5.6 Docker Image无法加载我的/etc/mysql/conf.d/*.cnf

我至less在这个问题上奋斗了14个小时。 我正在用CentOS 7configurationdocker,jenkins,java,scala等构build服务器。 在使用liquibase和jooq:codegen时,我需要有适当的MySQL(Percona:5.6)容器设置,但不幸的是,官方Percona Image(Percona:5.6)不会在/ etc / mysql / conf.d正确,我认为这是我的问题,如文件权限问题。 我在跟随来自Docker Hub:Percona的指示 但是这对我不起作用,我尝试了很多错误的方法,没有一个在工作。 文件/文件夹权限如下图所示: 装入容器后,如下图所示: docker-compose.yaml如下所示: 官方Percona 5.6提供的默认my.cnf如下: root@25295730da09:/etc/mysql# cat my.cnf # # The MySQL database server configuration file. # # You can copy this to one of: # – "/etc/mysql/my.cnf" to set global options, # – "~/.my.cnf" to set user-specific options. # # One […]

pipe理通过Docker容器的卷在主机上创build的文件的selinux上下文

我运行了Fedora 20(docker 1.0.0)上的fig python / django教程,但是当django-admin.py尝试创build项目文件时,它在SELinux中失败并触发AVC拒绝。 我查看了这个策略,我可以看到,在我的代码目录中设置docker_var_lib_t上下文将允许docker写在那里(尽pipe我刚刚在策略中窥探了docker_share_t,看起来更合适的权限是明智的 – 没有chr / blk设备上下文)。 代码目录位置是不可预测的,所以设置一个系统范围的策略(通过semanage fcontext)似乎不是最好的前进方向; 我需要介绍一些约定。 有没有办法自动设置从主机挂载的卷的上下文?