Closed3
[AppArmor + Ubuntu] Container内で特定フォルダのみにアクセスさせる方法
初めに
Containerを使っているとどうしても出てくる「ファイル・フォルダ権限の管理」問題。
例えば、non-root userの e.g., nobody (id: 65534)
を使ったとしてもContainer内では大体「755/644」のパーミッションが割り当てられ、読み込み・実行のいずれかをrootやgroup userでなくとも実行できるようになっています。
そこで登場するのが「AppArmor」
AppArmor(Application Armor)とは、Linux Security Modulesの一種であり、各プログラムにセキュリティプロファイルを結びつけ、プログラムのできることに制限をかけるプログラムである。
(Wikiより)
1998年に初版がリリースされ現在に至るまでもメンテされている老舗中の老舗のソフトウェアです。
テスト環境
今回は以下の環境でテストしています。
- Host: Amazon Linux 2
- Guest: Ubuntu 20.04 (focal)
AppArmor
インストール
apt-get update
apt-get -y install apparmor
AppArmorには以下のモードがあります。
-
complain
: ポリシーに反するものは記録されるだけ -
enforce
: ポリシーに反するオペレーションがブロックされる -
unconfined
: いかなるプロファイルもロードされないことを示す
今回はアクセスを制御したいので「enforce」を使います。
参考にしたサイト
このスクラップは2022/10/29にクローズされました