製品コラム

セイテクエンジニアのブログ  製品コラム  What's New in SSD-assistance: #1 フォルダーアクセス権レポート

 

 

What's New in SSD-assistance: #1 フォルダーアクセス権レポート

2024年06月05日配信
2024年06月19日更新
執筆者:セイ・テクノロジーズ エバンジェリスト

 サーバー設定仕様書自動生成サービス『SSD-assistance』は、専門的な知識は一切必要とせずに、たった3ステップでサーバーの設定仕様書を自動生成できるSaaS型クラウドサービスです(スタンドアロンで利用できるデスクトップ版もあります)。2023年11月からは、Windows環境のフォルダーアクセス権情報を一覧化した「フォルダーアクセス権レポート」を自動生成する「フォルダーACLオプション」の提供を開始しました。

 

シス管理の悩み: 正解のないファイルサーバーのアクセス権設定

 

 フォルダーやファイルのアクセス許可の適切な設定は、ユーザーのデータを保護し、不正アクセスやマルウェアからシステムを保護するために重要です。不適切なアクセス許可設定は、職務上権限のない従業員が、企業の機密データや個人情報を社外に持ち出すという、情報漏えいのリスクをも増大させます。特に、多数のユーザーがアクセスするファイルサーバーにおいて、適切なアクセス許可設定の導入と維持は大きな課題です。

 ファイルサーバーのアクセス許可には、共有レベルのアクセス許可(共有アクセス制御リスト≪ACL≫)と、ファイルシステムレベルのNTFSアクセス許可(フォルダーやファイルのACL)の2つがあり、ネットワーク越しのアクセス時にはその両方が評価されます。共有のアクセス許可はネットワーク越しのアクセスを制御します。NTFSアクセス許可では、フォルダーごと、ファイルごとの、ユーザーに対するアクセス許可/拒否と、グループに対するアクセス許可/拒否、フォルダーやファイルの所有者、そして親フォルダーからの継承が総合的に評価され、あるユーザーがそのオブジェクトにどのような権限でアクセスできるかできないかという「有効なアクセス許可(effective permissions)」が決まります。

 共有とNTFSのアクセス許可のベストプラクティスは、インターネットを検索すればいくつも見つかります。例えば、以下は、Microsoftが公開しているドキュメントの一例です。

アクセス制御の概要(Microsoft)
Share and NTFS Permissions on a File Server(Microsoft)

 ベストプラクティスはありますが、実際にどうすればよいのか、具体的なものはなかなか見つからないでしょう。実は、アクセス許可設定はどうとでもできるので、正解はないのです。ただ、「有効なアクセス許可」が意図しない結果にならないことにすることが重要です。できるだけシンプルな設定にしながら、期待した保護ができるのがベストです。アクセス許可設定が複雑になればなるほど、そのメンテナンスが困難になり、設定ミスが入り込む原因になるからです。「有効なアクセス許可」は、エクスプローラーの「セキュリティの詳細設定」ダイアログボックスの「有効なアクセス許可」で確認することができます。

 まず、Windowsのインストールで標準で作成されるフォルダー(C:¥Windows、C:¥Program Files、C:¥Usersなど)のNTFSアクセス許可設定は変更するべきではありません。システムが正常に動作しなくなる恐れがあります。

 共有フォルダーについては、共有のアクセス許可は既定の「Everyone:フルコントロール」とし、NTFSアクセス許可で詳細なアクセス許可/拒否を設定します。共有アクセス許可には「フルコントロール(Full Control)」「変更(Change)」「読み取り(Read)」の3種類しかなく、詳細な設定がそもそもできません。細かなアクセス許可設定はNTFSアクセス許可で行ったほう詳細な設定が可能です。「Everyone:フルコントロール」ではセキュリティ的に緩いのではないかと思うかもしれませんが、現在のWindowsはGuestアカウントが無効になっています。そのため、「Everyone」は「Authenticated Users(ローカルまたはActive Directoryで認証されたユーザー)」と同等と考えることができます。

 ユーザーのホームディレクトリにはユーザーに対して「フルコントロール」のNTFSアクセス許可を設定すればよいでしょう。共有は親フォルダーで行うことになると思いますが、親フォルダーのNTFSアクセス許可では、既定の「CREATOR OWNER:フルコントロール」と「Users: 特殊」は削除し(他は既定のまま)、「アクセス許可設定に基づいた列挙を有効にする」オプションを設定するとよいでしょう(画面1)。「アクセス許可設定に基づいた列挙を有効にする」オプションにより、共有直下の他のユーザーのフォルダーは非表示になります。なお、既定のアクセス許可を変更するには、継承を無効化(現在の継承された設定をコピーして)する必要があります。

 

画面1

画面1 ユーザーのホームディレクトリ用共有のNTFSアクセス許可設定例。共有ACLは「Everyone:フルコントロール」でよい

 

 複数ユーザーがアクセスするフォルダーでは、既定の「Users:読み取りと実行」と「Users:特殊」と「CREATOR OWNER:フルコントロール」を削除し、フォルダーへのアクセスを許可するグループ(Active Directoryの場合はドメイングループ)に対して「変更」のアクセス許可を与えます。その他、必要に応じて細かな設定(明示的な拒否設定など)を追加していきます。

 私がもしファイルサーバーの管理者なら、このようにアクセス許可を設定していくと思います。繰り返しますが、正解があるわけではないため、この通りにするべきというわけではありません。しかし、以下の点には十分に注意してください。

 

  • 「Administrators:フルコントロール」と「SYSTEM:フルコントロール」は削除しないことをお勧めします。システムのフォルダーでない限り、削除しても問題はありませんが、削除すると、管理者によるアクセスが必要なときにアクセス権の追加が必要になり、作業が煩雑になります。また、コピーベース(XCOPYなど)のデータのバックアップに影響します。削除してもWindows標準のブロック単位/VSSベースのバックアップツール「Windows Serverバックアップ」には影響しませんが、他のバックアップツールやアプリケーションには影響する場合があります。
  • 所有者の能力に注意すること。所有者はアクセス許可を変更できるため、他のアクセス許可の影響を受けません。既定の「CREATOR OWNER:フルコントロール」は削除することを検討してください。CREATOR OWNERとはフォルダーの場合は、そのフォルダーを作成したユーザーです。このアクセス許可が下位フォルダーに継承されると、読み専用に設定したはずのフォルダーに、特定のユーザーがフルコントロールでアクセスできてしまうなど、意図しない状況を作り出してしまう場合があります。
  • 既定の「Users:特殊」は削除することを検討してください。このアクセス許可には「ファイルの作成/データの書き込み」「ファイルの作成/データの追加」の許可が含まれてます(画面2、画面3)。特に、読み取り専用の共有では注意が必要です。

 

画面2

画面2 ユーザーには書き込み権限を与えていないはずなのに、ホームディレクトリの直下にフォルダーを作成できてしまっている

 

画面3
画面3 アクセスを許可していないつもりのフォルダーなのにも関わらず、ユーザーがアクセス許可を持っていることを示す有効なアクセス許可の検索結果。原因は既定のアクセス許可「Users:特殊」の影響

 エクスプローラーを使用して、フォルダーごとにアクセス許可設定を確認するのは大変な作業です。新規のファイルサーバーならできるでしょうが、長い間運用しているファイルサーバーでは、たとえルールを決めて設定、運用してきたとしても大仕事になるでしょう。ルールを決めずに、その場その場で当時の担当者が設定していたとなると、おそらくめちゃくちゃになっている可能性があります。

 コマンドラインからNTFSアクセス許可設定を確認したり、ダンプしたりできるツールとしては、次のものがあります。

 

  • icacls(ACLと継承の確認)
  • dir /q(所有者の確認)
  • Get-ACL(ACL、継承、所有者の確認)
  • Windows SysinternalsのAccessChk(ACL、継承、所有者、有効なアクセス許可の確認)(→Microsoft

 

 icaclsは、指定されたフォルダーやファイルの随意アクセス制御リスト(DACL)を表示、変更、保存、適用するWindows標準のコマンドラインツールです(画面4)。Get-ACLはicaclsの機能を包含するPowerShellコマンドレットであり、所有者の情報を取得することもできます(画面5)。AccessChkは高機能なユーティリティですが、日本語を扱えない(文字化けする)という制約があるため、日本語環境ではあまり役に立たないでしょう。

画面4
画面4 icaclsコマンドの実行例。/Tは指定したパスより下のすべてのファイルとサブディレクトリを処理するオプション

画面5
画面5 dir /qとGet-ACLコマンドレットの実行例

 どのツールも再帰的に調査できるため、現在の設定をすべてダンプするのは簡単です(Get-ACLには再帰オプションがないため、Get-ChildItem -Recurse | Get-ACLのように使用)。しかし、大量の出力結果をまとめ、それを分析するには多くの時間がかかるでしょう。その課題を解決するのが、SSD-assistanceで2023年11月に提供が始まった「フォルダーACLオプション」です。

 

フォルダーACLオプションとは?

 

 フォルダーACLオプションは、指定したフォルダーのアクセス権を一覧化した「フォルダーアクセス権レポート」を自動生成するオプションです(※ご利用には、SSD-assistanceのコーポレートプラン、ネームドプラン、またはスポットプランのご契約が必要です)。

フォルダーACLオプションとは?

 このオプションの「フォルダー情報採取ツール」は、指定したフォルダーのアクセス権を再帰的に調査し、その結果を採取ファイル(.zip)として出力します(画面6)。採取ファイルはSaaS版SSD-assistanceにアップロードする、またはデスクトップ版生成ツールを使用して、Excel形式の「フォルダーアクセス権レポート」を生成することができます(画面7、画面8)。なお、「フォルダー情報採取ツール」を実行するユーザーは管理者権限を持つ必要があります。また、管理者が読み取りアクセスできないフォルダーやファイルの情報を取得することはできません。

画面6
画面6 「フォルダー情報採取ツール」を実行して、レポート対象のフォルダーを選択し、情報を採取する

 

画面7
画面7 デスクトップ版生成ツールを使用して、採取ファイルからExcel形式のレポートを生成する

 

元年8
画面8 自動生成された「フォルダーアクセス権レポート」の例。既定で継承された「CREATOR OWNER:フルコントロール」と「Users:特殊」のアクセス許可の影響で、意図しないアクセスが可能な可能性がある

blog_column_subscribe

blog_column_comment

最新記事