コンテンツにスキップ
日本語

Windows のローカルアカウント

Windows ホストのローカルアカウントのパスワードも、スケジュールで入れ替えられます。 新しいパスワードは標準入力だけを通り、設定が済んだらターゲット側でその場で一度確かめます。確かめられなければ、ターゲット側で元の値に戻します。 結果は成功、失敗、検証待ちの三つに分かれるので、「リモートは結局変わったのか」にはっきりした答えが出ます。

パスワード変更計画:Windows のチャネルの設定

チャネルをどちらか一つ用意します。

  • WinRM:ターゲットで WinRM のサービスとリスナーを有効にし、ローカルアカウントのトークンのポリシーをローカル管理者が使える設定にし、 暗号化されていない通信を受け付けない設定と、基本認証を無効にした設定を保ちます。https を使うならサーバー証明書を用意します。 チャネルは NTLM で認証し、メッセージ層の暗号化を必ず有効にします。
  • Windows SSH:ターゲットで OpenSSH のサービスを有効にします。コマンドは非対話で 64 ビットの PowerShell を明示的に呼ぶので、 ターゲットの既定の shell がコマンドプロンプトでも PowerShell でも構いません。

1. 資産にパスワード変更のチャネルを設定する

Section titled “1. 資産にパスワード変更のチャネルを設定する”

資産のフォームで「パスワード変更のチャネル」を設定します。WinRM、Windows SSH、使わない、から選びます。 設定しない場合はプロトコルから推測します。SSH の資産は POSIX のチャネルを通り、それ以外は使いません。 Windows の二つのチャネルは、RDP でも SSH でも、どちらのプロトコルの資産にも付けられます。

WinRM を選んだときは次も書きます。接続のプロトコル(http か https)、ポート(0 ならプロトコルの既定)、 TLS の検証モード(システムの信頼ストア、指定した CA、検証しない)。指定した CA を選んだときは PEM の証明書を貼ります。保存の時点で形式を確認します。

Windows SSH を選んだときは、パスワード変更専用の SSH のポートを別に書けます。

「パスワード変更計画」のページでその資産を計画に入れ、秘密の種別でパスワードを選びます。 Windows のチャネルが扱うのはパスワードです。計画の一覧にチャネルの列があるので突き合わせられます。 スケジュールと手動の実行のしかたは Linux のパスワード変更と同じです。

  1. セッションを作り、アカウント名、古いパスワード、新しいパスワードを標準入力で送ります。スクリプトの文面には資格情報が入りません。
  2. ターゲット側でパスワードを変更します。
  3. その場での検証:ターゲットホストのローカルで、新しいパスワードでログインできることを確かめます。
  4. 検証が通らないときは、その場で古いパスワードに戻します。
  5. システムは別途、新しいパスワードで接続をまるごと一本張り、副作用の無いコマンドを実行して二段目の検証にします。

コマンドを送る前にターゲットへつながらなかった場合は失敗として記録し、候補は消し、リモートは変わっていません。 コマンドを送ったあとに接続が切れたり時間切れになったりした場合は検証待ちとして記録し、候補は残して再試行の仕組みが引き取ります。 同じ資産の複数のアカウントは順に処理し、WinRM の全体の同時実行数には上限があります。

アカウント名は Windows 自身の規則で確認します。長さ、使えない文字、点や空白だけにできないこと、です。 非 ASCII の文字、@、$、単一引用符、途中の空白はいずれも使えます。

  • 実行記録の状態は成功、失敗、検証待ちです。理由は機械可読なコードで記録し、メッセージ層の暗号化が使えない、 パスワードが渡らなかった、その場での検証に失敗、検証に失敗して戻しにも失敗、古いパスワードが違う、アカウント名が規則に合わない、 ターゲットに到達できない、リモートの状態が分からない、といった場合を含みます。
  • 資産のプロトコルをそのチャネルに合わない値へ変えると、システムはチャネルの設定を空にし、資産の変更記録に残します。 以前のチャネルが何だったかは記録から読めます。
  • 通信セキュリティのチャネル台帳に、WinRM のチャネルを設定した資産とそのリスク項目が並びます。通信セキュリティポリシーを参照してください。