第4章 Capsule Server のインストール

Capsule Server をインストールする前に、ご使用の環境がインストールの要件を満たしていることを確認する必要があります。Capsule Server のインストール要件は Satellite Server と同じです。詳細については、「インストールのための環境準備」を参照してください。

4.1. Satellite Server への Capsule Server の登録

作業を開始する前に

  • Satellite Server には、サブスクライブする組織の適切なリポジトリーを使用してマニフェストがインストールされている必要があります。マニフェストには Capsule のベースシステムと Capsule に接続されたすべてのクライアント向けのリポジトリーが含まれる必要があります。リポジトリーは同期する必要があります。マニフェストとリポジトリーの詳細については、『Content Management Guide』を参照してください。
  • Satellite Server のベースシステムは、Capsule Server のベースシステムのホスト名を解決できる必要があり、Capsule Server のベースシステムは Satellite Server のベースシステムのホスト名を解決できる必要があります。
  • Satellite Server のユーザー名とパスワードが必要です。詳細については、『Red Hat Satellite 6.2 Server Administration Guide』を参照してください。

Satellite Server への Capsule Server の登録

  1. Capsule Server に Satellite Server の CA 証明書をインストールします。

    # rpm -Uvh http://satellite.example.com/pub/katello-ca-consumer-latest.noarch.rpm
  2. 組織で Capsule Server を登録します。

    # subscription-manager register --org organization_name

4.2. Capsule Server サブスクリプションの識別と割り当て

Capsule Server の登録後は、Capsule Server のサブスクリプションプール ID を識別する必要があります。プール ID を使用すると、必要なサブスクリプションを Capsule Server に割り当てることができます。Capsule Server のサブスクリプションがあると、Capsule Server のコンテンツ、Red Hat Enterprise Linux、Red Hat Software Collections (RHSCL)、および Red Hat Satellite にアクセスできます。これは唯一必要なサブスクリプションです。

  1. Capsule Server のサブスクリプションを識別します。

    # subscription-manager list --all --available

    このコマンドを実行すると、以下のような出力が表示されます。

    +
    +-------------------------------------------+
        Available Subscriptions
    +-------------------------------------------+
    
    Subscription Name: Red Hat Satellite Capsule Server
    Provides:          Red Hat Satellite Proxy
                       Red Hat Satellite Capsule
                       Red Hat Software Collections (for RHEL Server)
                       Red Hat Satellite Capsule
                       Red Hat Enterprise Linux Server
                       Red Hat Enterprise Linux High Availability (for RHEL Server)
                       Red Hat Software Collections (for RHEL Server)
                       Red Hat Enterprise Linux Load Balancer (for RHEL Server)
    SKU:               MCT0369
    Pool ID:           9e4cc4e9b9fb407583035861bb6be501
    Available:         3
    Suggested:         1
    Service Level:     Premium
    Service Type:      L1-L3
    Multi-Entitlement: No
    Ends:              10/07/2022
    System Type:       Physical
  2. Satellite ホストに割り当てることができるように、プール ID をメモします。使用するプール ID は、ここで提示した例とは異なります。
  3. プール ID を使用してサブスクリプションを Capsule Server に割り当てます。

    # subscription-manager attach --pool=Red_Hat_Satellite_Capsule_Pool_Id

    この出力では、以下のような内容が表示されます。

    Successfully attached a subscription for: Red Hat Capsule Server
  4. サブスクリプションが正しく割り当てられたことを確認するには、以下のコマンドを実行します。

    # subscription-manager list --consumed

4.3. リポジトリーの設定

  1. すべての既存のリポジトリーを無効にします。

    # subscription-manager repos --disable "*"
  2. Red Hat Satellite、Red Hat Enterprise Linux、および Red Hat Software Collections リポジトリーを有効にします。

    Red Hat Software Collections リポジトリーは、リモート実行機能を含む一部の Red Hat Satellite 機能で必要な新しいバージョンの Ruby を提供します。

    Red Hat Enterprise Linux リポジトリーが、使用してる特定のバージョンに一致することを確認します。

    使用しているプラットフォーム実行するコマンド

    Red Hat Enterprise Linux 6

    subscription-manager repos --enable rhel-6-server-rpms --enable rhel-6-server-satellite-capsule-6.2-rpms --enable rhel-server-rhscl-6-rpms

    Red Hat Enterprise Linux 7

    subscription-manager repos --enable rhel-7-server-rpms --enable rhel-7-server-satellite-capsule-6.2-rpms --enable rhel-server-rhscl-7-rpms

  3. Red Hat 以外のすべての yum リポジトリーから残されたすべてのメタデータを削除します。

    # yum clean all
  4. リポジトリーが有効になっていることを確認します。

    # yum repolist enabled

    以下のような出力が表示されます。

    Loaded plugins: langpacks, product-id, subscription-manager
    repo id                                                 repo name                                                    status
    !rhel-7-server-rpms/7Server/x86_64                      Red Hat Enterprise Linux 7 Server (RPMs)                      7,617
    !rhel-7-server-satellite-capsule-6.2-rpms/x86_64     Red Hat Satellite Capsule 6.2(for RHEL 7 Server) (RPMs)    176
    repolist: 7,793

4.4. 時間の同期

時刻の誤差を最小化するには、ホストオペレーティングシステムで時刻シンクロナイザーを起動し、有効にする必要があります。システムの時刻が正しくない場合は、証明書の検証に失敗することがあります。

NTPchrony の 2 つの時刻シンクロナイザーが利用可能です。各シンクロナイザーにはそれぞれの利点があります。chrony は、頻繁に一時停止するシステムと、ネットワークから断続的に切断され、ネットワーク接続が再確立されるシステム (モバイルシステムや仮想システムなど) に推奨されます。NTP は、実行状態を維持し、中断なしでネットワークに接続することが期待されるシステムに推奨されます。

NTPchrony の違いに関する詳細については、『Red Hat Enterprise Linux 7 System Administrators Guide』または『Red Hat Enterprise Linux 6 Deployment Guide』を参照してください。

NTP を使用した時刻の同期

  1. ntp をインストールします。

    # yum install ntp
  2. NTP サーバーが利用可能であることを確認します。

    # ntpdate -q ntp_server_address
  3. システム時刻を設定します。

    # ntpdate ntp_server_address
  4. ntpd サービスを起動して、有効にします。

    # chkconfig ntpd on

chronyd を使用した時刻の同期

  1. chronyd をインストールします。

    # yum install chrony
  2. chrony サービスを起動し、有効にします。

    # systemctl start chronyd
    # systemctl enable chronyd

4.5. Capsule Server のインストール

  1. インストールパッケージをインストールします。

    # yum install satellite-capsule

4.6. Capsule Server の初期設定の実行

このセクションでは、デフォルトの証明書、DNS、および DHCP の使用を含む Capsule サーバーのデフォルトのインストールのデモを行います。他の高度な設定オプションの詳細については、「Capsule Server での追加設定の実行」 を参照してください。

4.6.1. デフォルトのサーバー証明書を使用した Capsule Server の設定

Capsule Server で使用されているデフォルトの認証局 (CA) を使用できます (この認証局は、サブサービスを認証するためのサーバーおよびクライアントの SSL 証明書両方で使用されます)。

作業を開始する前に

  • 必要なサブスクリプションが Capsule Server に割り当てられている必要があります。
  • katello-ca-consumer-latest パッケージがインストールされている必要があります。
  • Capsule Server が Satellite Server に登録されている必要があります。

デフォルトのサーバー証明書を使用した Capsule Server の設定

  1. Satellite Server で証明書アーカイブを作成します。

    # capsule-certs-generate
    --capsule-fqdn "mycapsule.example.com"\
    --certs-tar "~/mycapsule.example.com-certs.tar"
  2. satellite-installer パッケージが Capsule Server で利用可能であることを確認します。
  3. 生成されたアーカイブ .tar ファイルを Satellite Server から Capsule Server にコピーします。
  4. ご使用の環境のニーズに基づいて証明書を有効にします。詳細については、satellite-installer --help を参照してください。

    # satellite-installer --scenario capsule\
        --capsule-parent-fqdn "satellite.example.com"\
        --foreman-proxy-register-in-foreman "true"\
        --foreman-proxy-foreman-base-url "https://satellite.example.com"\
        --foreman-proxy-trusted-hosts "satellite.example.com"\
        --foreman-proxy-trusted-hosts "mycapsule.example.com"\
        --foreman-proxy-oauth-consumer-key "UVrAZfMaCfBiiWejoUVLYCZHT2xhzuFV"\
        --foreman-proxy-oauth-consumer-secret "ZhH8p7M577ttNU3WmUGWASag3JeXKgUX"\
        --capsule-pulp-oauth-secret "TPk42MYZ42nAE3rZvyLBh7Lxob3nEUi8"\
        --capsule-certs-tar "~/mycapsule.example.com-certs.tar"

4.7. Capsule Server での追加設定の実行

4.7.1. katello エージェントのインストール

クライアントのリモートアップデートを許可するために、katello エージェントをインストールすることが推奨されます。自己登録 Satellite Server または Capsule Server のベースシステムは Satellite Server のクライアントであるため、katello エージェントがインストールされている必要があります。

作業を開始する前に

  • Satellite Server で Satellite Tools リポジトリーが有効にされている必要があります。
  • Satellite Server で Satellite Tools リポジトリーが同期されている必要があります。

katello-agent のインストール手順:

  1. システムにログインします。
  2. このバージョンの Satellite 向け Satellite Tools リポジトリーを有効にします。

    • Red Hat Enterprise Linux 7 の場合は、以下のコマンドを実行します。

      # subscription-manager repos --enable=rhel-7-server-satellite-tools-6.2-rpms
    • Red Hat Enterprise Linux 6 の場合は、以下のコマンドを実行します。

      # subscription-manager repos --enable=rhel-6-server-satellite-tools-6.2-rpms
  3. パッケージをインストールします。

    # yum install katello-agent

4.7.2. Capsule Server でリモート実行を有効化

Capsule Server のホストでコマンドを実行する場合は、リモート実行が有効である必要があります。リモート実行を有効にするには、Host Configuration Guide で示された手順を実行します。

4.7.3. Capsule Server へのライフサイクル環境の追加

Capsule Server でコンテンツ機能が有効な場合は、環境を追加する必要があります。環境を追加すると、Capsule Server で Satellite Server からのコンテンツを同期し、コンテンツをホストシステムに提供できます。

Capsule Server は、Satellite Serverの Hammer CLI を使用して設定されます。すべてのコマンドを Satellite Server で実行する必要があります。

  1. root として Hammer CLI にログインします。
  2. すべての Capsule Server のリストを表示し、ID をメモします。

    # hammer capsule list
  3. ID を使用して、Capsule Server の詳細を検証します。

    # hammer capsule info --id capsule_id_number
  4. 利用可能なライフサイクル環境を検証し、環境 ID をメモします。

    # hammer capsule content available-lifecycle-environments --id capsule_id_number

    利用可能なライフサイクル環境は Capsule Server に対して利用可能ですが、現在接続されていません。

  5. ライフサイクル環境を Capsule Server に追加します。

    # hammer capsule content add-lifecycle-environment --id capsule_id_number --environment-id environment_id_number
  6. Capsule Server に追加する各ライフサイクル環境に対して手順を繰り返します。
  7. Satellite Server 環境からのすべてのコンテンツを Capsule Server と同期するには、以下のコマンドを実行します。

    # hammer capsule content synchronize --id capsule_id_number
  8. Satellite Server 環境からの特定のライフサイクル環境を Capsule Server と同期するには、以下のコマンドを実行します。

    # hammer capsule content synchronize --id external_capsule_id_number --environment-id environment_id_number

4.7.4. 管理対象ホスト上での電源管理の有効化

Capsule Server でベースボード管理コントローラー (BMC) を有効にすると、IPMI (Intelligent Platform Management Interface) または類似したプロトコルを使用して管理対象ホストで電源管理コマンドを使用できます。

Satellite Capsule サーバー上の BMC サービスを使用すると、さまざまな電源管理タスクを実行できます。この機能の基礎となるプロトコルは IPMI (BMC 機能とも呼ばれます) です。IPMI は、ホストの CPU とは独立して実行される専用プロセッサーに接続された管理対象ハードウェア上の特別なネットワークインターフェースを使用します。多くのインスタンスでは、BMC 機能はシャーシ管理の一部としてシャーシベースのシステムに組み込まれます (シャーシの専用モジュール)。

BMC サービスの詳細については、『Red Hat Satellite 6.2 Host Configuration Guide』を参照してください。

作業を開始する前に

  • すべての管理対象ホストにタイプが BMC のネットワークインターフェースが搭載されている必要があります。Satellite はこの NIC を使用して適切な認証情報をホストに渡します。

管理対象ホスト上での電源管理の有効化

  1. BMC を有効にするためにオプションを使用してインストーラーを実行します。

    # satellite-installer --scenario capsule\
    --foreman-proxy-bmc "true"\
    --foreman-proxy-bmc-default-provider "freeipmi"

4.7.5. Capsule Server での DNS と DHCP の設定

Capsule Server で DNS、DHCP、および TFTP を設定できます。

Capsule Server が外部 DNS および DHCP サービスを使用するよう設定することもできます。詳細については、「Satellite Server での外部サービスの設定」を参照してください。

設定可能なオプションの完全なリストを表示するには、satellite-installer --help コマンドを実行します。

作業を開始する前に

  • DNS サーバーの適切なネットワーク名 (dns-interface) が用意されている必要があります。
  • DHCP サーバーの適切なインターフェース名 (dhcp-interface) が用意されている必要があります。

Capsule Server での DNS、DHCP、および TFTP の設定

  1. ご使用の環境に該当するオプションを使用して Capsule インストーラーを実行します。

    以下の例は、完全なプロビジョニングサービスを示してます。

    # satellite-installer --scenario capsule\
    --foreman-proxy-tftp=true\
    --foreman-proxy-foreman-oauth-key    "your_organization_key"\
    --foreman-proxy-foreman-oauth-secret "your_organization_secret"\
    --capsule-certs-tar            "~/capsule.example.com-certs.tar"\
    --foreman-proxy-templates=true\
    --foreman-proxy-dhcp=true\
    --foreman-proxy-dhcp-gateway=192.168.122.1\
    --foreman-proxy-dhcp-nameservers=192.168.122.1\
    --foreman-proxy-dhcp-range="192.168.122.100 192.168.122.200"\
    --foreman-proxy-dhcp-interface=eth0\
    --foreman-proxy-dns=true\
    --foreman-proxy-dns-forwarders=8.8.8.8\
    --foreman-proxy-dns-interface=eth0\
    --foreman-proxy-dns-zone=example.com
    
    # satellite-installer --scenario capsule\
    --foreman-proxy-dns true \
    --foreman-proxy-dns-interface eth0 \
    --foreman-proxy-dns-zone example.com \
    --foreman-proxy-dns-forwarders 172.17.13.1 \
    --foreman-proxy-dns-reverse 13.17.172.in-addr.arpa \
    --foreman-proxy-dhcp true \
    --foreman-proxy-dhcp-interface eth0 \
    --foreman-proxy-dhcp-range "172.17.13.100 172.17.13.150" \
    --foreman-proxy-dhcp-gateway 172.17.13.1 \
    --foreman-proxy-dhcp-nameservers 172.17.13.2 \
    --foreman-proxy-tftp true \
    --foreman-proxy-tftp-servername $(hostname) \
    --capsule-puppet true \
    --foreman-proxy-puppetca true

4.7.6. カスタムサーバー証明書を使用した Capsule Server の設定

Red Hat Satellite 6 には、Satellite Server、Capsule Server、およびすべてのホスト間で暗号化された通信を可能にするデフォルトの SSL 証明書が含まれます。必要な場合は、デフォルト証明書をカスタム証明書に置き換えることができます。たとえば、会社のセキュリティーポリシーで、SSL 証明書を特定の認証局から取得することが規定されていることがあります。

前提条件

各 Capsule サーバー上のカスタム証明書を使用するには、以下の手順を実行します。

4.7.6.1. Capsule Server 向けの SSL 証明書を取得

注記
  • 各サーバーの証明書は一意であるため、Satellite Server の証明書は Capsule Server で使用しないでください
  1. root ユーザーのみがアクセスできる、すべてのソース証明書ファイルを含むディレクトリーを作成します。

    # mkdir /root/capsule_cert
    # cd /root/capsule_cert

    これらの例では、ディレクトリーは /root/capsule_cert です。複数の Capsule Server がある場合は、一致するディレクトリーを指定します。たとえば、capsule_apaccapsule_emea という名前の Capsule Server がある場合は、それぞれ capsule_apaccapsule_emea という名前のディレクトリーを作成できます。これは必須ではありませんが、ある Capsule Server のファイルを別の Capsule Server で使用する危険が減少します。

  2. Certificate Signing Request (CSR) を署名する秘密鍵を作成します。

    注記

    Capsule Server 向けの秘密鍵がすでにある場合は、この手順を省略します。

    # openssl genrsa -out /root/capsule_cert/satellite_cert_key.pem 4096
  3. Certificate Signing Request (CSR) の作成

    Certificate Signing Request は、証明書を要求しているサーバーの詳細を含むテキストファイルです。このコマンドを使用する場合は、(前の手順で出力された) 秘密鍵を提供し、Capsule Server に関するいくつかの質問に答えます。その結果、Certificate Signing Request がファイルに保管されます。

    注記

    証明書の Common Name (CN) は、証明書が使用されるサーバーの完全修飾ドメイン名 (FQDN) に一致する必要があります。

    サーバーの FQDN を確認するために、サーバーでコマンド hostname -f を実行します。

    # openssl req -new \
      -key /root/capsule_cert/capsule_cert_key.pem \ 1
      -out /root/capsule_cert/capsule_cert_csr.pem   2
    1
    証明書を署名するために使用される Capsule サーバーの秘密鍵
    2
    Certificate Signing Request ファイル

    Certificate Signing Request セッションの例

    You are about to be asked to enter information that will be incorporated
    into your certificate request.
    What you are about to enter is what is called a Distinguished Name or a DN.
    There are quite a few fields but you can leave some blank
    For some fields there will be a default value,
    If you enter '.', the field will be left blank.
    
    Country Name (2 letter code) [XX]:AU
    State or Province Name (full name) []:Queensland
    Locality Name (eg, city) [Default City]:Brisbane
    Organization Name (eg, company) [Default Company Ltd]:Example
    Organizational Unit Name (eg, section) []:Sales
    Common Name (eg, your name or your server's hostname) []:capsule.example.com
    Email Address []:example@example.com
    
    Please enter the following 'extra' attributes
    to be sent with your certificate request
    A challenge password []:password
    An optional company name []:Example

  4. 証明書要求を認証局に送信します。

    要求を送信する場合は、証明書のライフスパンを指定する必要があります。証明書要求を送信する方法は異なるため、推奨される方法について認証局にお問い合わせください。要求に対する応答で、認証局バンドルと署名済み証明書を別々のファイルで受け取ることになります。

4.7.6.2. Capsule Server の SSL 証明書の検証

Satellite サーバーで、katello-certs-check コマンドを使用して Capsule サーバーの証明書入力ファイルを検証します。

# katello-certs-check \
   -c /root/capsule_cert/capsule_cert.pem \      1
   -k /root/capsule_cert/capsule_cert_key.pem \  2
   -r /root/capsule_cert/capsule_cert_csr.pem \  3
   -b /root/capsule_cert/ca_cert_bundle.pem      4
1
認証局により提供された Capsule サーバー証明書ファイル
2
証明書を署名するために使用される Capsule サーバーの秘密鍵
3
Capsule サーバーの証明書署名要求ファイル
4
認証局により提供された認証局バンドル

証明書が正常に検証された場合、出力には以下の内容が含まれます。

Check private key matches the certificate: [OK]
Check ca bundle verifies the cert file: [OK]

「Capsule サーバーの証明書アーカイブファイルの作成」 に進みます。

4.7.6.3. Capsule サーバーの証明書アーカイブファイルの作成

Capsule サーバーのインストーラーでは、サーバーの証明書をアーカイブファイルで提供する必要があります。このファイルを作成するには、Satellite Server で capsule-certs-generate コマンドを使用します。

capsule-certs-generate コマンドは、各外部 Capsule Server に対して 1 回だけ実行する必要があります。これらの例では、capsule.example.com が FQDN の例であり、capsule_certs.tar がアーカイブファイル名の例です。これらをご使用の環境に適切な値に置き換えます。既存の証明書アーカイブファイルを上書きしないように注意してください。たとえば、capsule1capsule2 という名前の Capsule Server がある場合は、証明書アーカイブファイルの名前として capsule1_certs.tarcapsule2_certs.tar を指定できます。

  1. 「Satellite Server の SSL 証明書の検証」katello-certs-check コマンドで出力されたようにターミナルに capsule-certs-generate コマンドをコピーアンドペーストします。
  2. Capsule Server の FQDN に一致するよう --capsule-fqdn の値を編集し、証明書アーカイブファイルのファイルパスおよび名前に一致するよう --certs-tar の値を編集します。
  3. Capsule Server がまだインストールされていない場合は、--certs-update-server パラメーターを削除します。これは、既存の Capsule Server の証明書を更新するためにのみ使用されます。
  4. Satellite サーバーで、該当するコマンドを実行します。

    capsule-certs-generate コマンドの例

    # capsule-certs-generate --capsule-fqdn "capsule.example.com"\
      --certs-tar  "/root/capsule_cert/capsule_certs.tar"\
      --server-cert "/root/capsule_cert/capsule_cert.pem"\
      --server-cert-req "/root/capsule_cert/capsule_cert_csr.pem"\
      --server-key "/root/capsule_cert/capsule_cert_key.pem"\
      --server-ca-cert "/root/sat_cert/ca_cert_bundle.pem"\
      --certs-update-server

  5. Satellite サーバーで、証明書アーカイブファイルを Capsule サーバーにコピーします。要求された場合は root ユーザーのパスワードを提供します。

    この例では、アーカイブファイルは root ユーザーのホームディレクトリーにコピーされますが、別の場所にコピーすることもできます。

    # scp /root/capsule_cert/capsule_certs.tar root@capsule.example.com:

「Capsule Server のカスタム証明書のインストール」 に進みます。

4.7.6.4. Capsule Server のカスタム証明書のインストール

警告

Capsule サーバーでこの手順を完了します。

Capsule サーバーのカスタム証明書をインストールするには、Satellite インストーラーを実行します。パラメーターを含むコマンドが 「Capsule サーバーの証明書アーカイブファイルの作成」capsule-certs-generate コマンドにより出力されます。

  1. カスタム capsule-certs-generate コマンドをコピーアンドペーストします。ただし、コマンドを実行しないでください
  2. 証明書アーカイブファイルの場所に一致するように --capsule-certs-tar の値を編集します。
  3. Capsule サーバーで追加機能を有効にする場合は、それらのパラメーターを satellite-installer コマンドに追加します。すべてのインストーラーのパラメーターについては、コマンド satellite-installer --help を実行してください。

カスタム satellite-installer コマンドの例

# satellite-installer --scenario capsule\
  --capsule-parent-fqdn                    "satellite.example.com"\
  --foreman-proxy-register-in-foreman      "true"\
  --foreman-proxy-foreman-base-url         "https://satellite.example.com"\
  --foreman-proxy-trusted-hosts            "satellite.example.com"\
  --foreman-proxy-trusted-hosts            "capsule.example.com"\
  --foreman-proxy-oauth-consumer-key       "FeQsbASvCjvvaqE6duKH6SoYZWg4jwjg"\
  --foreman-proxy-oauth-consumer-secret    "7UhPXFPDBongvdTbNixbsWR5WFZsKEgF"\
  --capsule-pulp-oauth-secret              "VpQ9587tVmYeuY4Du6VitmZpZE5vy9ac"\
  --capsule-certs-tar                      "/root/capsule_certs.tar"

注記

capsule-certs-generate コマンドにより出力されたように satellite-installer コマンドは、各 Capsule Server に対して一意です。複数の Capsule Server で 同じコマンドを使用しないでください

証明書が関連するすべてのホストにデプロイされたあとであっても、証明書アーカイブファイル (.tar ファイル) は削除しないでください。このファイルは、たとえば、Capsule サーバーをアップグレードするときに必要になります。証明書アーカイブファイルがインストーラーよって検出されない場合は、以下のようなメッセージで失敗します。

[ERROR YYYY-MM-DD hh:mm:ss main]  tar -xzf /var/tmp/srvcapsule01.tar returned 2 instead of one of [0]

「すべてのホスト上に Capsule Server の新しい証明書をインストール」 に進みます。

4.7.6.5. すべてのホスト上に Capsule Server の新しい証明書をインストール

外部の Capsule サーバーに接続するホストにはサーバーのカスタム証明書が必要です。すべての Capsule サーバーのホストで以下のコマンドを実行します。

注記

Satellite Server のホスト名 ではなく、Capsule サーバーのホスト名を使用します。

# yum -y localinstall http://capsule.example.com/pub/katello-ca-consumer-latest.noarch.rpm

4.7.7. mongod へのアクセスの制限

データ損失の危険を減らすために、MongoDB データベースデーモン mongod へのアクセスは apache ユーザーと root ユーザーにだけ許可する必要があります。

Satellite Server と Capsule Server で mongod へのアクセスを制限するには、以下のコマンドを使用します。

Red Hat Enterprise Linux 6 でのファイアウォールの設定

  1. Satellite Server と Capsule Server で iptables サービスを設定します。

    # iptables -I OUTPUT -o lo -p tcp -m tcp --dport 27017 -m owner --uid-owner apache -j ACCEPT \
    && iptables -I OUTPUT -o lo -p tcp -m tcp --dport 27017 -m owner --uid-owner root -j ACCEPT \
    && iptables -I OUTPUT -o lo -p tcp -m tcp --dport 27017 -j DROP
    && iptables -I OUTPUT -o lo -p tcp -m tcp --dport 28017 -m owner --uid-owner apache -j ACCEPT \
    && iptables -I OUTPUT -o lo -p tcp -m tcp --dport 28017 -m owner --uid-owner root -j ACCEPT \
    && iptables -I OUTPUT -o lo -p tcp -m tcp --dport 28017 -j DROP
    service iptables save

Red Hat Enterprise Linux 7 でのファイアウォールの設定

  1. Satellite Server と Capsule Server でファイアウォールを設定します。

    # firewall-cmd  --direct --add-rule ipv4 filter OUTPUT 0 -o lo -p tcp -m tcp --dport 27017 -m owner --uid-owner apache -j ACCEPT \
    && firewall-cmd  --direct --add-rule ipv6 filter OUTPUT 0 -o lo -p tcp -m tcp --dport 27017 -m owner --uid-owner apache -j ACCEPT \
    && firewall-cmd  --direct --add-rule ipv4 filter OUTPUT 0 -o lo -p tcp -m tcp --dport 27017 -m owner --uid-owner root -j ACCEPT \
    && firewall-cmd  --direct --add-rule ipv6 filter OUTPUT 0 -o lo -p tcp -m tcp --dport 27017 -m owner --uid-owner root -j ACCEPT \
    && firewall-cmd  --direct --add-rule ipv4 filter OUTPUT 1 -o lo -p tcp -m tcp --dport 27017 -j DROP \
    && firewall-cmd  --direct --add-rule ipv6 filter OUTPUT 1 -o lo -p tcp -m tcp --dport 27017 -j DROP \
    && firewall-cmd  --direct --add-rule ipv4 filter OUTPUT 0 -o lo -p tcp -m tcp --dport 28017 -m owner --uid-owner apache -j ACCEPT \
    && firewall-cmd  --direct --add-rule ipv6 filter OUTPUT 0 -o lo -p tcp -m tcp --dport 28017 -m owner --uid-owner apache -j ACCEPT \
    && firewall-cmd  --direct --add-rule ipv4 filter OUTPUT 0 -o lo -p tcp -m tcp --dport 28017 -m owner --uid-owner root -j ACCEPT \
    && firewall-cmd  --direct --add-rule ipv6 filter OUTPUT 0 -o lo -p tcp -m tcp --dport 28017 -m owner --uid-owner root -j ACCEPT \
    && firewall-cmd  --direct --add-rule ipv4 filter OUTPUT 1 -o lo -p tcp -m tcp --dport 28017 -j DROP \
    && firewall-cmd  --direct --add-rule ipv6 filter OUTPUT 1 -o lo -p tcp -m tcp --dport 28017 -j DROP
  2. --permanent オプションを追加してコマンドを繰り返し、設定を永続化します。

    # firewall-cmd --permanent --direct --add-rule ipv4 filter OUTPUT 0 -o lo -p tcp -m tcp --dport 27017 -m owner --uid-owner apache -j ACCEPT \
    && firewall-cmd --permanent --direct --add-rule ipv6 filter OUTPUT 0 -o lo -p tcp -m tcp --dport 27017 -m owner --uid-owner apache -j ACCEPT \
    && firewall-cmd --permanent --direct --add-rule ipv4 filter OUTPUT 0 -o lo -p tcp -m tcp --dport 27017 -m owner --uid-owner root -j ACCEPT \
    && firewall-cmd --permanent --direct --add-rule ipv6 filter OUTPUT 0 -o lo -p tcp -m tcp --dport 27017 -m owner --uid-owner root -j ACCEPT \
    && firewall-cmd --permanent --direct --add-rule ipv4 filter OUTPUT 1 -o lo -p tcp -m tcp --dport 27017 -j DROP \
    && firewall-cmd --permanent --direct --add-rule ipv6 filter OUTPUT 1 -o lo -p tcp -m tcp --dport 27017 -j DROP \
    && firewall-cmd --permanent --direct --add-rule ipv4 filter OUTPUT 0 -o lo -p tcp -m tcp --dport 28017 -m owner --uid-owner apache -j ACCEPT \
    && firewall-cmd --permanent --direct --add-rule ipv6 filter OUTPUT 0 -o lo -p tcp -m tcp --dport 28017 -m owner --uid-owner apache -j ACCEPT \
    && firewall-cmd --permanent --direct --add-rule ipv4 filter OUTPUT 0 -o lo -p tcp -m tcp --dport 28017 -m owner --uid-owner root -j ACCEPT \
    && firewall-cmd --permanent --direct --add-rule ipv6 filter OUTPUT 0 -o lo -p tcp -m tcp --dport 28017 -m owner --uid-owner root -j ACCEPT \
    && firewall-cmd --permanent --direct --add-rule ipv4 filter OUTPUT 1 -o lo -p tcp -m tcp --dport 28017 -j DROP \
    && firewall-cmd --permanent --direct --add-rule ipv6 filter OUTPUT 1 -o lo -p tcp -m tcp --dport 28017 -j DROP