标签: apparmor

Snap-confine 具有提升的权限,并且不受限制,但应该受到限制。拒绝继续避免权限升级攻击

我已经使用 snap 一段时间了,但最近升级后,当我尝试打开任何应用程序时,出现此错误

Snap-confine has elevated permissions and is not confined but should be.
Refusing to continue to avoid permission escalation attacks
Run Code Online (Sandbox Code Playgroud)

我尝试了各种修复方法,但情况变得越来越糟。知道我应该做什么吗?

我也尝试过sudo apt purge snapd snap-confine && sudo apt install -y snapd,但是当我尝试打开 pycharm-community 时,它没有执行任何操作。

linux package-managers apparmor snap

36
推荐指数
4
解决办法
6万
查看次数

如果守护程序的错误响应为:无法终止容器权限,如何停止运行容器?

艰巨的任务: 每当我尝试停止或终止正在运行的容器时,都会收到Daemon拒绝的权限作为错误响应。

我刚刚开始通过使用Ubuntu18.04 VM学习如何使用docker。我是第一次运行容器。我无法停止它,但至少它正在运行。现在,当我尝试运行另一个图像“ furtuas / daisitory:image_available_first_ms”后,一切都变得更糟了。两个容器正在运行,我无法停止其中的任何一个。我尝试重新启动docker,但是容器仍在运行,区别在于localhost不再工作。也许是因为我和以前一样在同一台主机上运行

我不熟悉docker,ubuntu,terminal等。对于初学者,我将不胜感激。

$ docker info
Containers: 2
 Running: 2
 Paused: 0
 Stopped: 0
Images: 8
Server Version: 18.09.1
Storage Driver: overlay2
 Backing Filesystem: extfs
 Supports d_type: true
 Native Overlay Diff: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
 Volume: local
 Network: bridge host macvlan null overlay
 Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: 9754871865f7fe2f4e74d43e2fc7ccd237edcbce
runc version: 96ec2177ae841256168fcf76954f7177af9446eb
init …
Run Code Online (Sandbox Code Playgroud)

containers virtual-machine permission-denied apparmor docker

9
推荐指数
2
解决办法
7533
查看次数

AppArmor如何做"环境清洗"?

AppArmor文档提到了应用程序能够在有或没有环境清理的情况下执行其他程序.显然,擦除环境更安全,但文档似乎没有详细说明环境清理的发生方式.

什么是环境清理以及AppArmor如何清理环境?

linux security apparmor

8
推荐指数
1
解决办法
674
查看次数

使用java -jar运行的java应用程序运行的apparmor配置文件

我正在使用logstash它,它无法读取一些日志文件.为了能够阅读,我想我必须在apparmor中添加一个配置文件,但此时我很丢失.

  1. 该应用程序运行如下: java -jar .... 我是否必须为Java添加配置文件或是否有其他更简单的方法?
  2. 只需添加一行像 /path/to/mylogs r 工作?

谢谢你的帮助.

java apparmor

8
推荐指数
1
解决办法
541
查看次数

无法在容器上应用 AppArmor 配置文件:“没有这样的文件或目录”

我正在尝试应用以下简单的 AppArmor 配置文件:

#include <tunables/global>

profile docker-profile flags=(attach_disconnected,mediate_deleted) {
  #include <abstractions/base>
  #network,
  #capability,
  #file,
  #umount,
  #ptrace,
  #mount,
  pivot_root,
}
Run Code Online (Sandbox Code Playgroud)

当我运行时,docker run -it --rm --security-opt apparmor=docker-profile alpine出现以下错误:

docker:来自守护进程的错误响应:无效的标头字段值“oci运行时错误:container_linux.go:247:启动容器进程导致\”process_linux.go:359:容器初始化导致\\“apparmor无法应用配置文件:没有这样的文件或目录\\"\"\n"。

我尝试重新安装它(基于此处的建议):

rm -rf /etc/apparmor*
apt install apparmor --reinstall
service apparmor restart
service docker restart
Run Code Online (Sandbox Code Playgroud)

这没有帮助,我仍然遇到同样的错误。

有什么建议可能是什么原因以及如何解决吗?

containers apparmor docker

6
推荐指数
2
解决办法
1万
查看次数

R和getpwuid()

我使用apparmor在Ubuntu 11.10上沙箱R. 我注意到的一件事是,对于R创建的每个png或pdf图,它都会显示警告:

(process:4589): GLib-WARNING **: getpwuid_r(): failed due to: Permission denied.
Run Code Online (Sandbox Code Playgroud)

但是,即使拒绝对/ etc/passwd的读访问,一切似乎都运行得很好.我不打算给R这些权限,因为它似乎没有必要我想做什么.然而,反复出现的警告有点令人讨厌.

R/src中的快速grep"getpwuid"显示了调用它的三个地方:

r-base-2.14.2/src/main/platform.c:  stpwd = getpwuid(sb.st_uid);
r-base-2.14.2/src/unix/sys-unix.c:  stpwd = getpwuid(getuid());
r-base-2.14.2/src/unix/sys-unix.c:  stpwd = getpwuid(geteuid());
Run Code Online (Sandbox Code Playgroud)

但是,我不清楚这是做什么的.

问题:

  • 为什么R需要访问passwd文件才能创建绘图?
  • 有什么办法可以阻止R在写入png或pdf设备时调用getpwuid_r()(不重新编译R)?

r apparmor

5
推荐指数
1
解决办法
588
查看次数

如何为使用Python的扭曲库运行的应用程序创建apparmor配置文件?

我正在尝试为网络应用程序创建一个apparmor配置文件,可以访问ssh并使用Python的扭曲库运行.我尝试使用aa-genprof生成配置文件.在另一个bash中,我使用一些测试用例运行我的应用程序.但是,没有生成任何规则.如何生成配置文件?

python security twisted apparmor

5
推荐指数
0
解决办法
265
查看次数

docker的apparmor简介在哪里?

以下问题发生在 Debian Jessie(在 Vagrant 下):

搬运工文档声称的AppArmor配置文件被自动放入/etc/apparmor.d/docker,然而,当我列出该目录的内容,它是不被发现。

内容/etc/apparmor.d

abstractions
cache
disable
force-complain
local
tunables
Run Code Online (Sandbox Code Playgroud)

Docker 版本信息

$ docker version
Client:
 Version:      1.12.1
 API version:  1.24
 Go version:   go1.6.3
 Git commit:   23cf638
 Built:        Thu Aug 18 05:02:53 2016
 OS/Arch:      linux/amd64

Server:
 Version:      1.12.1
 API version:  1.24
 Go version:   go1.6.3
 Git commit:   23cf638
 Built:        Thu Aug 18 05:02:53 2016
 OS/Arch:      linux/amd64
Run Code Online (Sandbox Code Playgroud)

debian apparmor docker

5
推荐指数
1
解决办法
890
查看次数

如何在python中限制子进程stdout和stderr的大小

我需要运行用户提交的应用程序。我的代码看起来像:

def run_app(app_path):
    inp = open("app.in", "r")
    otp = open("app.out", "w")

    return subprocess.call(app_path, stdout=otp, stdin=inp)
Run Code Online (Sandbox Code Playgroud)

现在,由于我无法控制用户将提交的内容,因此我想限制应用程序输出的大小。其他诸如尝试访问未经授权的系统资源和滥用 CPU 周期之类的事情都受到 apparmor 规则实施的限制。允许运行的最长时间由父进程处理(在 python 中)。现在,流氓应用程序仍然可以通过将大量数据写入其标准输出来尝试淹没服务器系统,因为知道标准输出正在保存到文件中。

我不想将 AppArmors RLIMIT 或内核模式下的任何内容用于 stdout/stderr 文件。能够使用标准库从 python 中做到这一点会很棒。

我目前正在考虑创建文件的子类,并在每次写入时检查已将多少数据写入流。或者创建一个设置了最大长度的内存映射文件。

但我觉得可能有一种更简单的方法来限制我还没有看到的文件大小。

python linux subprocess stdout apparmor

5
推荐指数
1
解决办法
1780
查看次数

docker:来自守护进程的错误响应:系统上启用了 AppArmor,但无法加载 docker-default 配置文件

我按照官方网站上描述的安装过程在 ubuntu 19.04 上安装了 docker-ce 19.03.3。安装效果很好。但是当我想通过创建一个容器来测试时,

我有这个错误:

Error response from daemon: AppArmor enabled on system but the docker-default profile could not be loaded
Run Code Online (Sandbox Code Playgroud)

跑步 /usr/sbin/apparmor_parser apparmor_parser -Kr /var/lib/docker/tmp/docker-default911109442

输出失败:

'AppArmor parser error for /var/lib/docker/tmp/docker-default911109442 in /etc/apparmor.d/tunables/global at line 17: Could not open 'tunables/proc'
Run Code Online (Sandbox Code Playgroud)

`

ubuntu apparmor docker

5
推荐指数
4
解决办法
6217
查看次数