Jamf Pro セキュリティに関する推奨事項

本資料は、Jamf Cloud およびオンプレミスでホストされる Jamf Pro サーバの推奨セキュリティ設定について説明しています。Jamf Pro サーバとすべての対応テクノロジー (サーバ OS、Java、Apache Tomcat、MySQL を含む) が、内部セキュリティ基準を順守していることを確認してください。本資料は、Jamf Pro サーバのセキュリティを確保し、基盤インフラを安全かつ最新の状態で維持するそれぞれの方法について、基本的推奨事項を説明します。

Jamf Pro サーバ設定

サーバをできるだけ安全に維持するため、Jamf Pro で以下のセキュリティ関連設定を有効化できます。
  • Jamf Pro ユーザアカウントのパスワードポリシーを構成する詳しくは、Jamf Pro ドキュメントJamf Pro のユーザアカウントとグループの「Configuring the Password Policy (パスワードポリシーの構成)」を参照してください。
  • 最小必須権限を有効化する所属するオーガニゼーションのすべてのユーザアカウントとグループに必要な最小権限を有効化します。詳しくは、Jamf Pro ドキュメントJamf Pro のユーザアカウントおよびグループ ページの「Creating a Jamf Pro User Account (Jamf Pro ユーザアカウントの作成)」を参照してください。
  • 変更管理設定を構成し、変更をログする変更管理設定 (Jamf Cloud インスタンスでは自動的に有効化されます) を構成し、Jamf Pro で変更をログします。詳しくは、Jamf Pro ドキュメントChange Management (変更管理) ページの「Viewing Change Management Logs in Jamf Pro (Jamf Pro の変更管理ログを表示)」を参照してください。
  • ログフラッシュの適切なスケジュール設定をする詳しくは、Jamf Pro ドキュメントFlushing Logs (ログのフラッシュ) ページの「Scheduling Log Flushing (ログフラッシュのスケジュール設定)」を参照してください。
  • 証明書に基づく認証の有効化と SSL 証明書検証の構成このオプションを有効化する前に、Jamf Pro サーバに有効な web サーバ証明書があることを確認してください。詳しくは、Jamf Pro ドキュメントセキュリティ設定、および資料の Safely Configuring SSL Certificate Verification (SSL 証明書検証の安全な構成) を参照してください。
  • Self Service のユーザ認証を要求する詳しくは、Jamf Pro ドキュメントmacOS 用 Self Service ユーザログイン設定 を参照してください。
  • 自動 MDM 登録にユーザ認証を要求するJamf Pro の PreStage Enrollment を使用し、Apple Device Enrollment (旧 DEP) 経由で登録する場合、コンピュータ/モバイルデバイスの設定中にユーザ認証を要求します。詳しくは、Jamf Pro ドキュメントコンピュータ Prestage Enrollment およびモバイルデバイス Prestage Enrollment を参照してください。

コンテンツ配布

クラウド配布ポイント

Jamf Cloud 配布サービス (JCDS)
Jamf Cloud が Jamf Pro サーバをホストし、定期購読ベースのオプションがある場合、Jamf Cloud Distribution Service (JCDS) をクラウド配布ポイントとして使用できます。
Amazon CloudFront
Amazon CloudFront を使用して、署名付き URL でコンテンツを配信することもできます。詳しくは、Amazon CloudFront Developer Guide (Amazon CloudFront デベロッパーガイド)Using signed URLs (署名済みの URL の使用) を参照してください。
Akamai

トークン認証保護を有効にした Akamai を使用することも、安全なコンテンツ配信ネットワークのオプションです。Akamai のトークン認証の使用方法については、MSOD: Stream Packaging User Guide (MSOD: ストリームパッケージユーザガイド)Using Token Authorization (トークン認証の使用) を参照してください。

クラウド配布ポイントの構成、テスト、複製に関する詳細は、Jamf Pro ドキュメントCloud Distribution Point (クラウド配布ポイント) を参照してください。

ファイル共有配布ポイント

JCDS を使用できない、または独自のファイル共有配布ポイントを構成済みの場合、Jamf Pro サーバがマネージドコンピュータやマネージドデバイスへのコンテンツ配布を可能にします。安全なコンテンツ配布のために以下の推奨事項に留意してください。

ファイル共有 ( Settings (設定) > Server Infrastructure (サーバインフラストラクチャ) > File Distribution Points (ファイル共有配布ポイント) > select distribution point (配布ポイントの選択) > File Sharing (ファイル共有) タブへ移動):

  • サーバに標準外ポートの使用を考慮する (標準ポートの詳細は、資料の Jamf Pro が使用するネットワークポートを参照してください。)

  • 読み取り/書き込み、および読み取り専用の権限別サービスアカウントを作成する

HTTP ダウンロード (Settings (設定) > Server Infrastructure (サーバインフラストラクチャ) > File Share Distribution Points (ファイル共有配布ポイント) > 配布ポイントを選択 > HTTP/HTTPS タブへ移動):

  • Use HTTP downloads (HTTP ダウンロードの使用) のチェックボックスを選択して HTTP を有効にする

  • Use SSL (SSL の使用) のチェックボックスを選択して SSL (Secure Sockets Layer) を有効にする

  • Authentication Type (認証タイプ) のポップアップメニューから ユーザ名およびパスワード を選択し、ファイルダウンロードの認証を要求する

詳細については、Jamf Pro ドキュメント の「File Share Distribution Points (ファイル共有配布ポイント)」を参照してください。

マネージドデバイス

macOS コンピュータ
macOS コンピュータのセキュリティ保護には、以下に従うことを推奨します。
  • コンピュータポリシーの Randomly generate new password (新パスワードのランダム生成) チェックボックスを選択し、パスワードポリシーのパスワードリセットの頻度を構成して、管理用アカウントパスワードのセキュリティを強化する。
  • コンピュータ構成プロファイルで Passcode (パスコード) payload を展開し、ローカルユーザアカウントパスコードの難易度を構成する。
  • FileVault 2 暗号化を要求する (詳しくは、Jamf Pro ドキュメントDeploying Disk Encryption Configurations (ディスク暗号化構成の展開) を参照してください)。
  • 条件付きアクセスを構成する (詳しくは、Jamf Pro ドキュメントMicrosoft Intune Integration (Microsoft Intune との統合) を参照のこと)。
iOS デバイス
iOS デバイスのセキュリティ保護には、以下に従うことを推奨します。
  • モバイルデバイス構成プロファイルで Passcode (パスコード) payload を展開し、ローカルユーザアカウントパスワードの難易度を構成する。
  • 安全なデータ保護のため、App を配布する際、Make app managed when possible (可能な場合は App をマネージドにする) チェックボックスをオンにすることを確認する。
パッチポリシーとレポート
最新のセキュリティパッチで App を最新の状態に保つことが重要です。詳しくは、Jamf Pro ドキュメントPatch Policies (パッチポリシー)Patch Reporting (パッチレポート) のページを参照してください。
スクリプト
カスタムまたは PreBuilt のスクリプトは、コンピュータのコマンドを実行する一般的な方法であり、ポリシーで実行することも可能です。スクリプト内の Jamf Pro サーバ管理者のアカウント認証情報をハードコーディングすることは、避けてください。

オンプレミス専用設定

サーバ OS

Jamf Pro リリースノートの Jamf Pro System Requirements (Jamf Pro システム要件) を満たすサーバであれば、Jamf Pro をホストできます。

注:

最低要件を満たすあらゆるサーバに Jamf Pro をインストールできますが、Mac、Linux、Windows 用 Jamf Pro インストーラには追加要件があります。詳細については、お使いのプラットフォームの「Jamf Pro Installation and Configuration Guide (Jamf Pro のインストールと構成ガイド)」を参照してください。

サーバ OS のセキュリティを強化するには、以下の推奨システム設定に留意してください。
  • ゲストアクセスを無効にする
  • 自動ログインを無効にする
  • 不要なサービスアカウントを削除する
  • すべてのデフォルトパスワードを削除またはリセットする
  • 必要最小限のアカウント権限に制限する
  • 必要最小限のプロセスに制限する
  • 使用可能な port とネットワークのサービスを制御する

Java

Jamf Pro サーバと対応テクノロジー (Apache Tomcat) は、無制限強度の暗号化を備えた Java Development Kit (JDK) に依存します。Java のインストール方法については、記事 Jamf Pro 10.14.0 以降用の Java と MySQL をインストールする を参照してください。

Apache Tomcat

Apache Tomcat は Apache Software Foundation が開発し、維持するオープンソースの Web サーバであり、Jamf Pro Web App の実行に使用されます。Apache Tomcat のセキュリティ保護に関する詳細は、Open Web Application Security Project (OWASP) の Securing tomcat (Tomcat の保護) 資料を参照してください。

このセクションの推奨事項は、Apache Tomcat のセキュリティを強化する上で役立ちます。

次の表は、後で示す指示で構成する必要のある Tomcat ファイルへのデフォルトファイルパスを一覧表示しています。

ファイルLinux のパスWindows のパス
web.xml/usr/local/jss/tomcat/conf/web.xmlC:\Program Files\JSS\Tomcat\conf\web.xml
server.xml/usr/local/jss/tomcat/conf/server.xmlC:\Program Files\JSS\Tomcat\conf\server.xml
ServerInfo.properties/usr/local/jss/tomcat/webapps/ROOT/WEB-INF/classes/ServerInfo.propertiesC:\Program Files\JSS\Tomcat\webapps\ROOT\WEB-INF\classes\ServerInfo.properties
重要:

変更内容を反映するには、これらのファイルのどれかに修正を加えた後に、Tomcat を再起動する必要があります。

注:

変更を加える前に、修正するファイルのバックアップをとることを、Jamf は推奨します。

(Jamf Pro 10.0.0 以降) Web.xml の修正
  • HTTP レスポンスヘッダーに <http-only> と <secure> のフラグを追加します クロスサイトスクリプティング (XSS) 攻撃のリスクを軽減するために、web.xml ファイルの Set-Cookie HTTP レスポンスヘッダーに追加の <http-only><secure> のフラグを追加することを、Jamf は推奨します。
    Conf ディレクトリの web.xml ファイルを開いて、以下のように <session-config> セクションに <cookie-config> の値を追加してください。
    <!-- ==================== デフォルトのセッション構成 ================= -->
    <!-- 以下の値を変更することにより、新しく作成されたすべてのセッションのデフォルトの -->
    <!-- セッションタイムアウト (分単位) を設定できます。 -->
    <session-config>
    	<session-timeout>30</session-timeout>
    	<cookie-config>
    		<http-only>true</http-only>
    		<secure>true</secure>
    	</cookie-config>
    </session-config>
(Jamf Pro 10.20.0 以降) Server.xml の修正
  • HTTPS のみの使用と HTTP の無効化非 SSL HTTP コネクタを無効にすることにより、server.xml ファイルを修正してください。
    <!--
    <Connector URIEncoding="UTF-8" executor="tomcatThreadPool" port="8080" protocol="HTTP/1.1"
    connectionTimeout="20000" maxPostSize="8388608" redirectPort="8443" />
    -->
  • 強力な暗号構成と暗号化置き替える暗号の詳細は、資料の Configuring Supported Ciphers for Tomcat HTTPS Connections (Tomcat HTTPS 接続に対応する暗号構成) を参照してください。暗号を構成する際は、OWASP の Securing tomcat (Tomcat の保護)Encryption (暗号) を参照してください。
  • アクセスロギングの有効化デフォルトのアクセスログバルブを使用するには、コメントを外すか、Valve className を「org.apache.catalina.valves.AccessLogValve」に設定します。デフォルトログ値を使用するか、Apache Tomcat 8 Configuration Reference (Apache Tomcat 8 構成リファレンス)Extended Access Log Valve (拡張アクセスログバルブ) 資料にある次の指示に従って、パターン属性値を構成できます。
(Jamf Pro 10.19.0 以前、および手動でインストールされた Tomcat インスタンス) Server.xml への追加修正
注:

次の変更内容は、Tomcat が手動でインストールされている Jamf Pro 10.19.0 以前、および Jamf Pro の全バージョンに適用されます。

  • バルブ修正による Tomcat のバージョニングの回避

    HTTP ヘッダーへの応答で Apache Tomcat のバージョンがレポートされるのを回避するために、Apache Tomcat 8 Configuration Reference (Apache Tomcat 8 構成リファレンス)Extended Access Log Valve (拡張アクセスログバルブ) 資料に従って、CATALINA_BASE/conf/server.xml ファイルにある ErrorReportValve 属性を設定します。

  • コネクタ修正による AJP ポートを介した通信を回避デフォルト AJP ポート (8009) が信頼できないネットワークにアクセスできないようにするために、以下のいずれかを実行してください:
    • server.xml ファイルの AJP コネクタをコメントアウトし、Jamf Pro Tomcat サービスを再起動します。
    • ファイアウォールでポート 8009 を無効にします。
    • Jamf Pro 10.20.0 以降へアップグレードします。
(Jamf Pro 10.19.0 以降) ServerInfo.properties の修正
  • サーババージョンのディスクロージャの回避サーババージョンのディスクロージャを回避するため、Apache Tomcat 8Valves (値) セクションにある推奨事項に従い、ServerInfo.properties ファイルを変更します。
(Jamf Pro 10.19.0 以降) Web.xml の修正
  • デフォルトエラーページの差し替ええでバージョンディスクロージャを回避するデフォルトエラーページの差し替えには、OWASP の Securing tomcat (Tomcat のセキュリティ強化) 資料の推奨事項に従い、web.xml ファイルを変更します。
  • (オプション) Web アプリケーションサーブレット特有の制限サーブレットの動作を変更するか、それらをファイルから削除することにより、特定の Web アプリケーションサーブレットを制限するため、web.xml を変更します。
SSL 証明書の検証を有効にする
発行者、サブジェクト別名 (SAN)、期限を使用して検証します。SSL 証明書の検証を設定する方法については、記事 Safely Configuring SSL Certificate Verification (SSL 証明書の安全な構成) を参照してください。

MySQL

MySQL は Oracle が開発、維持するリレーショナルデータベースマネジメントシステムです。Jamf Pro サーバは MySQL をバックエンドデータベースとして、システムデータの保存とメンテナンスに使用します。以下の推奨事項に従い、MySQL を最新状態に保ち、セキュリティを保護してください。
デフォルトの mysql_secure_installation を実行する。
MySQL のインストレーションには、mysql_secure_installation コマンドラインユーティリティがあり、これは MySQL インストレーションを保護するためのタスクを自動化します。mysql_secure_installation を実行すると、root アカウントのパスワード設定、特定アカウントや test ベース、アクセス権限の削除によって MySQL インストレーションのセキュリティを強化できます。
詳細については、MySQL バージョンに対応する以下の資料を参照してください:
mysql_secure_installation を使用できない場合は以下を実行してください。
  • root アカウントのパスワードを設定する
  • 匿名ユーザアカウントからすべての権限を削除する
  • test データベースと関連するすべての権限を削除する
一意のデータベース名とセキュアパスワードのある一意の MySQL ユーザを作成する
データベース名と root MySQL ユーザパスワードの変更の方法に関する詳細は、https://docs.jamf.com/technical-articles/index.html?contextid=542 の記事を参照してください。
注:

セキュリティ強化のため、資料の例とは異なる一意のデータベース名と root MySQL ユーザパスワードを使用してください。

必要最小限の権限に制限する
MySQL へのアクセスをさらに制限する場合は、権限を制限した別のユーザアカウントを作成できます。参照ウェブページ:
以下は、さまざまな種類の環境に必要な MySQL 権限の一覧です。
  • クラスタ環境でのスタンドアロン Web アプリケーションまたはプライマリノードの場合:
    • INSERT

    • SELECT

    • UPDATE

    • DELETE

    • CREATE

    • DROP

    • ALTER

    • INDEX

    • LOCK TABLES

  • クラスタ環境での子ノードの場合:
    • INSERT

    • SELECT

    • UPDATE

    • DELETE

    • DROP

    • LOCK TABLES

  • 別の MySQL ユーザでクラスタノードからの接続を表示するには:
    • PROCESS

    注:

    PROCESS 権限では "*.*" の使用が必要です。

たとえば、次の一般的な構文を使用してコマンドを実行します。
GRANT <特典> ON <データベース> TO <ユーザー>;
データベースバックアップのスケジュール設定
詳細については、Backing Up the Database Using Jamf Pro Server Tools (Jamf Pro サーバツールを使用したデータベースのバックアップ) 記事を参照してください。
<DataBasePassword> キーの削除、またはブランク値の設定
データベースパスワードが構成ファイルから削除された場合、起動中にデータベースパスワードをJamf Pro サーバ Web App へ手動で入力する必要があります。クラスタ環境では、データベースパスワードを Node 別に手動で入力しなければなりません。
注:

デフォルト値はあくまでも参考にしてください。実稼働環境では、一意の値を使用してください。

<DataBase>
...
<DataBaseName>jamfsoftware</DataBaseName>
<DataBaseUser>jamfsoftware</DataBaseUser>
<DataBasePassword></DataBasePassword>
...
</DataBase>

Memcached の保護

Memcached を保護するには、環境に応じていくつかの方法があります。例:
  • Memcached サーバを外部からアクセスできるように構成しない
  • Memcached サーバと Jamf Pro クラスタ化 Tomcat ノード間のトラフィックを制限するファイアウォールルールの実装
  • memcached.conf ファイルで UDP を無効にする
  • -l フラグを使用して、特定の IP へのトラフィックを制限する
memcached.conf ファイルの例の次の抜粋は、UDP を無効にして特定の IP へのトラフィックを制限する方法を示しています:
PORT="11211"
USER="memcached"
# max connection 2048
MAXCONN="2048"
# set ram size to 2048 - 2GiB
CACHESIZE="4096"
# disable UDP and listen to loopback ip 127.0.0.1, for network connection use real ip e.g., 10.0.0.5
OPTIONS="-U 0 -l 127.0.0.1"

一般的な Jamf Pro 環境で使用されるポートの詳細については、記事の Network Ports Used by Jamf Pro (Jamf Pro が使用するネットワークポート) 記事を参照してください。