THDY LOG

主に技術メモ

Windows 10 Home で BitLockerを操作する

妻のお義母さんがPCがおかしいというので見てみたところ、起動時にBitLockerが回復キーを求めてくるようになっていました。

それ自体はさほど驚かなかったのですが、よく考えるとこのPCたしかWindows 10 Homeだったはず。

あれ?BitLockerってWin10 Proからの機能じゃなかったっけ? というかそもそもお義母さん自分でBitLockerなんて設定しないだろうから最初から有効になってる?じゃあ回復キーは?? というところから始まり、いろいろ調べてみました。

結論

HomeエディションでもコマンドならBitLockerを操作できる(GUIは利用できない)

初期出荷イメージの時点でBitLockerが有効になっていた

前段のBitLockerが回復キーを求めているという状況に対し、回復キーが分からないとのことだったのでリカバリをかけました。

今回対象のPCはDELLのVostro 15-3568という機種なのですが、リカバリ直後のCドライブを見てみると… f:id:thdy:20181027010959p:plain

BitLockerが有効である証拠として南京錠のアイコンがCドライブ上に表示されていますね。初期出荷状態で既に有効になっているようです。

しかしCドライブを右クリックしてもBitLockerの管理メニューは出ておりません。これはHomeエディションなので当然といったところでしょうか。

それにしても最初からBitLockerが有効というのはメーカーによるのでしょうか。この辺りはよく分かりません。

とりあえずGUIの設定メニューが利用できないので、コマンドでの設定を試してみます。

BitLockerをコマンドで操作する

まずは「manage-bde -status」コマンドでBitLockerの状態を見てみます。

C:\WINDOWS\system32>manage-bde -status
BitLocker ドライブ暗号化: 構成ツール Version 10.0.15063
Copyright (C) 2013 Microsoft Corporation. All rights reserved.

BitLocker ドライブ暗号化で保護可能な
ディスク ボリューム:
ボリューム C: [OS]
[OS ボリューム]

    サイズ:                 107.46 GB
    BitLocker のバージョン: 2.0
    変換状態:               使用領域のみ暗号化
    暗号化された割合:       100.0%
    暗号化の方法:           XTS-AES 128
    保護状態:               保護はオンです
    ロック状態:             ロック解除
    識別子フィールド:       不明
    キーの保護機能:
        数字パスワード
        TPM

アイコンの表示通りBitLockerによる保護がオンになっていますね。

続いて、「manage-bde -protectors -get」コマンドでパスワード(回復キー)を確認します。

C:\WINDOWS\system32>manage-bde -protectors -get c:
BitLocker ドライブ暗号化: 構成ツール Version 10.0.15063
Copyright (C) 2013 Microsoft Corporation. All rights reserved.

ボリューム C: [OS]
すべてのキーの保護機能

    数字パスワード:
      ID: {BC8C1846-C6DE-45EF-A10D-06482761B678}
      パスワード:
        090662-453486-080267-671110-062568-459085-082896-689942

    TPM:
      ID: {0D357736-51C5-4BED-B593-7C7DC4A66B5D}
      PCR 検証プロファイル:
        7, 11
        (整合性の検証のためにセキュア ブートを使用)

回復キーも無事に確認することができました。

ちなみにMicrosoftアカウントでPCにログオンしている場合は回復キーが自動でアップロードされるので、事前に回復キーを控えていなくても、有事の際はこちらのサイトから確認可能です。

MSアカウントをPCに紐づけない場合は、今回のようにディスクやブート領域に何か問題が発生してBitLockerのロックがかかると詰んでしまうため、上述のコマンドで予め回復キーを控えておく必要がありそうです。

他にも試してみたコマンドとして「manage-bde -protectors -delete」でパスワード削除とともに保護の無効化、「manage-bde -protectors -add」からパスワードの追加等の操作もできました。

どうやらGUIは無いものの、コマンドからはPro同様に操作が可能なようです。

しかしながらHomeエディションを利用するユーザーのリテラシーを考えると、こういった操作はもちろん、BitLockerとは回復キーとはなんぞやというのをマニュアルも無しに押し付けるのはさすがに厳しいのではと思うのですが、どうなんでしょうDELLさん。また他のメーカーがどうなのかも気になるところです。

BitLocker自体は良いソリューションなのですが、その効果が知られないままこういったトラブル時に悪いイメージだけついてゆくのはなんとも残念なところです。せめて回復キーの確認の仕方ぐらいはマニュアルをそっと同梱される事を切に期待します。

ちなみにBitLockerのコマンド操作についてはこちらのページを参考にしました。

第4回 BitLockerをコマンドラインで管理する (1/2):超入門BitLocker - @IT

今日はこの辺りで。

Windows10で有線LANとLTEを同時接続時にLTEの通信を優先できない問題を解決する

ここ数日ハマってた問題が解決できたので、記録を残しておきます。

結論から書くと、Windows 10のVer1709以降で有線LANを接続しているとモバイルブロードバンドのほうのNICから通信できなくなるが、レジストリ追加で回避できる。

以下、いちいちモバイルブロードバンドって書くの面倒なので「LTE」と表記します。

SurfaceLTEモデルを使ってるんですが、とある事情で有線LANとLTEを同時に有効にし、マルチホーム環境を作ろうとしていました。

また、LTE側の通信を優先させたかったので、LTE側のNICのメトリック値を「1」に設定します。

f:id:thdy:20181013222421p:plain

※この画面はアダプタのプロパティ→IPv4のプロパティから辿り着けます

「netsh interface ip show address」コマンドでLTENICのメトリックが一番小さくなっている事を確認し、いざ有線LANとLTEを有効にします。 ところが、通信が有線LANのほうからしか出ていかない。。。

それで色々と調べた結果、下記の内容にたどり着きました。

[ 問題の概要 ]

Windows 10 Version 1709 以降で、有線 LAN (イーサネット) に接続すると、モバイル ブロードバンドからインターネット接続ができなくなります。

引用元:Windows 10 Version 1709 以降で有線 LAN 接続時にモバイル ブロードバンドからインターネット接続できない – Ask the Network & AD Support Team

そうですか。不具合ですか。。

ということでこの不具合の修正が含まれるとされるKB4284822の公式解説を見てみます。

  • ルーティング不可能なイーサネットが接続されている場合、WWAN を使用したインターネットへのアクセスを禁止する新しいレジストリ キーを追加します。 この新しいレジストリ キーを使用するには、regedit を使用して HKEY_LOCAL_MACHINE\Software\Microsoft\Wcmsvc に "IgnoreNonRoutableEthernet” (Dword) を追加し、1 に設定します。

  • 既定の接続マネージャーを使用せずに、WWAN を使用してインターネットへのアクセスを制御できるようにする新しいレジストリ キーを追加します。 この新しいレジストリ キーを使用するには、regedit を使用して HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\WcmSvc\Local に "fMinimizeConnections” (Dword) を追加し、0 に設定します。

引用元:https://support.microsoft.com/ja-jp/help/4284822/windows-10-update-kb4284822

なるほど。

ということで、KB4284822がすでにインストールされている事を確認の上で、レジストリ追加してみました。

f:id:thdy:20181013225814p:plain f:id:thdy:20181013225825p:plain

すると、めでたくレジストリ追加した瞬間から有線LAN繋いでてもLTE側から通信ができるようになりました!

この情報を見つけるまで結構ハマりました。。同じことで困る方が一人でも減りますように…




以下、この記事とは直接関係ないハナシ。

Windows10のモバイルブロードバンドは今の所Surface Pro LTE AdvanceとThinkPad X270で使ったことあるけど、なぜか設定が安定しない。 まったく同じ手順でAPN設定入れてるのに繋がらない場合がある。

しまいにはなぜかドライバが正常機能しなくなり、設定画面から「携帯電話」のメニューが消えたりする。。(社内で100台ぐらい運用してる中でかなりの回数遭遇した)

んでどうするかというと、デバイスマネージャーからWWANドライバを無効→有効にする。 これで一旦復活するので設定リトライ、でうまくいくケースもあれば、ドライバ再起動を5回くらい繰り返してうまくいく時もある。同じことやってるだけなんだけど、なぜか何回かやっていると成功するという・・・

ただ、一回設定がうまくいってしまえば安定して接続はできるんですがね。

今回の不具合にしてもそうだけど、まだWindows10のモバイルブロードバンド周りは安定していないように見受けられます。 これから会社でもバンバン導入するつもりなので、Microsoftさんどうかよろしくお願いします…

Redmineの更新をプラグインでSlackに通知する

Redmineでチケットを更新した内容をSlackに通知するべく、プラグインを追加・設定してみます。

環境

設定手順

今回使用するのはこちらのプラグインです。 github.com

それでは早速プラグインをインストールしてみます。

cd /var/lib/redmine/plugins/
git clone https://github.com/sciyoshi/redmine-slack.git redmine_slack
bundle install
rake redmine:plugins:migrate RAILS_ENV=production
service httpd restart

続いてSlack側で左サイドメニューの「App」を選択。 f:id:thdy:20181006231007p:plain

「incoming webhook」を検索してインストールします。 f:id:thdy:20181006231222p:plain

「設定を追加」ボタンから通知するチャンネルを選択して「着信Webフックインテグレーションの追加」を選択。 f:id:thdy:20181006231410p:plain

発行されたWebhook URLをコピーしておきます。 f:id:thdy:20181006231723p:plain

Redmine側で「管理」→「プラグイン」→「Redmine Slack」を開き、先程コピーしたURLを貼り付けるなど設定を行います。 f:id:thdy:20181006232227p:plain

設定はこれで完了。試しにチケットを追加してみると、ちゃんとSlackに通知が届きました。 f:id:thdy:20181006232629p:plain

今日はここまで。

RedmineでLDAP (Active Directory) 認証を設定する

社内WikiとPJ管理のためにRedmineを使ってみようと思い、CentOS 7.5の環境にRedmine 3.4.6をインストールした。
この環境でLDAP (Active Directory) 認証ができるように設定しようと思う。

さっそく、[管理]→[LDAP認証]のメニューを開き、[新しい認証方式] から下図のように設定。 f:id:thdy:20180929204349p:plain

ベースDNは「アカウント」の項目で指定したアカウントがいる場所を入力する。 また「あわせてユーザーを作成」にチェックを入れておかないと、AD上のアカウントとパスワードが連動しないので注意。

設定が完了したら保存して、認証方式画面に戻ってテストボタンを押してみる。 f:id:thdy:20180929211038p:plain 接続しましたと出ているので、どうやら成功した模様。

あとはユーザー作成時の「認証方式」で先程設定した認証名を選択し、ADのアカウント名と合わせたログインIDを指定してやれば完了。 ちゃんとADと同じパスワードでログインできたのでOK。

今日はここまで。

セキュアチャネルの破損をPowerShellで修復する

ドメインユーザーとしてログオンしようとすると「このワークステーションとプライマリドメインとの信頼関係に失敗しました。」と出てログインできない場合があります。

この現象はセキュアチャネルが破損している場合に見られます。

この記事ではこういった破損したセキュアチャネルを修復する手順について解説します。

※そもそもセキュアチャネルが何かを知りたい人はこのあたりを参照してください。

セキュアチャネルの状態を確認する

ログイン時に上記画像のメッセージが出ていれば基本的にセキュアチャネルが破損していますが、正確に状態を把握するには「nltest /sc_verify:ドメイン名」コマンドを実行します。

↓正常な場合の実行結果

PS > nltest /sc_verify:example.com
フラグ: b0 HAS_IP  HAS_TIMESERV
信頼された DC 名 \\DC1.example.com
信頼された DC 接続状態 Status = 0 0x0 NERR_Success
信頼の確認 Status = 0 0x0 NERR_Success
コマンドは正常に完了しました

↓セキュアチャネルが破損している場合の実行結果

PS > nltest /sc_verify:example.com
フラグ: 80
信頼された DC 名
信頼された DC 接続状態 Status = 5 0x5 ERROR_ACCESS_DENIED
信頼の確認 Status = 5 0x5 ERROR_ACCESS_DENIED
コマンドは正常に完了しました


ではどうするかというと、一旦ドメイン抜けて再参加というのも一つの解ではありますが、
「一時的でもGPOが外れたら困る」とか
ドメイン参加は管理者しかできないようにしてる」
ドメインを抜けるとどこに影響するか分からず不安」
といった場合もあると思うので、PowerShellのTest-ComputerSecureChannelコマンドで修復することをお勧めします。以下手順。

セキュアチャネルを修復する

PowerShell 3.0以降の環境が必要ですが、Windows 7の場合はデフォルトのバージョンが2.0なので、次のサイトからWMF3.0をダウンロードおよびインストールします。

Windows Management Framework 3.0
http://www.microsoft.com/en-us/download/details.aspx?id=34595

WMF3.0のインストールが完了したら、$PSVersionTableコマンドでPowerShellのバージョンが3.0になっていることを確認します。

PS > $PSVersionTable.PSVersion

Major  Minor  Build  Revision
-----  -----  -----  --------
3      0      -1  -1


準備が整ったら実際に修復します。
「Test-ComputerSecureChannel -credential ドメイン名\ドメイン管理者ユーザー -repair」をPowerShellで実行します。

Test-ComputerSecureChannel -credential example.com\administrator -repair

すると指定したユーザーで認証を求める画面が表示されるので、パスワードを入力してあげます。
f:id:thdy:20171124130103p:plain

認証が通り修復が完了すれば、PowerShellの画面に「True」が返ってきます。
前述のnltestコマンドでセキュアチャネルが正常になっていることを確認してみましょう。