Lustre と マルチレベルセキュリティ(MLS) とは?

この記事は、DDN.comに掲載の "Lustre and MLS - WHAT THIS IS ABOUT" の内容の日本語編集版となります。
SELinux と マルチレベルセキュリティ(MLS) とは何ですか?
SELinuxは、Mandatory Access Control(MAC)ポリシーをサポートするためのLinuxの仕組みを提供します。 MACポリシーが実施されると、OSのカーネルはアプリケーションの権利を定義し、アプリケーションをファイアウォールしてシステム全体を侵害することを防ぎます。ユーザはポリシーを無効にすることはできません。
SELinuxの最初の目的は、特権昇格からOSを保護することです。その範囲では、SELinuxは、プロセスとユーザのための限定されたドメインと制限されていないドメインを定義します。各プロセス、ユーザ、ファイルにはセキュリティコンテキストが割り当てられ、ルールはプロセスとユーザによる許可された操作をファイルに対して定義します。
SELinuxのもう1つの目的は、データの機密性を保護することです。ここがマルチレベルセキュリティ(MLS)の活躍するところです。 MLSは、ドメインに加えてセキュリティレベルの概念を定義することで、SELinuxの上で動作します。各プロセス、ユーザ、ファイルにはセキュリティレベルが割り当てられ、Bell-LaPadulaモデルでは、プロセスとユーザは同等のセキュリティレベルまたはそれより低いセキュリティレベルに対してリードが可能ですが、ライトはセキュリティレベルが同等か高い場合にのみ可能です。
それ自身またはより高いセキュリティレベルに書き込むことができます
RedHatやCentOSのようなほとんどのLinuxディストリビューションでは、ライトポリシーのコンセプトが追加されたMLSポリシーでBell-LaPadulaモデルが実装されています。つまり、プロセスとユーザは自分のレベルにのみライトが可能です。
SELinux と MLS は Lustre とどのように連携しますか?
ファイルシステムの観点から見ると、ファイルのセキュリティコンテキストは永続的に保存する必要があります。 Lustreは、この情報を保持するために拡張されたsecurity.selinux拡張属性を使用します。
EXAScaler® 3から、SELinuxはLustreクライアント側でサポートされています。 LustreにMACとMLSを持たせるために必要なのは、Linuxディストリビューションが提供する適切なSELinuxポリシーをすべてのLustreクライアントに適用することだけです。 Lustreサーバ側ではSELinuxは必要ありません。
Lustreは分散ファイルシステムなので、MLSを使用する際、SELinux MLSポリシーが適切に適用されているノードによってデータがアクセスされることをLustreは常に確認する必要があります。それ以外の場合、データは保護されません。クライアント側でSELinuxが有効になっており、そのポリシーが正しく、また改変されていないことを、Lustreが確認する必要があります。
DDNエンジニアリングはこの制御を実装しており、実証実験(PoC)を行っています。 SELinuxクライアントのステータスチェックは、MDSの観点から見られるように、すべてのファイルアクセスに対して実行されます。 SELinuxがクライアント側で期待通りに適用されていない場合、サーバはLustreへのアクセスを拒否します。
パフォーマンスにどのような影響がありますか?
SELinux MLSアービトレーションは、すべてのファイルアクセスに対して実行され、ファイルのリードまたはライトに関するデータチャンクに対しては実行されません。したがって、帯域幅のパフォーマンスに影響はありません。ただし、メタデータのパフォーマンスは次のように影響を受けます。
・Createのパフォーマンスが5%低下
・Statのパフォーマンスが30%低下
・Removeのパフォーマンスが5%低下
Createとremoveへの影響は、ファイルアクセスごとに複数の要求を送信することを避けるLustreの最適化のおかげで、非常に控えめです。 SELinuxが許可している場合、実際のstat要求を送信する前に、LustreはMDSサーバにファイルのセキュリティコンテキストを取得するための事前リクエストを送信することを避けることができないため、statへの影響はより顕著になります。追加のSELinuxクライアントステータスチェック機能からの情報を使用して計測したところ、メタデータパフォーマンスペナルティは約3%アップします。
DDNによる最新のLustre MLS 開発について、より詳細をお知りになりたい場合は、是非 SupercomputingAsia 2018のDDNセッション、ブースにお立ち寄り下さい。
出典:DDN.com "Lustre and MLS - WHAT THIS IS ABOUT" November 2, 2017
筆者:Sebastien Buisson, DDN Software Engineer
リンク:
・Lustre 特集ページ(別ウィンドウ)
・Lustre 関連情報(別ウィンドウ)