SELinux/AppArmor(エスイーリナックス/アップアーマー)

SELinux/AppArmor(エスイーリナックス/アップアーマー)

SELinux/AppArmor(エスイーリナックス/アップアーマー)

英語表記: SELinux/AppArmor

概要

SELinux(Security-Enhanced Linux)とAppArmorは、主にLinux系デスクトップOSにおいて、実行中のアプリケーションがシステムリソース(ファイル、デバイス、ネットワークなど)にアクセスする権限を、システム側で厳格に制限するためのセキュリティ機構です。これらは、従来のアクセス制御(任意アクセス制御、DAC)では防げなかった、アプリケーションの脆弱性を突いたマルウェアや不正アクセスによる被害の拡大を防止する「強制アクセス制御(MAC)」を実現します。この仕組みは、たとえユーザーが管理者権限を持っていたとしても、プログラム一つひとつの動作範囲を細かく定義することで、セキュリティとプライバシーを根幹から守り、侵入後の被害を最小限に抑える「マルウェア対策」の強力な最終防衛線として機能します。

詳細解説

SELinux/AppArmorがデスクトップOSの「セキュリティとプライバシー」における「マルウェア対策」として非常に重要視されるのは、従来のセキュリティモデルの限界を克服するためです。従来のLinux OSでは、ファイルやディレクトリへのアクセス権限は「誰(ユーザー/グループ)が」アクセスできるかという基準(任意アクセス制御、DAC)で決定されていました。これは、オーナーであるユーザーの裁量に任されるため、もしそのユーザーが実行したアプリケーションが不正に乗っ取られた場合、そのアプリケーションが持つすべての権限を悪用されてしまい、被害がシステム全体に拡大するリスクがありました。

ここで登場するのが、SELinuxとAppArmorが提供する強制アクセス制御(MAC)です。これは「誰が」ではなく、「どのような役割を持つプログラムが、どのようなリソースにアクセスできるか」を、システム管理者が事前に定義し、システム側で強制的に実行させる仕組みです。これにより、悪意あるプログラムが許可されていない動作を試みた場合、即座にカーネルレベルでブロックされます。

SELinuxの動作原理

SELinuxは、アメリカ国家安全保障局(NSA)によって開発され、高いセキュリティレベルが要求される環境のために設計されました。非常に強力ですが、設定の複雑さでも知られています。

  1. セキュリティコンテキスト: SELinuxでは、システム上のすべての主体(プロセス)と客体(ファイル、ディレクトリ、ポートなど)に、その役割を示す「セキュリティコンテキスト」というラベルが付与されます。
  2. タイプエンフォースメント(TE): SELinuxは、このセキュリティコンテキストの組み合わせに基づいて、アクセスを許可するかどうかを決定します。例えば、Webサーバーのプロセスは、Webコンテンツとして指定されたファイルへのアクセスは許可されますが、システムの設定ファイルや他のユーザーのホームディレクトリへの書き込みは、そのコンテキスト上、厳しく禁止されます。

この厳格な制御により、たとえマルウェアがWebサーバーの脆弱性を突いてプロセスを乗っ取ったとしても、そのプロセスの「役割」は変わらないため、許可されていないリソースへのアクセスはすべて拒否されます。これは、デスクトップOS上でのアプリケーションの暴走を食い止め、「セキュリティとプライバシー」を護る上で欠かせない機能です。

AppArmorの動作原理

AppArmorは、SELinuxと比較して後発であり、より使いやすさと設定の容易さに重点を置いて設計されています。Ubuntuなど、多くのユーザーフレンドリーなディストリビューションで採用されていますね。

  1. パスベースの制御: AppArmorは、ファイルシステムの「パス(場所)」に基づいてアクセス制御を行います。
  2. プロファイル: 特定のアプリケーションごとに「プロファイル」と呼ばれる設定ファイルを作成します。このプロファイルには、「このアプリケーションは、特定のディレクトリ内のファイルに対して読み取り(r)のみ許可する」「このファイルへの書き込み(w)は禁止する」といった、具体的なルールを記述します。

このパスベースの制御は直感的で管理が容易であり、特定のアプリケーション

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

両親の影響を受け、幼少期からロボットやエンジニアリングに親しみ、国公立大学で電気系の修士号を取得。現在はITエンジニアとして、開発から設計まで幅広く活躍している。

目次