huanayun
hengtianyun
vps567
莱卡云

[Linux操作系统]Ubuntu AppArmor 配置详解与实践|ubuntu server arm,Ubuntu AppArmor 配置

PikPak

推荐阅读:

[AI-人工智能]免翻墙的AI利器:樱桃茶·智域GPT,让你轻松使用ChatGPT和Midjourney - 免费AIGC工具 - 拼车/合租账号 八折优惠码: AIGCJOEDISCOUNT2024

[AI-人工智能]银河录像局: 国内可靠的AI工具与流媒体的合租平台 高效省钱、现号秒发、翻车赔偿、无限续费|95折优惠码: AIGCJOE

[AI-人工智能]免梯免翻墙-ChatGPT拼车站月卡 | 可用GPT4/GPT4o/o1-preview | 会话隔离 | 全网最低价独享体验ChatGPT/Claude会员服务

[AI-人工智能]边界AICHAT - 超级永久终身会员激活 史诗级神器,口碑炸裂!300万人都在用的AI平台

本文详细介绍了Ubuntu操作系统中的AppArmor(应用程序_armor)配置方法,针对Ubuntu Server ARM架构,阐述了如何通过配置AppArmor来增强系统安全性,提升应用程序的运行环境,确保服务稳定运行。

本文目录导读:

  1. AppArmor 简介
  2. AppArmor 的安装与启用
  3. AppArmor 配置方法
  4. AppArmor 实践案例

随着信息技术的快速发展,系统安全越来越受到人们的关注,Ubuntu 作为款广受欢迎的操作系统,其内置的安全机制 AppArmor(Application Armor)为系统提供了强大的安全防护,本文将详细介绍 Ubuntu AppArmor 的配置方法,以及如何在实际应用中发挥其作用。

AppArmor 简介

AppArmor 是一种强制访问控制(MAC)系统,它通过为应用程序定义安全策略来限制程序对系统资源的访问,这些策略可以限制程序对文件、网络、其他程序的访问,以及程序的行为,AppArmor 的核心思想是“最小权限原则”,即只授予程序完成任务所必需的权限。

AppArmor 的安装与启用

1、安装 AppArmor

在 Ubuntu 系统中,AppArmor 默认已经安装,如果没有安装,可以通过以下命令安装:

sudo apt-get install apparmor apparmor-utils

2、启用 AppArmor

安装完成后,需要启用 AppArmor,可以通过以下命令查看当前 AppArmor 的状态:

sudo aa-status

AppArmor 处于禁用状态,可以通过以下命令启用:

sudo systemctl enable apparmor

AppArmor 配置方法

1、编写安全策略

AppArmor 的安全策略以文件的形式存在,通常位于/etc/apparmor.d/ 目录下,编写安全策略时,需要遵循以下原则:

- 确定要限制的程序及其所需的权限;

- 逐步细化权限,从宽泛到具体;

- 尽量避免使用通配符。

以下是一个简单的安全策略示例:

#include <tunables/global>
/toggle-switch-confined -d
/toggle-switch-confined {
  capability: sys_tty_config,
  capability: sys_admin,
  /dev/tty* r,
  /dev/input/* r,
  /etc/toggle-switch.conf r,
  /var/run/toggle-switch.pid w,
  /usr/bin/toggle-switch rix,
  /usr/lib/toggle-switch/* r,
  /usr/share/toggle-switch/* r,
  /tmp/toggle-switch-*.pid w,
  /tmp/toggle-switch-*.log w,
  /var/log/toggle-switch.log w,
  /var/run/toggle-switch.sock w,
  /var/run/toggle-switch/* r,
  signal (receive) ptrace (read) ptrace (write) ptrace (trace) {
    hat /usr/bin/toggle-switch {
      capability: sys_tty_config,
      capability: sys_admin,
      /dev/tty* r,
      /dev/input/* r,
      /etc/toggle-switch.conf r,
      /var/run/toggle-switch.pid w,
      /tmp/toggle-switch-*.pid w,
      /tmp/toggle-switch-*.log w,
      /var/log/toggle-switch.log w,
      /var/run/toggle-switch.sock w,
      /var/run/toggle-switch/* r,
    }
  }
}

2、加载安全策略

编写完安全策略后,需要将其加载到系统中,可以通过以下命令加载:

sudo apparmor_parser -r /etc/apparmor.d/toggle-switch

3、检查安全策略

加载完成后,可以通过以下命令检查安全策略的加载情况:

sudo aa-status

AppArmor 实践案例

以下是一个使用 AppArmor 限制 SSH 服务器的案例:

1、编写安全策略

创建一个名为sshd 的安全策略文件,内容如下:

#include <tunables/global>
sshd {
  capability: chown,
  capability: dac_override,
  capability: fowner,
  capability: kill,
  capability: net_admin,
  capability: setgid,
  capability: setuid,
  capability: sys_admin,
  capability: sys_ptrace,
  /etc/ssh/* r,
  /etc/passwd r,
  /etc/shadow r,
  /var/run/sshd/* r,
  /var/log/auth.log w,
  /var/log/auth.log.1 w,
  /var/log/auth.log.2 w,
  /var/log/auth.log.3 w,
  /var/log/auth.log.4 w,
  /var/log/auth.log.5 w,
  /var/log/auth.log.6 w,
  /var/log/auth.log.7 w,
  /var/log/auth.log.8 w,
  /var/log/auth.log.9 w,
  /var/log/auth.log.10 w,
  /var/log/auth.log.11 w,
  /var/log/auth.log.12 w,
  /var/log/auth.log.13 w,
  /var/log/auth.log.14 w,
  /var/log/auth.log.15 w,
  /var/log/auth.log.16 w,
  /var/log/auth.log.17 w,
  /var/log/auth.log.18 w,
  /var/log/auth.log.19 w,
  /var/log/auth.log.20 w,
  /var/log/auth.log.21 w,
  /var/log/auth.log.22 w,
  /var/log/auth.log.23 w,
  /var/log/auth.log.24 w,
  /var/log/auth.log.25 w,
  /var/log/auth.log.26 w,
  /var/log/auth.log.27 w,
  /var/log/auth.log.28 w,
  /var/log/auth.log.29 w,
  /var/log/auth.log.30 w,
  /var/log/auth.log.31 w,
  /var/log/auth.log.32 w,
  /var/log/auth.log.33 w,
  /var/log/auth.log.34 w,
  /var/log/auth.log.35 w,
  /var/log/auth.log.36 w,
  /var/log/auth.log.37 w,
  /var/log/auth.log.38 w,
  /var/log/auth.log.39 w,
  /var/log/auth.log.40 w,
  /var/log/auth.log.41 w,
  /var/log/auth.log.42 w,
  /var/log/auth.log.43 w,
  /var/log/auth.log.44 w,
  /var/log/auth.log.45 w,
  /var/log/auth.log.46 w,
  /var/log/auth.log.47 w,
  /var/log/auth.log.48 w,
  /var/log/auth.log.49 w,
  /var/log/auth.log.50 w,
  /var/log/auth.log.51 w,
  /var/log/auth.log.52 w,
  /var/log/auth.log.53 w,
  /var/log/auth.log.54 w,
  /var/log/auth.log.55 w,
  /var/log/auth.log.56 w,
  /var/log/auth.log.57 w,
  /var/log/auth.log.58 w,
  /var/log/auth.log.59 w,
  /var/log/auth.log.60 w,
  /var/log/auth.log.61 w,
  /var/log/auth.log.62 w,
  /var/log/auth.log.63 w,
  /var/log/auth.log.64 w,
  /var/log/auth.log.65 w,
  /var/log/auth.log.66 w,
  /var/log/auth.log.67 w,
  /var/log/auth.log.68 w,
  /var/log/auth.log.69 w,
  /var/log/auth.log.70 w,
  /var/log/auth.log.71 w,
  /var/log/auth.log.72 w,
  /var/log/auth.log.73 w,
  /var/log/auth.log.74 w,
  /var/log/auth.log.75 w,
  /var/log/auth.log.76 w,
  /var/log/auth.log.77 w,
  /var/log/auth.log.78 w,
  /var/log/auth.log.79 w,
  /var/log/auth.log.80 w,
  /var/log/auth.log.81 w,
  /var/log/auth.log.82 w,
  /var/log/auth.log.83 w,
  /var/log/auth.log.84 w,
  /var/log/auth.log.85 w,
  /var/log/auth.log.86 w,
  /var/log/auth.log.87 w,
  /var/log/auth.log.88 w,
  /var/log/auth.log.89 w,
  /var/log/auth.log.90 w,
  /var/log/auth.log.91 w,
  /var/log/auth.log.92 w,
  /var/log/auth.log.93 w,
  /var/log/auth.log.94 w,
  /var/log/auth.log.95 w,
  /var/log/auth.log.96 w,
  /var/log/auth.log.97 w,
  /var/log/auth.log.98 w,
  /var/log/auth.log.99 w,
  /var/log/auth.log.100 w,
  /var/log/auth.log.101 w,
  /var/log/auth.log.102 w,
  /var/log/auth.log.103 w,
  /var/log/auth.log.104 w,
  /var/log/auth.log.105 w,
  /var/log/auth.log.106 w,
  /var/log/auth.log.107 w,
  /var/log/auth.log.108 w,
  /var/log/auth.log.109 w,
  /var/log/auth.log.110 w,
  /var/log/auth.log.111 w,
  /var/log/auth.log.112 w,
  /var/log/auth.log.113 w,
  /var/log/auth.log.114 w,
  /var
bwg Vultr justhost.asia racknerd hostkvm pesyun Pawns


本文标签属性:

Ubuntu AppArmor 配置:ubuntu server arm

原文链接:,转发请注明来源!