10
(さっさ調べた) AppArmorの話

AppArmorの話

Embed Size (px)

Citation preview

Page 1: AppArmorの話

(さっさ調べた)

AppArmorの話

Page 2: AppArmorの話

AppArmor の話

•パスベースの強制アクセス制御機能

• Linux Kernel に組み込み済み

• LSMを利用

• Enforcing モード と Complain モード • Enforcing: 強制アクセス制御を行う

• Complain: 学習モード(Permissive みたいなやつ)

• Profile を定義していないものは管理対象外

Page 3: AppArmorの話

AppArmor と SELinux

• AppArmor は パスベース の MAC • usr.sbin.named

• /var/log/named/** rw,

• /var/log/named/ rw,

• SELinux は ラベルベース の MAC • allow httpd_t httpd_sys_content_t : file { ioctl read getattr lock open } ;

• httpd が /var/www/html 以下のコンテンツを表示するみたいな感じ

Page 4: AppArmorの話

AppArmor 状態

• apparmor_status or aa-status

• ps –eZ するとラベル?が見える

• Undefined は管理対象外

•設定ファイル: /etc/apparmor.d/*

Page 5: AppArmorの話

よくある問題

• bind slave の zone ファイルが作成されない

• bind のログディレクトリ変えたらログが書けない

•設定ファイルに書いて解決するか

•コマンドで何とかする

•簡単!

Page 6: AppArmorの話

おかしいな?と思ったら

• grep DENIED /var/log/syslog

May 25 15:00:02 raring kernel: [ 2801.891254] type=1400 audit(1369461602.892:80): apparmor="DENIED" operation="open" parent=1 profile="/usr/sbin/mysqld" name="/etc/mysql/my.cnf" pid=2798 comm="mysqld" requested_mask="r" denied_mask="r" fsuid=0 ouid=0

Page 7: AppArmorの話

よく使うコマンド

• apparmor_status

• apparmor_parser

• aa-*

• aa-* 系は apparmor-utils が必要

Page 8: AppArmorの話

無効化方法

• sudo invoke-rc.d apparmor stop

• sudo update-rc.d -f apparmor remove

• sudo shutdown –r 0

• でいけるらしい!

• Profile 毎に無効化することも可能

Page 9: AppArmorの話

有効化方法

• sudo invoke-rc.d apparmor start

• sudo update-rc.d apparmor start 37 S .

Page 10: AppArmorの話

参考URL

• http://help.ubuntu.com/community/AppArmor