8. システム コントローラを設定する

完了までの推定時間: 2 ~ 4 時間

操作可能なコンポーネントの所有者: OELCM

スキル プロファイル: デプロイ エンジニア

このマシンの主なユースケースは、プライマリ メソッドが使用できない場合に物理アプライアンスとやり取りすることです。たとえば、ブートストラッパーからスイッチへの接続が機能していない場合は、スイッチ コンソール ポートに接続できます。

一部のデプロイ パートナーは、GDC コアラック内のサーバーを使用し、後でブート ストラップの再利用手順を使用することを選択します。これは、DC ホールでサーバー、モニター、マウス、キーボードの無料ローリングが禁止されている場合に必要です。

プラン A。ライブ CD または DVD

システム コントローラは、完全にライブ CD または DVD(光学メディア)で実行されます。

  • 物理ハードドライブにはインストールしないでください。

  • このシステムには物理ドライブが搭載されていてはなりません。

  • DTO クリア済みの Rocky ライブイメージを使用します。

  • USB サムドライブは使用しないでください。

  • これらのイメージは DTO を通じて定期的に更新する必要があります。

手順

  1. CD または DVD に書き込みます。

  2. システム コントローラを CD または DVD から起動するように設定します。

  3. IP アドレスを設定します。

プラン B。オペレーティング システム(OS)をインストールする

このドキュメントの目的は、Google Distributed Cloud(GDC)エアギャップをサポートするために必要なソフトウェア ツールを備えた、Security Technical Implementation Guide(STIG)に準拠したワークステーションを作成することです。

概要

システム コントローラは、ワークステーション、キーボード、マウス、モニターを備えたクラッシュ カートです。

前提条件

この完全ガイドを確認し、以下の点を確認してください。

  • データ移行担当者(DTO)は、設置週に待機します。
  • インストールに必要な機器とメディアは次のとおりです。
    • Distributed Cloud Enabling Tools Guide
    • USB メディア
    • OS ISO や追加ソフトウェア RPM などのファイル ダウンロード
    • ワークステーション、ディスプレイ、キーボード、マウス、ケーブル。
  • サービス コンソール OS のネットワーク情報:
    • IP アドレス
    • サブネット マスク
    • デフォルト ゲートウェイ
    • DNS 情報

特定されたリソース

  • Distributed Cloud 習熟度マトリックス
DTO エンジニア Scribe/Comms 講師 Runner/TL/TW
  • Distributed Cloud デプロイ チームのロール

参考情報

  • OS インストール ガイドをダウンロードする
  • Minicom の設定手順をダウンロードする
  • COW とビルド クラッシュ カートのセットアップ手順をダウンロードします。

ブート可能なメディアを作成する

このタスクは、お客様のサイトに到着する前に DTO を使用して完了します。

  1. Rocky 8 または 9 の DVD ISO をダウンロードします。
  2. 追加のソフトウェア パッケージをダウンロードします。

    パッケージ URL
    clamav (省略可) Rocky 8.x / Rocky 9.x
    clamav-data (省略可) Rocky 8.x / Rocky 9.x
    clamav-filesystem (省略可) Rocky 8.x / Rocky 9.x
    clamav-freshclam (省略可) Rocky 8.x / Rocky 9.x
    clamav-lib (省略可) Rocky 8.x / Rocky 9.x
    clamd (省略可) Rocky 8.x / Rocky 9.x
    コード Rocky 8.x / Rocky 9.x
    google-chrome-stable_current Rocky 8.x / Rocky 9.x
    k9s Rocky 8.x / Rocky 9.x
    kubectl Rocky 8.x / Rocky 9.x
    liberation-fonts Rocky 8.x / Rocky 9.x
    libprelude Rocky 8.x / Rocky 9.x
    lm_sensors Rocky 8.x / Rocky 9.x
    lm_sensors_libs Rocky 8.x / Rocky 9.x
    lockdev Rocky 8.x / Rocky 9.x
    lrzsz Rocky 8.x / Rocky 9.x
    minicom Rocky 8.x / Rocky 9.x
    sysstat Rocky 8.x / Rocky 9.x
  3. ISO とソフトウェア パッケージを DC ホールの安全なスペースに移動するために必要なソフトウェア転送手順を実行します。

  4. ISO イメージを暗号化された USB ドライブに書き込みます。

  5. 追加のソフトウェア パッケージを暗号化された USB ドライブにコピーします。

    # Set variable to iso file downloaded
    OS_ISO=Rocky-9.5-x86_64-dvd.iso
    
    # cd to directory where iso and additional software rpms are stored
    
    # Determine the device name of the USB drive.
    sudo lsblk
    
    # Set the device name of the USB drive.
    echo "What is the device name of the USB drive? Provide full name for example /dev/sdX"
    read USB_DEVICE
    read -r -p "Proceeding will destroy existing data on ${USB_DEVICE}. Continue with formatting? [y/n] " response
    case "$response" in
      [yY][eE][sS]|[yY])
          echo "Formatting USB drive with ${OS_ISO}..."
          ;;
      *)
          echo "Exiting..."
          exit 0
          ;;
    esac
    
    # Write ISO to USB drive
    sudo dd if=${OS_ISO} of=${USB_DEVICE} bs=4M
    
    echo "Copying additional software packages to USB drive"
    sudo mkdir /mnt/usb
    sudo mount ${USB_DEVICE} /mnt/usb
    sudo mkdir /mnt/usb/opt/
    sudo cp *.rpm /mnt/usb/opt/
    
    # Unmount USB drive
    sudo umount /mnt/usb
    echo "Bootable media creation is complete."
    

設置日

在庫または荷受場から機器を取り出します。機器をデータセンター(DC)ワークスペースに持ち込みます。システム コントローラのクラッシュ カートの構築に進みます。

機器の準備と構築

  1. Workstation の開封
  2. シリアル番号を確認する
  3. クラッシュ カートを構築する
    • ディスプレイを取り付ける
    • キーボードを含める
    • マウスを含める
    • システム コントローラのセットアップ リーフレットまたは PDF ファイルをここに追加します。
  4. ワークステーションにケーブルを接続する
    • ディスプレイ ケーブル(VGA、HDMI、DisplayPort)を接続する
    • マウスを接続する
    • キーボードを接続する
  5. OS のインストールを実行する
    • DTO/DTA からメディアを入手する必要があります。

OS のインストール

キーボード、モニタ、マウスを備えたシステム コントローラがセットアップされ、OS のインストール準備が整っていることが想定されます。

メディアから起動する

  1. ブート可能なメディアからシステム コントローラを起動します。
  2. [Check Media and Install] を選択します。
  3. Redhat インストーラ GUI が読み込まれたら、各セクションで次の項目を選択します。

次の図は、システム コントローラがブート可能なメディアから表示する OS インストール オプションを含む初期メッセージを示しています。

ブート可能なメディアからの初期メッセージのスクリーンショット

図 1: ブート可能なメディアからの最初のメッセージ。

  • ISO メディアが起動しました。

インストーラの GUI のスクリーンショット

図 2. インストール時の言語選択。

ローカライズ

  1. キーボード: 英語(米国)
  2. 言語: 英語(米国)

ネットワーキングとホスト名

  1. ネットワーク デバイスで [構成] をクリックします。
  2. [IPv4 設定] で [手動] を選択します。
  3. [アドレス] で [追加] をクリックします。
  4. 各フィールドに IP アドレス、ネットマスク、ゲートウェイを入力します。
  5. DNS サーバーを入力します。
  6. [保存]、[完了] の順にクリックします。
  7. [IPv4 設定] で [手動] を選択します。
  8. [アドレス] で [追加] をクリックします。
  9. 各フィールドに IP アドレス、ネットマスク、ゲートウェイを入力します。
  10. DNS サーバーを入力します。
  11. [保存]、[完了] の順にクリックします。

インストーラの [Networking] オプションと [Hostname] オプションのスクリーンショット

図 3. インストールのネットワークとホスト名のオプション。

日時

  1. 右上にある設定アイコンをクリックします。
  2. [ホスト名] フィールドに管理スイッチの IP アドレスを入力します。
  3. [OK] をクリックします。
  4. [Region](地域)と [Timezone](タイムゾーン)を設定します。
  5. [完了] をクリックします。
  6. [ホスト名] フィールドに管理スイッチの IP アドレスを入力します。
  7. [OK] をクリックします。
  8. [Region](地域)と [Timezone](タイムゾーン)を設定します。
  9. [完了] をクリックします。

インストーラの [Time and date] オプションのスクリーンショット

図 4. インストールの日時オプション。

ソフトウェア

  1. ソフトウェアの選択: ワークステーション
  2. アドオン:
  3. アドオン:

    1. ネットワーク サーバー
    2. システム ツール
    3. 仕事効率化

次の図は、インストールの [SOFTWARE SELECTION] ページを示しています。このページには 2 つのメニューが表示されます。1 つはベース環境のメニューで、[ワークステーション] オプションが選択されています。もう 1 つのメニューは、選択した環境の追加ソフトウェア用です。ここでは、[ネットワーク サーバー] オプションと [システム ツール] オプションが選択されています。

インストーラのソフトウェア選択のスクリーンショット

図 5. インストール用のベース環境と追加ソフトウェア。

  • ワークステーションがベース環境として選択されている
  • 追加のソフトウェア インストールとして選択されたネットワーク サーバー
  • 追加のソフトウェア インストールとして選択されたシステム ツール
  • 追加のソフトウェアのインストールとして Office Productivity を選択

インストール先とディスク パーティショニング

次の図は、ディスク デバイスが選択されている [インストール先] ページを示しています。このページでは、カスタム ストレージ構成も指定します。

インストーラのインストール先のスクリーンショット

図 6: インストール先とストレージ構成の選択。

  1. [SSD install target] を選択します。
  2. カスタム パーティショニング:

    1. 次のパーティション レイアウトを作成します。
    2. 各パーティションのデフォルトのファイル システム タイプを受け入れます。
    3. 残りのディスク容量をすべて使用するように LVM ボリューム グループを変更します。
  • Scribe/Engineer は、インストール ガイドに従ってシステムがパーティショニングされていることを文書化します。

エンジニアが手動でレビューを行い、パーティションのサイズを確認し、ホーム ディレクトリの存在を検証します。

ボリューム グループを拡張して SSD 全体を埋めるには、パーティションを定義した後に追加の手順が必要です。

  • パーティション ウィンドウで [ボリューム グループ: 変更] ボタンをクリックします。
  • サイズ: [できるだけ大きく]
ファイル システム サイズ Scribe Verified(その他の更新の場合)
/boot 1 G
/boot/efi 0.5 G
/ 50 G
/tmp 8 G
/var 40 G
/var/log 20 G
/var/log/audit 20 G
/var/tmp 4 G
/opt/software-repo 100 G
/home 残りのスペース

セキュリティ ポリシー

  1. 利用可能なセキュリティ ポリシーのリストをスクロールします。

    • [DISA STIG with GUI] を選択します。
    • [プロフィールを選択] をクリックします。

    • 選択したセキュリティ ポリシーが適用されます。

    • 出力をスクロールして、ポリシーによって検出されたエラーがないかどうかを確認します。

    • セキュリティ ポリシーで計画されている変更のリストを確認します。

    • 赤いエラーが表示された場合は、手動で変更して準拠させます。通常、これはディスク パーティショニングの問題です。

    • セキュリティ ポリシーがオンになっていることを確認します。

  2. この手順では、エンジニアの横にスクライブを配置します。

次の図は、[セキュリティ ポリシー] ページを示しています。このページでは、[DISA STIG with GUI for Red Hat Enterprise Linux 9] がプロファイルとして選択されています。このページには、プロファイルの説明と [プロファイルを選択] ボタンも表示されます。

インストーラのセキュリティ ポリシーのスクリーンショット

図 7. セキュリティ ポリシーのプロファイル選択。

  • セキュリティ ポリシーがエラーなく適用されました。

ユーザー設定

  1. root ユーザーを構成する

    • root パスワードを設定します。
    • インストールが完了したら、暗号化されたメディア ドライブに root パスワードを記録します。
  2. 最初のオペレーター アカウントを構成する

    • 初期オペレーター ユーザー アカウントのユーザー名を設定します。
    • オペレーターに独自のパスワードを選択してもらいます。
    • [administrator] をオンにすると、アカウントが %wheel グループに追加されます。

次の図は、インストールの [CREATE USER] ページを示しています。このページには、氏名、ユーザー名、パスワード、詳細オプションなど、入力が必要なフィールドが表示されます。

インストーラの [Create user] のスクリーンショット

図 8: ユーザーを作成するための情報を含むフィールド。

  • ユーザーの設定が完了しました。
  • 認証情報が検証され、暗号化された構成ファイルに保存されます。

Update System

  1. メイン画面に戻る
  2. アップグレード ボタンが表示されます
  3. インストールを開始する
  4. アップグレードに時間がかかる
  5. 最新の定義でウイルス対策ソフトウェアを更新する
  6. 作成したアカウントでログインする
  7. 初回ログイン画面が表示されます

STIG 強化された USB デバイスを使用する

STIG 要件を満たす Linux マシンで USB デバイスを使用する機能は厳しく制限されており、使用するには個々のデバイスを許可リストに追加する必要があります。

次のコマンドを使用すると、キーボードとマウスを物理 USB ポート間で自由に移動できます。これには、usbguard ルールの更新が含まれます。

  • USB ストレージ デバイスを有効にする
  1. 偽の usb-storage ドライバを削除します。

    sudo rm /etc/modprobe.d/usb-storage.conf
    
新しい USB デバイスを永続的に有効にする

USB デバイスを永続的に有効にするには、usbguard ルールを変更する必要があります。

  1. 新しい USB を物理的に接続する前に、usbguard watch を起動して新しいデバイス識別子文字列を取得します。

    sudo usbguard watch list-devices
    
  2. USB デバイスを物理的に接続し、出力結果をコピーします。

    deny id 413c:301a serial "" name "Dell MS116 USB Optical Mouse" hash "kYdX3V8dJl2JDRpEA1mRTUMupUaUe4aGUUZcSr7r5EE=" parent-hash "bRXptnzyxb9ThCMx2AmE81vX4L0JJpn0YRy8OPD8K0A=" via-port "1-6.2" with-interface 03:01:02 with-connect-type "unknown
    
  3. スマートウォッチから取得した識別子行を使用して、/etc/usbguard/rules.conf に新しい行を追加します。

    sudo vi /etc/usbguard/rules.conf
    
    allow id 413c:301a serial "" name "Dell MS116 USB Optical Mouse" hash "kYdX3V8dJl2JDRpEA1mRTUMupUaUe4aGUUZcSr7r5EE=" parent-hash "bRXptnzyxb9ThCMx2AmE81vX4L0JJpn0YRy8OPD8K0A=" with-interface 03:01:02 with-connect-type "unknown
    
  4. usbguard デーモンを再起動します。

    sudo systemctl restart usbguard.service
    
新しい USB デバイスを一時的に有効にする
  1. 新しい USB デバイスを接続し、割り当てられたデバイス番号を確認します。

    usbguard list-devices
    

    通常、最新のデバイスはリストの最後の行に表示されます。デバイス番号は、行の最初の番号です。

    usbguard list-devices | tail -1 | awk '{print $1}'
    
  2. usbguard を使用して、安全な USB を許可リストに登録します。

    sudo usbguard allow-device ${USB_ID}
    
  3. 作成された USB ストレージを通常どおりマウントします。

    sudo lsblk # Determine the device name of the USB drive.
    # Set the device name of the USB drive.
    USB_DEVICE=/dev/sdX # replace X with the device number of the USB drive.
    
    sudo mkdir /mnt/usb; chmod 555 /mnt/usb
    sudo mount ${USB_DEVICE} /mnt/usb
    
  4. これで、セキュア USB がマウントされた状態になります。

    • USB が正常にマウントされました。

すべてのツールをインストールする

  • 追加のソフトウェアが含まれている USB ドライブを挿入します。

    sudo lsblk # Determine the device name of the USB drive.
    # Set the device name of the USB drive.
    USB_DEVICE=/dev/sdX # replace X with the device name of the USB drive.
    
    sudo mkdir /mnt/usb
    sudo mount ${USB_DEVICE} /mnt/usb
    sudo rpm -ihv /mnt/usb/opt/*.rpm
    sudo umount /mnt/usb
    

Minicom を使用してシリアル コンソールにアクセスする

minicom プログラムは古く、呼び出すと電話モデムに接続することを前提としています。USB-シリアル ケーブルを使用するには、デフォルトを変更する必要があります。

  1. 構成モードで minicom を起動します。

    sudo minicom -s
    
  2. 構成 TUI が表示され、設定を変更できます。

    次の画像は、構成 TUI で [シリアルポートの設定] オプションが選択されている状態を示しています。

    Minicom シリアルポート設定のスクリーンショット

  3. [Serial Device] を /dev/ttyUSB0 に変更し、[Baud rate (speed)] を適宜変更します。

    次の画像は、シリアル デバイスが /dev/ttyUSB0 に設定されていることを示しています。

    Minicom シリアル デバイスのスクリーンショット

  4. この変更を永続的に保存するには、Save setup as dfl を使用します。

  5. [Exit] を選択して、構成メニューから実際のシリアル コンソールに移動します。

    次の図は、構成 TUI で [終了] オプションが選択されている状態を示しています。 Minicom の終了のスクリーンショット

  6. シリアル接続内で、ハイパーキーを使用して設定を変更し、終了します。

    CTRL+A, Z
    X = exit minicom and return to bash shell
    P = modify config settings
    

Auditd ログ ローテーションを設定する

STIG 構成では、auditd によって多くのログが作成されます。ディスク容量が不足すると、システムがシングル ユーザー モードでシャットダウンされることがあります。これを防ぐには、auditd ログのログ ローテーションを構成します。再起動なしで auditd を再起動できないため、auditd と logrotate の両方を構成する必要があります。

  1. 新しい /etc/logrotate.d/auditlog ファイルを作成する

    cat << EOF | sudo tee /etc/logrotate.d/auditlog
    /var/log/audit/audit.log.1
    /var/log/audit/audit.log.2
    /var/log/audit/audit.log.3
    /var/log/audit/audit.log.4
    /var/log/audit/audit.log.5
    {
        missingok
        compress
    }
    EOF
    
  2. /etc/audit/auditd.conf file's max_log_file の設定を変更します。

    sudo vi /etc/audit/auditd.conf
    
  3. 行を更新された設定に変更します。

    max_log_file = 1024
    max_log_file_action = rotate
    
  4. ワークステーションを再起動します。

    sudo shutdown -r now
    

Wi-Fi

  1. インストールが完了したら、ユーザー インターフェース(UI)または Nmcli ユーティリティ nmcli radio wifi off を実行して Wi-Fi を無効にします。
  2. Wi-Fi が無効になっているか、コンポーネントが存在しないことを確認します。

インストール後

システム コントローラの設定が完了したら、次の手順として、インストール メディアからローカル ファイル システムにリポジトリをコピーします。

ローカル yum リポジトリを設定する

Rocky Linux ディストリビューション全体をローカル ディスクにコピーして、ローカル リポジトリを作成します。これにより、yum コマンドを使用してソフトウェアをインストールおよび更新できるようになります。

メディアをコピーする

  1. USB メディアを /mnt/repo にマウントします。DTO 化されたメディアから /opt/software-repo/ ディレクトリにリポジトリをコピーします。ディレクトリが存在しない場合は作成します。

    sudo lsblk # Determine the device name of the USB drive.
    # Set the device name of the USB drive.
    USB_DEVICE=/dev/sdX # replace X with the device name of the USB drive.
    
    sudo mkdir -m 555 /mnt/usb
    sudo mkdir -p /opt/software-repo/Rocky
    sudo mount ${USB_DEVICE} /mnt/usb
    sudo cp -a /mnt/usb/AppStream /opt/software-repo/Rocky
    sudo cp -a /mnt/usb/BaseOS /opt/software-repo/Rocky
    

ローカル メディア リポジトリを作成する

次の操作は 1 回だけ行う必要があります。

  1. 既存の .repo ファイルをすべて /etc/yum.repos.d/ からバックアップ ディレクトリに移動します。

    sudo mkdir /root/repobackup
    sudo mv /etc/yum.repos.d/* /root/repobackup/
    
  2. ローカル リポジトリ ファイルを作成する

    cat << EOF | sudo tee /etc/yum.repos.d/local_Rocky-AppStream.repo
    [appstream]
    name=Rocky Linux $releasever - AppStream
    #baseurl=http://dl.rockylinux.org/$contentdir/$releasever/AppStream/$basearch/os/
    baseurl=file:///opt/software-repo/Rocky/AppStream
    gpgcheck=1
    enabled=1
    countme=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rockyofficial
    EOF
    
    cat << EOF | sudo tee /etc/yum.repos.d/local_Rocky-BaseOS.repo
    [baseos]
    name=Rocky Linux $releasever - BaseOS
    #baseurl=http://dl.rockylinux.org/$contentdir/$releasever/BaseOS/$basearch/os/
    baseurl=file:///opt/software-repo/Rocky/BaseOS
    gpgcheck=1
    enabled=1
    countme=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rockyofficial
    EOF
    
    sudo dnf clean all
    

インストール後のチェックリスト

  • 見つかった問題は文書化されています。
  • 機密性の高い認証情報が安全に転送され、文書化されている。
  • タスク トラッカーで OS とツールのインストール タスクが正常に更新されました。
  • システム コントローラの構成後のチェックリスト:
    • ip a # 正しい IP を表示します
    • kubectl version
    • k9s version
    • minicom --help
    • tmux -V
    • chronyc sources