FXの自動売買のためにいろいろとWindows VPSを試している中で、使い始めたときにやることが固定化されてきたので備忘録をかねて残しておきます。
ほとんどはセキュリティ対策なんですが、気が付いたら結構なボリュームになってました…。
はじめは甘く考えていたんですが、ものすごい勢いで攻撃されだして、それに対策しているうちに肥大化しました。
とは言え、ちょっと意地になりすぎたかもしれません(笑)
なお、この記事の内容はリモートデスクトップ接続ができている前提です。
リモートデスクトップ接続の仕方については、VPSを契約したときに業者から送られてくるメールに詳しく記載されていると思うので省略しています。
注意事項!!
使用するツールの起動方法
スタートメニュー
画面左下の「スタート」ボタンを押すか、「Windows」キーを押すと表示されます。
コントロールパネル
「スタートメニュー」の中にあります。
管理ツール
「スタートメニュー」の中にあります。
または「コントロールパネル」の右上から「表示方法」を「大きいアイコン」か「小さいアイコン」にすると表示されます。
ローカルセキュリティポリシー
「管理ツール」の中にあります。
サービス
「管理ツール」の中にあります。
セキュリティが強化された Windows ファイアウォール
「管理ツール」の中にあります。
長いので以降は「ファイアウォール」と記載します。
Windows Update
「コントロールパネル」の表示方法が「カテゴリ」の場合は「システムとセキュリティ」の中にあります。
表示方法が「カテゴリ」以外の場合は「コントロールパネル」の中にあります。
ネットワークと共有センター
「コントロールパネル」の表示方法が「カテゴリ」の場合は「ネットワークとインターネット」の中にあります。
表示方法が「カテゴリ」以外の場合は「コントロールパネル」の中にあります。
グループポリシーエディター
「Windows + R」キーで「ファイル名を指定して実行」ダイアログが表示されるので、「gpedit.msc」と入力して「OK」ボタンを押します。
レジストリエディタ
「Windows + R」キーで「ファイル名を指定して実行」ダイアログが表示されるので、「regedit」と入力して「OK」ボタンを押します。
コマンドプロンプト
「Windows + R」キーで「ファイル名を指定して実行」ダイアログが表示されるので、「cmd」と入力して「OK」ボタンを押します。
「リモートデスクトップ接続」ダイアログ
「.rdp」ファイル(「リモートデスクトップ接続」ダイアログで「保存」ボタンを押すとできるファイル)を右クリックして、「編集」を選択します。
「.rdp」ファイルがない場合は、「Windows + R」キーで「ファイル名を指定して実行」ダイアログが表示されるので、「mstsc」と入力して「OK」ボタンを押します。
アカウント設定を変更する
「Guest」(存在する場合)
無効化(「有効」になっている場合)
もしも「Guest」アカウントが有効になっていたら無効化します。
- 「ローカルセキュリティポリシー > ローカルポリシー > セキュリティオプション > アカウント:Guest アカウントの状態」を「無効」に変更します。
(または「コントロールパネル > ユーザーアカウント > ユーザーアカウント > 別のアカウントの管理 > Guest」で「オフ」ボタンを押下します)
名前変更
無効化しておけば外部から攻撃されても大丈夫だとは思いますが、念のため類推されにくそうな名前に変えておきます。
- 「ローカルセキュリティポリシー > ローカルポリシー > セキュリティオプション > アカウント:Guest アカウント名の変更」を変更します。
「Administrator」
名前変更
“Administrator”という危険度MAXな名前を類推されにくそうなものに変更します。
- 「ローカルセキュリティポリシー > ローカルポリシー > セキュリティオプション > アカウント:Administrator アカウント名の変更」を変更します。
パスワード変更
パスワードも類推されにくそうなものに変更しておきます。
- 「コントロールパネル > ユーザーアカウント > ユーザーアカウント > 個人用パスワードの変更」で設定します。
※再起動してからでないとできなかったかも。その場合、新しいアカウント名でリモートデスクトップ接続しなおす必要があります。
無効化(推奨)
- 代わりに使用する管理者アカウントを作成します。
- Windows server 2012 R2/2016 の場合
- 「コントロールパネル > ユーザーアカウント > ユーザーアカウント > 別のアカウントの管理 > 新しいアカウントの作成」を選択して、「ユーザーの追加」ダイアログを表示します。
- 「ユーザー名」と「パスワード」に類推されにくそうなアカウント名とパスワードを入力します。
- 「パスワードの確認入力」にパスワードを再入力します。
- 「パスワードのヒント」にパスワードを思い出すきっかけになりそうなことを入力します。
- 「次へ」ボタンを押します。(「パスワード」と「パスワードの確認入力」の内容が異なっていたり、よくないパスワードだと判断されると再入力を促されます)
- 「完了」ボタンを押します。
- 追加したアカウントを選択します。
- 「アカウントの種類の変更」を選択します。
- 「管理者」をチェックしてから「アカウントの種類の変更」ボタンを押します。
- Windows server 2008 R2 の場合
- 「コントロールパネル > ユーザーアカウント > ユーザーアカウント > 別のアカウントの管理 > 新しいアカウントの作成」をクリックします。
- 「新しいアカウント名」に類推されにくそうなアカウント名を入力します。
- 「管理者」をチェックしてから「アカウントの作成」ボタンを押します。
- 追加したアカウントを選択します。
- 「パスワードの作成」を選択します。
- 「新しいパスワード」に類推されにくそうなパスワードを入力します。
- 「新しいパスワードの確認」にパスワードを再入力します。
- 「パスワードのヒント」にパスワードを思い出すきっかけになりそうなことを入力します。(省略も可能です)
- 「パスワードの作成」ボタンを押します。(「パスワード」と「パスワードの確認入力」の内容が異なっていたり、よくないパスワードだと判断されると再入力を促されます)
- Windows server 2012 R2/2016 の場合
- 「Administrator」アカウントをサインアウト(OSが古い場合はログオフ)します。
- 「スタートメニュー > アカウント名 > サインアウト」(OSが古い場合は「スタートメニュー > ログオフ」)を選択します。
- 新しく作成したアカウントでリモートデスクトップ接続しなおします。
- 「Administrator」アカウントを無効化します。
- 「ローカルセキュリティポリシー > ローカルポリシー > セキュリティオプション > アカウント:Administrator アカウントの状態」を「無効」に変更します。
新規アカウント
アカウント作成
管理者権限なしのアカウント(標準ユーザー)をあたらしく作成します。
普段、自動売買するときは、このアカウントを使用します。
- Windows server 2012 R2/2016 の場合
- 「コントロールパネル > ユーザーアカウント > ユーザーアカウント > 別のアカウントの管理 > 新しいアカウントの作成」を選択して、「ユーザーの追加」ダイアログを表示します。
- 「ユーザー名」と「パスワード」に類推されにくそうなアカウント名とパスワードを入力します。
- 「パスワードの確認入力」にパスワードを再入力します。
- 「パスワードのヒント」にパスワードを思い出すきっかけになりそうなことを入力します。
- 「次へ」ボタンを押します。(「パスワード」と「パスワードの確認入力」の内容が異なっていたり、よくないパスワードだと判断されると再入力を促されます)
- 「完了」ボタンを押します。
- Windows server 2008 R2 の場合
- 「コントロールパネル > ユーザーアカウント > ユーザーアカウント > 別のアカウントの管理 > 新しいアカウントの作成」をクリックします。
- 「新しいアカウント名」に類推されにくそうなアカウント名を入力します。
- 「標準ユーザー」をチェックしてから「アカウントの作成」ボタンを押します。
- 追加したアカウントを選択します。
- 「パスワードの作成」を選択します。
- 「新しいパスワード」に類推されにくそうなパスワードを入力します。
- 「新しいパスワードの確認」にパスワードを再入力します。
- 「パスワードのヒント」にパスワードを思い出すきっかけになりそうなことを入力します。(省略も可能です)
- 「パスワードの作成」ボタンを押します。(「パスワード」と「パスワードの確認入力」の内容が異なっていたり、よくないパスワードだと判断されると再入力を促されます)
権限が昇格しないように設定
勝手にアプリをインストールされないようにします。
アプリをインストールしたい場合や、その他の管理者権限が必要な操作を行いたい場合は、管理者権限のあるアカウントでパスワード認証を経てから行います。
- 「ローカルセキュリティポリシー > ローカルポリシー > セキュリティオプション > ユーザーアカウント制御:アプリケーションのインストールを検出し、昇格をプロンプトする」を「有効」に設定します。
- 「ローカルセキュリティポリシー > ローカルポリシー > セキュリティオプション > ユーザーアカウント制御:標準ユーザーに対する昇格時のプロンプトの動作」を「昇格の要求を自動的に拒否する」に設定します。
その他のアカウント(存在する場合)
「Administrator」と「Guest」以外のアカウントがある場合、業者に確認して可能なら削除します。(業者がメンテナンスに使用するアカウントが存在したことがありました)
ロックアウトを有効にする
一定回数ログインに失敗したら、そのアカウントへのログインをロックアウトするようにします。
- 「グループポリシーエディター > コンピューターの構成 > Windowsの設定 > セキュリティの設定 > アカウントポリシー > アカウントロックアウトのポリシー > アカウントのロックアウトのしきい値」に何回失敗したらロックアウトするか設定します。(回数は任意ですが、3~5回くらいでいいと思います)
- ロックアウトする時間と、ログインの失敗回数をリセットする時間の入力を求められるので設定します。(どちらも30分くらいでいいのではないでしょうか。「アカウントのロックアウトのしきい値」と同じ階層にある「ロックアウト期間」、「ロックアウトカウンターのリセット」であとから設定することもできます)
Windows Update する
有効化(Windows Update できない場合)
Windows Update できない場合は、たぶんWindows Updateサービスが「無効」になっているので「手動」にします。
- 「サービス > Windows Update > スタートアップの種類」を「手動」に変更します。
実施
とりあえず最新にしておきます。
- 「Windows Update」で「更新プログラムの確認」ボタンを押下します。
- 何回か確認して更新がなくなるまで繰り返します。
無効化
市場取引時間中にアップデートのチェック~再起動をしないようにします。
- 「Windows Update > 設定の変更 > 重要な更新プログラム」を「更新プログラムを確認しない」に設定します。
(または「サービス > Windows Update」で「停止」ボタンを押してWindows Updateサービスを停止したあとで「スタートアップの種類」を「無効」に変更します)
リモートデスクトップ接続の設定を変更する
サーバー(VPS)側の変更
リモートデスクトップ接続の許可
先ほど新しく作成した標準ユーザーアカウントでのリモートデスクトップ接続を許可します。
(管理者権限つきのユーザーはデフォルトで許可されています)
- 「コントロールパネル」の表示方法が「カテゴリ」の場合は「システムとセキュリティ > リモートアクセスの許可」、表示方法が「カテゴリ」以外の場合は「システム > リモートの設定」で「システムのプロパティ」ダイアログを表示します。
- 「リモート」タブで「ユーザの選択」ボタンを押して「リモートデスクトップユーザー」ダイアログを表示します。
- 「追加」ボタンを押して「ユーザーの選択」ダイアログを表示します。
- 「選択するオブジェクト名を入力してください」にアカウント名を入力します。
- 「名前の確認」ボタンを押します。
- 「OK」ボタンを押して「ユーザーの選択」ダイアログを閉じます。
- 「OK」ボタンを押して「リモートデスクトップユーザー」ダイアログを閉じます。
- ついでに「システムのプロパティ」ダイアログの「リモート」タブで「ネットワークレベル認証でリモートデスクトップを実行しているコンピューターのみ接続を許可する(推奨)」にチェックしておきます。
- 「OK」ボタンを押して「システムのプロパティ」ダイアログを閉じます。
SSL(TLS)有効化
リモートデスクトップ接続で送受信する内容が漏洩しないように保護します。
- 「グループポリシーエディター > コンピューターの構成 > 管理用テンプレート > Windowsコンポーネント > リモートデスクトップサービス > リモートデスクトップセッションホスト > セキュリティ > リモート(RDP)接続に特定のセキュリティレイヤーの使用を必要とする」で「有効」をチェックし、「セキュリティレイヤー」で「SSL(TLS1.0)」を選択します。
ちなみに“TLS1.0”とありますが、実際にはTLS1.2が使用されるようです。(SSL1.0~TLS1.1は使用禁止、あるいは使用しないことが推奨されています)
UDP無効化
たぶん「SSL(TLS)有効化」の設定をすればUDPでの接続はできないと思うんですが、なんか「UDPが有効になっています」みたいな表示がされたので明示的に無効にしておきます。
- 「グループポリシーエディター > コンピューターの構成 > 管理用テンプレート > Windowsコンポーネント > リモートデスクトップサービス > リモートデスクトップセッションホスト > 接続 > RDPトランスポートプロトコルの選択」で「有効」をチェックし、「トランスポートの種類の選択」で「TCPのみを使用」を選択します。
使用ポート変更
デフォルトでリモートデスクトップ接続に使用されるポート「3389」はめちゃくちゃ攻撃されるので、別のポートに変更します。
- 新しくリモートデスクトップ接続で使用するポートの接続を許可します。
- 「ファイアウォール > ローカルコンピューターのセキュリティが強化されたファイアウォール > 受信の規則」の上で右クリック、「新しい規則」を選択して「新規の受信の規則ウイザード」ダイアログを表示します。
- 「ポート」をチェックして「次へ」を押します。
- 「TCP」と「特定のローカルポート」をチェックし、ポートの一覧に使用したいポートの番号を入力します。(番号は1024~49151の中でIANAの割り当てが“Unassigned”(未割り当て)になっているものか、49152~65535(動的ポート)の中でポートが開いていないものから選ぶといいと思います。現在開いているポートは「コマンドプロンプト」で「netstat -a」を実行すると確認できます)
- 「接続を許可する」をチェックして「次へ」を押します。
- 「ドメイン」、「プライベート」、「パブリック」の全てにチェックして「次へ」を押します。
- 「名前」と「説明」を記入して「完了」を押します。(「説明」は未記入でも可)
- リモートデスクトップ接続で使用するポートを変更します。
- 「レジストリエディタ > コンピューター > HKEY_LOCAL_MACHINE>SYSTEM > CurrentControlSet > Control > Terminal Server > WinStations > RDP-Tcp >PortNumber」をダブルクリックして「DWORD(32ビット)値の編集」ダイアログを表示します。
- 「表記」で「10進数」をチェックします。
- 「値のデータ」に新しいポート番号を入力して「OK」ボタンを押します。
- 再起動します。
次にリモートデスクトップ接続する際には、クライアントPC側で接続ポートを指定する必要があります。(つづけて↓の設定を行えばいいです)
クライアント(ローカルPC)側の変更
ポート指定
サーバー側で設定したポートを使用して接続するようにします。
- 「リモートデスクトップ接続」ダイアログで「オプションの表示」を押します。
- 「全般」タブの「ログオン設定」の「コンピューター」にIPアドレスが入力されていると思いますが、この後ろに「:」(コロン)とポート番号を追加します。
- 「接続設定」の「保存」ボタンを押します。
- 「接続」ボタンを押して、新しいポートでリモートデスクトップ接続ができることを確認します。
画面真っ暗対策(?)
「接続自体はできるんだけど画面が真っ暗で何も操作できない」という状態になったときにネットで調べた対策です。
結局、サポートに再起動してもらうまで治らなかったので効果があるかどうかはわかりませんが、僕はおまじないと思って設定しています。(とりあえず設定してから画面が真っ暗になったことはないです)
- 「リモートデスクトップ接続」ダイアログの「エクスペリエンス」タブを開きます。
- 「パフォーマンス」の「パフォーマンスを最適化するために接続速度を選択してください」で「低速ブロードバンド(256 kbps – 2 Mbps)」を選択し、さらに「次の設定を許可する」のチェックを全部外します。
- 「ビットマップのキャッシュを保持」のチェックを外します。
- 「全般」タブの「接続設定」の「保存」ボタンを押します。
ファイアウォールの設定を変更する
受信規則の設定
接続許可ルールの見直し
元からある接続許可ルールを見直します。
- 前の章で新しく作成したリモートデスクトップ接続のルール
これは絶対に必要です。
うっかり無効にするとリモートデスクトップ接続できなくなります! - 「グループ」が「コアネットワーク」のルール
判断できなかったのでとりあえず残しておきます。
- MetaTrader 5 Strategy Tester Agent
複数のPCを使って最適化を行う場合に必要になります。
VPSで最適化はしない気がしますが、使用するときだけ許可します。 - リモートデスクトップ シャドウ(TCP受信)
同じリモートデスクトップ画面を複数人で共有する場合に必要になります。
たぶんないと思いますが、もし必要になることがあれば許可します。
有効から無効に変更するルールについて、それぞれ以下の操作を行います。
- 「ファイアウォール > ローカルコンピューターのセキュリティが強化されたファイアウォール > 受信の規則 > “ルール名”」をダブルクリックしてプロパティダイアログを表示します。
- 「全般」タブで「有効」のチェックを外してから「OK」ボタンを押します。
接続ブロックルール
接続許可ルールに該当しない接続がブロックされる設定になっていることを確認しておきます。
- 「ファイアウォール > ローカルコンピューターのセキュリティが強化されたファイアウォール」の上で右クリック、「プロパティ」を選択して「ローカルコンピューターのセキュリティが強化されたファイアウォールのプロパティ」ダイアログを表示します。
- 「ドメインプロファイル」タブで「状態」の「受信接続」が「ブロック(規定)」になっていることを確認します。(なっていなければ「ブロック(規定)」を選択)
- 「プライベートプロファイル」タブと「パブリックプロファイル」でも同様の操作を行います。
あとは、念のため特に危険と言われるポートの接続を明示的にブロックしておきます。
ブロックするポートは「135、137~139、445」です。
- 「ファイアウォール > ローカルコンピューターのセキュリティが強化されたファイアウォール > 受信の規則」の上で右クリック、「新しい規則」を選択して「新規の受信の規則ウイザード」ダイアログを表示します。
- 「ポート」をチェックして「次へ」を押します。
- 「TCP」と「特定のローカルポート」をチェック、ポートの一覧に「135, 137-139, 445」と入力します。
- 「接続をブロックする」をチェックして「次へ」を押します。
- 「ドメイン」、「プライベート」、「パブリック」の全てにチェックして「次へ」を押します。
- 「名前」と「説明」を記入して「完了」を押します。(「説明」は未記入でも可)
- 「ファイアウォール > ローカルコンピューターのセキュリティが強化されたファイアウォール > 受信の規則」上で右クリック、「新しい規則」を選択して「新規の受信の規則ウイザード」ダイアログを表示します。
- 「ポート」をチェックして「次へ」を押します。
- 「UDP」と「特定のローカルポート」をチェック、ポートの一覧に「135, 137-139, 445」と入力します。
- 「接続をブロックする」をチェックして「次へ」を押します。
- 「ドメイン」、「プライベート」、「パブリック」の全てにチェックして「次へ」を押します。
- 「名前」と「説明」を記入して「完了」を押します。(「説明」は未記入でも可)
ログ設定
攻撃の有無や、その相手を確認するためにログを残すように設定します。
- 「ファイアウォール > ローカルコンピューターのセキュリティが強化されたファイアウォール」の上で右クリック、「プロパティ」を選択して「ローカルコンピューターのセキュリティが強化されたファイアウォールのプロパティ」ダイアログを表示します。
- 「ドメインプロファイル」タブで「ログ」の「カスタマイズ」ボタンを押して「ドメインプロファイルのログ設定のカスタマイズ」ダイアログを表示します。
- 「名前」にログを残すファイル名とパスを指定します。(デフォルトのままでいいと思います)
- 「サイズ制限」にログファイルの最大サイズを指定します。(デフォルトのままでいいと思います)
- 「正常な接続をログに記録する」で「はい」を選択して「OK」を押します。
- 「プライベートプロファイル」タブと「パブリックプロファイル」でも同様の設定を行います。(アクティブなプロファイルだけでもいいと思います)
不要なポートを閉じる
開いているポートで必要ないものをできるだけ閉じます。
環境によって違うと思うので、自分の環境で閉じたことがあるポートだけ記載します。
(開いているポートは「コマンドプロンプト」で「netstat -a」を実行すると表示されます)
ポート137、138
NetBIOSがらみで開けられているようです。
Windowsネットワーク内で名前解決などを行うための通信プロトコルらしいですが、VPSではお世話になることのない機能だと思うのでポートを閉じます。
まずは、NetBIOS over TCP/IPを無効にします。
- 「ネットワークと共有センター > アダプター設定の変更」で使用している接続の上で右クリック、「プロパティ」を選択して「ローカルエリア接続のプロパティ」ダイアログを表示します。(“ローカルエリア接続”の部分は使用している接続で異なります)
- 「ネットワーク」タブの「インターネットプロトコルバージョン4(TCP/IPv4)」を選択した状態で「プロパティ」ボタンを押して「インターネットプロトコルバージョン4(TCP/IPv4)のプロパティ」ダイアログを表示します。
- 「全般」タブの「詳細設定」ボタンを押して「TCP/IP詳細設定」ダイアログを表示します。
- 「WINS」タブの「NetBIOS設定」で「NetBIOS over TCP/IPを無効にする」をチェックして「OK」ボタンを押します。
- 「インターネットプロトコルバージョン4(TCP/IPv4)のプロパティ」ダイアログで「OK」ボタンを押します。
- 「ローカルエリア接続のプロパティ」ダイアログで「OK」ボタンを押します。
次にTCP/IP NetBIOS Helperサービスを止めます。
- 「サービス > TCP/IP NetBIOS Helper」を選択して「TCP/IP NetBIOS Helperのプロパティ」ダイアログを表示します。
- 「全般」タブの「停止」ボタンを押します。
- 「全般」タブの「スタートアップの種類」で「無効」を選択して「OK」ボタンを押します。
TCPポート5985
WinRMがらみで開けられているようです。
PowerShellを使ってサーバーをリモート操作できるようですが、僕は使う予定がないのでポートを閉じます。
- 「グループポリシーエディター > コンピューターの構成 > 管理用テンプレート > Windowsコンポーネント > Windowsリモート管理 (WinRM) > WinRMサービス > WinRMによるリモート サーバー管理を許可する」を「無効」に設定します。
- 「サービス > Windows Remote Management (WS-Management)」を選択して「Windows Remote Management (WS-Management)のプロパティ」ダイアログを表示します。
- 「全般」タブの「停止」ボタンを押します。
- 「全般」タブの「スタートアップの種類」で「無効」を選択して「OK」ボタンを押します。
UDPポート500、4500
IPsecがらみ開けられているようです。
VPNを使用する場合には必要になるようですが、僕は使っていないので閉じることにします。
- 「サービス > IKE and AuthIP IPsec Keying Modules」を選択して「IKE and AuthIP IPsec Keying Modulesのプロパティ」ダイアログを表示します。
- 「全般」タブの「停止」ボタンを押します。
- 「全般」タブの「スタートアップの種類」で「無効」を選択して「OK」ボタンを押します。
UDPポート5355
LLMNRがらみで開けられているようです。
NetBIOSと同じようにWindowsネットワーク内で名前解決できる通信プロトコルのようですが、これも必要ないので閉じます。
- 「グループポリシーエディター > コンピューターの構成>管理用テンプレート > ネットワーク > DNSクライアント > マルチキャスト名前解決をオフにする」で「有効」をチェックします。
TCPポート4915X(ダイナミックポート)
ダイナミックポートの1つがPrint Spoolerサービスによって開かれています。
このサービスを停止すると印刷できなくなるようですが、問題ないので閉じます。
- 「サービス > Print Spooler」を選択して「Print Spoolerのプロパティ」ダイアログを表示します。
- 「全般」タブの「停止」ボタンを押します。
- 「全般」タブの「スタートアップの種類」で「無効」を選択して「OK」ボタンを押します。
不要な機能を無効化する
気が付いた不要な機能は無効化しておきます。
ローカルネットワークのみで有効な機能
「ネットワーク探索」と「ファイルとプリンターの共有」を無効にします。
- 「ネットワークと共有センター > アダプター設定の変更」で使用している接続の上で右クリック、「プロパティ」を選択して「ローカルエリア接続のプロパティ」ダイアログを表示します。(“ローカルエリア接続”の部分は使用している接続で異なります)
- 「ネットワーク」タブで次の項目のチェックを外します。
- Microsoftネットワーク用クライアント
- Microsoftネットワーク用ファイルとプリンター共有
- LinkーLayer Topology Discovery Mapper I/O Driver
- LinkーLayer Topology Discovery Responder
- 「OK」ボタンを押します。
- 「ネットワークと共有センター > 共有の詳細設定の変更」を選択します。
- 「プライベート」と「パブリック」の「ネットワーク探索を無効にする」と「ファイルとプリンターの共有を無効にする」をチェックします。
- 「すべてのネットワーク」の「パブリックフォルダーの共有を無効にする」をチェックします。
- 「変更の保存」ボタンを押します。
リモートレジストリ
リモートでレジストリを変更することができるらしいです。
リモートデスクトップ接続でレジストリを編集してもサービスは起動しなかったので、WinRMがらみかな?
とりあえず危険そうなサービスなので無効にします。
- 「サービス > Remote Registry」を選択して「Remote Registryのプロパティ」ダイアログを表示します。
- 「全般」タブの「サービスの状態」が「開始」であれば「停止」ボタンを押します。
- 「全般」タブの「スタートアップの種類」で「無効」を選択して「OK」ボタンを押します。
スマートカード
スマートカード(ICカード)リーダーを用いた認証機能のようです。
使用することはないと思うので無効にします。
- 「サービス > Smart Card」を選択して「Smart Cardのプロパティ」ダイアログを表示します。
- 「全般」タブの「サービスの状態」が「開始」であれば「停止」ボタンを押します。
- 「全般」タブの「スタートアップの種類」で「無効」を選択して「OK」ボタンを押します。
- 「サービス > Smart Card Device Enumeration Service」を選択して「Smart Card Device Enumeration Serviceのプロパティ」ダイアログを表示します。
- 「全般」タブの「停止」ボタンを押します。
- 「全般」タブの「スタートアップの種類」で「無効」を選択して「OK」ボタンを押します。
MT4/MT5/cTraderを準備する
MT4/MT5/cTraderを使えるようにインストール~EA/cBotの設定をします。
- 管理者アカウントでMT4/MT5/cTraderをインストールします。
- 標準ユーザーアカウントでMT4/MT5/cTraderの設定(ログイン設定、EA/cBot設定)を行います。
詳細はVPSでもローカルPCでも同じなので省略します。
MT4/MT5/cTraderが自動で起動するようにする
トラブルやメンテナンスなどでVPSが再起動したときに自動でMT4/MT5/cTraderが起動するようにしておきます。
Windowsへの自動ログオン設定
VPSが起動したときに自動でWindowsにログオンするように設定します。
方法はいくつかありますが、僕は設定の簡易さやセキュリティ面から「Autologon」というツールを使うことにしました。
実行には管理者権限が必要なので、管理者アカウントを使用します。
- Microsoftのサイトから「Autologon.zip」をローカルPCへダウンロードします。(サイトには使い方の説明もあります)
- 「Autologon.zip」を右クリック、「すべて展開」を選択して解凍します。(使い慣れた解凍ツールがあるならそちらで問題ないです)
- 解凍されたものの中から「Autologon64.exe」をVPSへコピーします。(たぶんないと思いますが32bit版のWindowsは「Autologon.exe」、ARM版は「Autologon64a.exe」をコピーします。どのWindowsを使っているか分からない場合は「コントロール パネル > システムとセキュリティ > システム」の「システムの種類」を見るとわかります。ARM版は見たことがありませんが、たぶん「システムの種類」か「プロセッサ」に“ARM”という文字列があると思います)
- VPS側でコピーした exeファイルをダブルクリックして実行します。
- 「Autologon License Agreement」ダイアログが表示されたら「Agree」ボタンを押します。
- 「Username」に標準ユーザーのアカウント名を入力します。
- 「Password」に標準ユーザーのパスワードを入力して「Enable」ボタンを押します。
MT4/MT5/cTraderの自動起動設定
スタートアップに登録して、ログオン時にMT4/MT5/cTraderが自動で起動するようにします。
この操作は標準ユーザーアカウントで実行します。
- 「Windows + E」キーで「Explorer」を起動します。
- 「アドレスバー」に「shell:startup」と入力して「Enter」キーを押します。
- 「スタートアップ」フォルダが表示されるので、ここへ起動したいアプリのショートカットを配置します。(デフォルトだとデスクトップにショートカットがあると思うので、それをコピーするか移動します)
自動起動することの確認
最後にMT4/MT5/cTraderが自動起動することを確認します。
- VPSを再起動します。
- しばらく待ってから標準ユーザーアカウントでリモートデスクトップ接続します。
- 指定したMT4/MT5/cTraderが起動していることを確認します。
おまけ
リモートデスクトップ接続のユーザーの切り替え
はじめは、管理者アカウントと標準ユーザーアカウント用に「.rdp」ファイル(「リモートデスクトップ接続」ダイアログで「保存」ボタンを押すとできるファイル)を分ければ資格情報も分けられると思っていたんですがうまくいきませんでした。
どうやら同じ接続先の資格情報は共有される仕組みのようです。
そこで「.rdp」ファイルはひとつにして、ログオンする回数の多い標準ユーザーアカウントの資格情報を保存することにしました。
これで「.rdp」ファイルをダブルクリックすると「ユーザー名」と「パスワード」の入力をしなくても標準ユーザーアカウントで接続されます。
そして、管理者アカウントで接続するときには毎回「ユーザー名」と「パスワード」の入力をします。
- 「リモートデスクトップ接続」ダイアログで「オプションの表示」を押します。
- 「資格情報を常に確認する」をチェックしてから「接続」ボタンを押します。(このとき「保存」ボタンは押しません)
- 「Windows セキュリティ」ダイアログが表示されたら「その他」を選択します。
- 「別のアカウントを使用する」を選択します。
- 「ユーザー名」と「パスワード」に管理者アカウント名とパスワードを入力して「OK」ボタンを押します。
ちょっと面倒ですが、管理者アカウントで頻繁に接続することはないので問題ないかなと思います。
Windows Update について
毎週末に更新を確認します。
古いOSだと大した更新はないんですが、とりあえず確認だけはしておきます。
再起動について
昔ほど不安定になるということはないと思いますが、メモリリークとかもあるでしょうし、再起動できるタイミングがあるなら1か月に一度くらいはしておいたほうがいいと思います。
ちなみに、僕は毎週末にWindows Updateしてから再起動というのがルーチンです。