Jump to contentJump to page navigation: previous page [access key p]/next page [access key n]
コンテンツコンテンツ
セキュリティ強化ガイド
  1. 前書き
  2. 1 セキュリティと機密保持
  3. I 認証
    1. 2 PAM を利用した認証
    2. 3 NIS の使用
    3. 4 YaST を利用した認証クライアントの設定
    4. 5 389 Directory Server を利用した LDAP サービス
    5. 6 Kerberos を利用したネットワーク認証
    6. 7 Active Directory サポート
    7. 8 FreeRADIUS サーバの構築
  4. II ローカルセキュリティ
    1. 9 物理的なセキュリティ
    2. 10 ソフトウエア管理
    3. 11 ファイルの管理
    4. 12 パーティションやファイルの暗号化
    5. 13 cryptctl を利用したアプリケーション向けのストレージ暗号化
    6. 14 ユーザ管理
    7. 15 cronat の制限
    8. 16 Spectre/Meltdown チェッカー
    9. 17 YaST を利用したセキュリティの設定
    10. 18 Polkit 認可フレームワーク
    11. 19 Linux でのアクセス制御リスト
    12. 20 AIDE を利用した侵入検知
  5. III ネットワークセキュリティ
    1. 21 X Window System と X 認証
    2. 22 OpenSSH によるネットワーク操作の機密保持
    3. 23 マスカレードとファイアウオール
    4. 24 VPN サーバの設定
    5. 25 X Window System で動作する PKI マネージャ XCA による管理
    6. 26 sysctl 変数によるネットワークセキュリティの改善
  6. IV AppArmor による権限の制限
    1. 27 AppArmor の紹介
    2. 28 入門
    3. 29 プログラムに対する予防接種
    4. 30 プロファイルのコンポーネントと文法
    5. 31 AppArmor のプロファイルリポジトリ
    6. 32 YaST を利用したプロファイルの構築と管理
    7. 33 コマンドラインからのプロファイル構築
    8. 34 チェンジハット機能による Web アプリケーションのプロファイル作成
    9. 35 pam_apparmor によるユーザの制限
    10. 36 プロファイルを作成したアプリケーションの管理
    11. 37 サポート
    12. 38 AppArmor 用語集
  7. V SELinux
    1. 39 SELinux の設定
  8. VI Linux 監査フレームワーク
    1. 40 Linux 監査システムの概要
    2. 41 Linux 監査フレームワークの設定
    3. 42 監査ルールセットの紹介
    4. 43 その他の情報源
  9. A GNU ライセンス
ナビゲーション
適用先 openSUSE Leap 15.7

パート IV AppArmor による権限の制限 Edit source

27 AppArmor の紹介

信頼できる プログラムを実行していても、バグによって引き起こされる様々な脆弱性に直面します。信頼できるプログラムのうち、権限を利用して動作しているプログラムについては、攻撃者からも格好の標的となります。プログラム内に何らかのバグがあれば、攻撃者はそれを悪用して必要な権限を奪取しようとしますので、プログラムに対する信頼も損なわれることになります。

28 入門

お使いのシステムに AppArmor を問題なく配置するには、下記の項目について注意深く考慮する必要があります:

29 プログラムに対する予防接種

コンピュータシステムのセキュリティを効率的に強化するには、まず権限を仲介するプログラムをできる限り少なくした後、それらのプログラムをできるだけ強く保護する流れで行います。 AppArmor は、お使いの環境下で攻撃にさらされるプログラムに対してプロファイルを作成するだけで保護が実現できる仕組みであることから、セキュリティを強化する際の手間を劇的に減らすことができます。 AppArmor ではポリシーの仕組みによって、プログラムが想定通りの動作のみを実行するよう強制することができます。

30 プロファイルのコンポーネントと文法

アプリケーションに対する AppArmor のプロファイル作成はわかりやすく、直感的な仕組みになっています。 AppArmor にはプロファイル作成を支援するツールが添付されているため、プログラミングの知識もスクリプトの処理も必要とはなりません。管理者に対して求められる作業は、セキュリティを強化する目的で、各アプリケーションに対して最も厳格なアクセス制御とプログラム実行のポリシーを設定することだけです。

31 AppArmor のプロファイルリポジトリ

AppArmor には既定で有効化されているプロファイルセットが添付されています。これらは AppArmor の開発者が作成したもので、 /etc/apparmor.d 内に配置されます。これらのプロファイルに加えて、 openSUSE Leap ではアプリケーションごとの個別のプロファイルも用意されています。これらのプロファイルは既定では有効化されませんし、標準の AppArmor プロファイルとは異なる /usr/share/apparmor/extra-profiles というディレクトリ内に配置されます。

32 YaST を利用したプロファイルの構築と管理

YaST には AppArmor® のプロファイルを構築したり管理したりするための基本的な仕組みが 2 種類用意されています。一方はグラフィカルなもの、他方はテキストベースのものです。テキストベースの場合、メモリなどのリソースもネットワーク帯域も比較的少なくなるようになっていますので、リモートからの管理を行うような場合や、ローカルのグラフィック環境が貧弱な場合に最適です。グラフィカルなものとテキストベースのものは、外観が異なるものの、同じ機能を同じ手順で利用できるようになっています。また、 AppArmor のコマンドも用意されていて、このコマンドは端末ウインドウから AppArmor の制御…

33 コマンドラインからのプロファイル構築

AppArmor® には、システムのセキュリティを管理するにあたって、グラフィカルなインターフェイスだけでなく、コマンドラインインターフェイスも用意されています。 AppArmor のコマンドラインツールでは、 AppArmor の状態確認のほか、プロファイルの作成や削除、修正などを行うことができます。

34 チェンジハット機能による Web アプリケーションのプロファイル作成

AppArmor® のプロファイルは本来、個別のプログラムやプロセスに対するセキュリティポリシーを表すものです。つまり、実行可能なプログラムに対してプロファイルを割り当てることになります。ところが、プログラムの一部では他の部分とは異なるアクセス許可が必要となることもあります。このような場合は、 チェンジハット の機能を利用して、メインのプログラムに対して適用されているものとは異なるセキュリティコンテキストを適用するように設定します。このような 異なるセキュリティコンテキスト のことを、 ハットサブプロファイル などと呼び、 これを変更する行為を チェンジハット と呼びます。

35 pam_apparmor によるユーザの制限

AppArmor のプロファイルは実行ファイルに対して適用されるもので、特定のプログラム内の機能が、ほかの箇所とは異なるアクセス許可を必要とする場合は、チェンジハットの機能を利用して、異なる役割であるハット (サブプロファイルとも呼ばれます) に切り替える処理を行います。 pam_apparmor という PAM モジュールでは、グループ名やユーザ名を基準にしたり、既定のプロファイルを適用したりして、認証済みのユーザを制限する機能を提供します。この機能を利用するには、 pam_apparmor を PAM のセッションモジュールとして登録する必要があります。

36 プロファイルを作成したアプリケーションの管理

AppArmor® でアプリケーションのプロファイルを作成して予防接種を実施し、プロファイルをメンテナンス (ログファイルの分析からプロファイルの更新、プロファイルのバックアップや最新状態への維持) することで、 openSUSE® Leap は非常に効率的にシステムを堅牢にすることができます。また、電子メールへのイベント通知を設定し、 aa-logprof ツールを利用してログを調査し、プロファイルを更新することで、様々な問題が顕在化する前に対応を取ることができます。

37 サポート

本章では、メンテナンスに関連する作業を説明しています。 AppArmor® の更新方法のほか、 AppArmor が提供するコマンドラインツールを使用するための基礎情報となる、マニュアルページの一覧取得方法などを説明しています。また、トラブルシューティングの章では、 AppArmor で一般的に直面する様々な問題や、その解決方法を説明しています。このほか、 AppArmor に対する欠陥報告や機能拡張のリクエスト方法などについても、説明しています。

38 AppArmor 用語集

下記の プロファイルファウンデーションクラス をお読みください。

このページを印刷