首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏爱可生开源社区

    技术分享 | MySQL 如何适配 AppArmor

    ---- 引言 AppArmor (Debian 系平台)是一款内核级别的安全机制,通过 AppArmor 来让 Linux 系统实现严格的资源访问控制,类似 SELinux(RedHat 系列平台) AppArmor 通过目录/etc/apparmor.d/ 下的一系列配置文件来分别限制每个进程对 OS 资源的访问权限。 第一, 直接更改AppArmor 的配置文件: 给/etc/apparmor.d/user.sbin.mysqld里添加如下内容:(或者把原来MySQL相关的目录替换掉也行) # pid,socket 第二, 改变 AppArmor 的默认工作模式,由强制模式改为抱怨模式: 得先安装apparmor-utils包,里面包含了很多有用的程序来操作 AppArmor . root@ytt-ubuntu:~ # apt-get install apparmor-utils 单独配置 MySQL 服务进入抱怨模式: root@ytt-ubuntu:~# aa-complain /etc/apparmor.d

    1.6K20发布于 2021-11-19
  • 来自专栏运维开发王义杰

    linux容器之Apparmor和Seccomp

    Apparmor和Seccomp的概念和特点。 Apparmor和Seccomp都是Linux内核的安全模块,可以用来限制容器或进程的访问权限和资源使用。 Apparmor的特点有: 基于路径的访问控制,可以允许或拒绝容器或进程对文件、目录、网络等对象的操作 支持不同的模式,如强制模式(阻止违反策略的行为)、投诉模式(记录违反策略的行为)和不可知模式(不执行任何策略 支持两种模式,如严格模式(只允许read、write、exit和sigreturn四个系统调用)和过滤模式(允许自定义过滤规则)1 支持多层过滤,可以在一个容器或进程中应用多个过滤规则1 以上是关于Apparmor 和Seccomp的简要介绍,如果您想要了解更多细节,您可以访问官方网站(https://apparmor.net/ 和 https://www.kernel.org/doc/html/latest/userspace-api

    54640编辑于 2023-08-21
  • 来自专栏网络安全攻防

    CVE-2019-16884:Apparmor Restriction Bypass

    影响范围 runc 1.0.0-rc8 漏洞类型 容器逃逸漏洞 利用条件 影响范围应用 漏洞概述 在Docker 19.03. 2-ce和其他产品中使用的runc 1.0.0-rc8允许绕过AppArmor 限制,因为libcontainer/rootfs_linux.go错误地检查装载目标,攻击者可以在容器镜像中可以声明一个VOLUME并挂载至/proc,之后欺骗runc使其认为AppArmor已经成功应用从而绕过 AppArmor策略,该漏洞由Adam Iwaniuk发现并在DragonSector CTF 2019期间披露,这个CTF题目挑战将一个文件挂载到/flag-<random>,并使用AppArmor策略拒绝访问该文件 "apparmor=no_flag" -v /tmp/flag:/flag busybox cat /flag cat: can't open '/flag': Permission denied docker run --rm --security-opt "apparmor=no_flag" -v /tmp/flag:/flag apparmor-bypass cat /flag Al1ex

    87120编辑于 2023-05-12
  • 来自专栏linux百科小宇宙

    Ubuntu下Libvirt 禁用 AppArmor的方法

    Libvirt在做某些事情的时候会被Apparmor阻挡,因此为了确保Libvirt始终有必须的权限,必须禁用apparmor。方法如下: 1.  在编译libvirt的时候选择--without-apparmor 选项; 2.  执行下面的命令为libvirt禁用 apparmor: $ ln -s /etc/apparmor.d/usr.sbin.libvirtd  /etc/apparmor.d/disable/ $ln -s /etc/apparmor.d/usr.lib.libvirt.virt-aa-helper  /etc/apparmor.d/disable/ $ apparmor_parser -R  /etc/apparmor.d/usr.sbin.libvirtd $ apparmor_parser -R  /etc/apparmor.d/usr.lib.libvirt.virt-aa-helpe

    1.8K00发布于 2021-06-17
  • 来自专栏CS实验室

    如何使用 AppArmor 限制应用的权限

    如何使用 AppArmor AppArmor 是一个 Linux 内核安全模块,允许系统管理员使用每个程序的配置文件来限制程序的功能。 可以通过以下命令检查模块是否已启用 AppArmor: $ cat /sys/module/apparmor/parameters/enabled Y AppArmor 在以下两种类型的配置文件模式下运行 deny /** w, } EOF 将上述配置生效: $ apparmor_parser /etc/apparmor.d/containers/sample $ apparmor_status apparmor AppArmor 的配置文件定义的十分灵活,更多具体使用可以参见 AppArmor 文档。 容器中使用 AppArmor 在主机上配置好 AppArmor 配置文件后,我们来看如何在容器中使用。 参考链接: AppArmor 文档:https://gitlab.com/apparmor/apparmor/-/wikis/Documentation bane:https://github.com/

    6.6K30编辑于 2023-03-24
  • 来自专栏Linux运维

    SELinux 与 AppArmor 的配置,增强系统安全性

    SELinux与AppArmor的配置,增强系统安全性现代Linux系统的安全防护不仅依赖传统权限模型(DAC),还需要更强的强制访问控制(MAC)机制。 SELinux与AppArmor是目前最主流的两大MAC框架,它们通过策略约束进程行为,从根本上降低系统被入侵后的破坏范围。 本文将从原理、配置、策略管理、排错与最佳实践等方面,系统性介绍如何使用SELinux与AppArmor增强系统安全性。 最佳实践使用aa-genprof自动生成策略将自定义策略放入/etc/apparmor.d/local/使用complain模式调试新策略七、总结SELinux与AppArmor都是Linux世界中强大的安全模块 SELinux提供更强的安全性与细粒度控制,而AppArmor则以易用性著称。根据系统环境与安全需求选择合适的方案,并结合最佳实践进行配置,可以显著提升系统整体安全性。

    18010编辑于 2026-01-07
  • 来自专栏容器

    【容器安全系列Ⅴ】- Linux强制访问控制:AppArmor 和 SELinux

    AppArmor    AppArmor 通过定义可应用于主机上运行的进程的不同配置文件来实现其控制能力。 在安装了 AppArmor 的系统上,我们可以开始探索如何使用 sudo aa-status 命令来使其发挥作用。这将显示有关 AppArmor 配置和状态的信息。     现在我们已经了解了 AppArmor 的基础知识,让我们看看可以使用自定义 AppArmor 配置文件执行哪些操作,以及如何将其应用于 Docker 容器。 使用 AppArmor 的自定义配置文件    AppArmor 允许你控制许多 Linux 资源,包括网络和文件访问。 我们将此配置文件写入 /etc/apparmor.d/containers/docker-block-etc ,然后使用命令 sudo apparmor_parser -r /etc/apparmor.d

    1.1K10编辑于 2024-09-03
  • 来自专栏运维开发王义杰

    使用Apparmor和Seccomp来增强容器的安全性

    Docker支持使用Apparmor和Seccomp来增强容器的安全性。 使用Apparmor的方法有: 使用Docker提供的默认Apparmor策略,该策略会在运行容器时自动应用,除非指定了–security-opt apparmor=unconfined选项 使用Docker 提供的示例Apparmor策略,该策略可以在https://github.com/moby/moby/blob/master/profiles/apparmor/template.go中找到,可以根据需要修改和加载 使用自定义的Apparmor策略,该策略可以在主机上创建和加载,然后在运行容器时指定–security-opt apparmor=<profile_name>选项 使用Seccomp的方法有: 使用Docker 和Seccomp在Docker中使用的简要介绍,如果您想要了解更多细节,您可以访问官方网站(https://docs.docker.com/engine/security/apparmor/ 和 https

    96240编辑于 2023-08-21
  • 来自专栏linux运维

    SELinuxAppArmor 配置问题:SELinux 或 AppArmor 配置错误,影响系统安全

    检查当前 AppArmor 状态首先,我们需要检查当前 AppArmor 的状态和配置。 apparmor5. 查看当前 AppArmor 策略使用以下命令查看当前的 AppArmor 策略:sudo aa-status --enabled6. 常见的 AppArmor 配置问题及解决方案6.1 AppArmor 状态不正确问题:AppArmor 可能未启用,这会降低系统的安全性。解决方案:启用 AppArmor 并设置开机自启。 示例:启用 AppArmor:sudo systemctl start apparmorsudo systemctl enable apparmor6.2 AppArmor 策略不正确问题:AppArmor

    62310编辑于 2025-02-06
  • 来自专栏云计算教程系列

    如何在Ubuntu上安装SELinux

    Ubuntu有一个类似于SELinux的强制访问控制系统,名为AppArmor。 SELinux和AppArmor都提供了一组工具来隔离应用程序,以保护主机系统免受攻击。AppArmor为Ubuntu用户提供强制访问控制选项,没有SELinux可能遇到的困难或学习曲线效应。 删除AppArmor 警告 在本教程中,AppArmor是您的默认安全模块。删除但不替换AppArmor会使您的系统面临风险。如果您认为将来可能会重新使用AppArmor,则不要删除它。 在/etc/init.d/停止AppArmor脚本: sudo /etc/init.d/apparmor stop 从系统中清除AppArmor。 apt purge apparmor 如果您担心配置文件被删除,请使用apt remove apparmor

    13K21发布于 2018-08-16
  • 来自专栏linux运维

    权限不足:用户执行某些命令时提示权限不足

    检查 SELinux 或 AppArmor 配置解决方法:检查 SELinux 状态:使用 sestatus 命令检查 SELinux 的状态。 例如:sestatus 如果 SELinux 是启用的,可以临时将其设置为宽容模式:sudo setenforce 0检查 AppArmor 状态:使用 aa-status 命令检查 AppArmor 例如:sudo aa-status 如果 AppArmor 是启用的,可以临时禁用某个配置文件:sudo ln -s /etc/apparmor.d/disable/* /etc/apparmor.d/ sudo apparmor_parser -R /etc/apparmor.d/*6.

    2.5K10编辑于 2025-02-04
  • 来自专栏LINUX开源玩家

    [PVE]LXC容器挂载NFS文件系统

    简单粗暴的方法是直接取消限制,修改容器配置文件,追加一行,如: # echo "lxc.apparmor.profile: unconfined" >> /etc/pve/lxc/100.conf 这种做法取消所有安全规则 在宿主机创建 新规则 # cp /etc/apparmor.d/lxc/lxc-default-cgns /etc/apparmor.d/lxc/lxc-default-nfs # vi /etc/apparmor.d 加载新的规则 # apparmor_parser -r /etc/apparmor.d/lxc-containers # systemctl reload apparmor 3. 追加lxc配置 # echo "lxc.apparmor.profile = lxc-default-nfs" >> /etc/pve/lxc/CTID.conf 4.

    5.7K20编辑于 2022-05-20
  • 来自专栏charlieroro

    docker 安全

    docker官网给出了简单的一些建议,如使用命名空间进行用户隔离,使用cgroup限制容器使用的资源上限,使用apparmor限制容器对资源的访问以及使用seccomp限制容器的系统调用等。 : apparmor使用上与seccomp类似,也是需要一个profile。 apparmor也有一个默认的profile,相比seccomp,apparmor可以限制更多的资源,如文件权限,网络,capabilities等。 ubuntu下多个版本的apparmor手册可以参见AppArmor SELinux: TIPS: 在run一个容器的时候,通过--security-opt seccomp:unconfined参数来允许容器执行全部的系统的调用 centos使用的安全模块为SELinux,暂不支持apparmor;Debian和Ubuntu支持apparmor

    1.2K20发布于 2020-03-24
  • 来自专栏LINUX开源玩家

    [pve]记一次pve大版本升级故障及其处理

    /apparmor_2.13.2-10_amd64.deb ... dpkg-query: warning: files list file for package 'apparmor' missing : # apt install --reinstall apparmor Reading package lists... Done Suggested packages: apparmor-profiles-extra apparmor-utils The following packages will be upgraded : apparmor 1 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. /apparmor_2.13.2-10_amd64.deb ... dpkg-query: warning: files list file for package 'apparmor' missing

    2.8K20编辑于 2022-05-20
  • 来自专栏linux运维

    用户主目录问题:用户主目录权限或路径设置错误,导致无法访问

    检查 SELinux 或 AppArmor 配置解决方法:检查 SELinux 状态:使用 sestatus 命令检查 SELinux 的状态:sestatus 如果 SELinux 是启用的,可以临时将其设置为宽容模式 :sudo setenforce 0检查 AppArmor 状态:使用 aa-status 命令检查 AppArmor 的状态:sudo aa-status如果 AppArmor 是启用的,可以临时禁用某个配置文件 :sudo ln -s /etc/apparmor.d/disable/* /etc/apparmor.d/ sudo apparmor_parser -R /etc/apparmor.d/*

    1.1K10编辑于 2025-02-04
  • 来自专栏云计算教程系列

    在Ubuntu上迁移你的MySQL数据库

    第三步、配置AppArmor访问控制规则 我们需要通过在默认目录和新位置之间创建别名来告诉AppArmor让MySQL写入新目录。 为此,请编辑AppArmor alias文件: sudo nano /etc/apparmor.d/tunables/alias 在文件的底部,添加以下别名规则: /etc/apparmor.d/tunables 要使更改生效,请重新启动AppArmor: sudo systemctl restart apparmor 注意:如果您跳过AppArmor配置步骤,则会遇到以下错误消息: Output Job for 512mb-nyc1-01 systemd[1]: mysql.service: Main process exited, code=exited, status=1/FAILURE 由于消息不会在AppArmor 这次发生错误,而不是AppArmor问题,因为脚本mysql-systemd-start检查是否存在与两个默认路径匹配的目录-d或符号链接-L。如果找不到它会失败: . . . if [ !

    14.7K129发布于 2018-07-26
  • 来自专栏linux运维

    用户组管理问题:用户组管理混乱,权限分配不当

    检查和修改 SELinux 或 AppArmor 配置解决方法:检查 SELinux 状态:使用 sestatus 命令检查 SELinux 的状态:sestatus如果 SELinux 是启用的,可以临时将其设置为宽容模式 :sudo setenforce 0检查 AppArmor 状态:使用 aa-status 命令检查 AppArmor 的状态:sudo aa-status如果 AppArmor 是启用的,可以临时禁用某个配置文件 :sudo ln -s /etc/apparmor.d/disable/* /etc/apparmor.d/ sudo apparmor_parser -R /etc/apparmor.d/*

    41210编辑于 2025-02-04
  • 来自专栏linux运维

    用户切换问题:用户切换命令(如 su 和 sudo)使用不当,导致权限问题

    检查 SELinux 或 AppArmor 配置解决方法:检查 SELinux 状态:使用 sestatus 命令检查 SELinux 的状态:sestatus如果 SELinux 是启用的,可以临时将其设置为宽容模式 :sudo setenforce 0 检查 AppArmor 状态:使用 aa-status 命令检查 AppArmor 的状态:sudo aa-status如果 AppArmor 是启用的,可以临时禁用某个配置文件 :sudo ln -s /etc/apparmor.d/disable/* /etc/apparmor.d/ sudo apparmor_parser -R /etc/apparmor.d/*

    92710编辑于 2025-02-04
  • 来自专栏linux运维

    系统权限管理

    SELinux 和 AppArmorSELinux 和 AppArmor 是增强系统安全性的工具,可以限制程序的权限。 AppArmor检查 AppArmor 状态:sudo aa-status启用或禁用 AppArmor:sudo systemctl enable apparmor sudo systemctl start apparmor

    84610编辑于 2025-02-03
  • 来自专栏月色的自留地

    MySQL数据库文件的移动和权限设置

    在Centos是SELinux,在Ubuntu是AppArmor。 这里说起来只是一句话,当时在现场,是做了很多无用功才在查看服务器启动脚本中想到了这个问题,时间浪费不少。 找到原因,解决不难,这台服务器使用了Ubuntu,对维护人员比较友好,只要编辑AppArmor的配置文件就好: # vi /etc/apparmor.d/usr.sbin.mysqld // 将以下4行 改的时候根据你的数据路径,调整上面4行的设置 // 此外考虑到/var/lib/mysql这个路径也可能会有测试需要,所以原始的4行保留,额外增加4行也可,不差那一点点运算 // 编辑完成存盘,接着更新配置和重启AppArmor 服务: # apparmor_parser -r /etc/apparmor.d/usr.sbin.mysqld # service apparmor reload 接着再一次启动mysql服务: #

    9.3K20发布于 2019-08-13
领券