VPSでWindowsサーバー追加時に設定ことのメモ
1.リモートデスクトップのポート変更
以下レジストリの値を変更したいポートにする。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp\PortNumber
ファイアウォールに上記ポートについて、指定IP(VPN)からのみ許可する設定を追加して、再起動
2.ファイアウォールの設定
リモートデスクトップ用ポートの許可を追加する。不要な設定は、無効にする。
3. リモートログイン時 のメール通知
3.1 SMTP
1)サーバーマネージャーの「役割と機能の追加」から「SMTPサーバー」を追加
2)サービス「簡易メール転送プロトコル」のスタートアップの種類を「自動」に
3)迷惑メール対策として、追加サーバーのSFPレコードを設定
3.2タスクスケジュラー設定
タスクスケジューラで、[トリガー: ユーザーセッションへの接続時]にメール通知するように設定。以前はタスクスケジューラからメール送信設定できたが、現在は使えないようなので、PowerShellで以下のようなコマンドを組む。
# 使用するSMTPサーバを指定します
$smtp = "127.0.0.1"
# 差出人アドレスを指定します
$from = "admin@XXXXX.com"
# 宛先アドレスを指定します
$to = "yourmail@XXXX.com"
# 件名を指定します
$subject = "Login(xxxxserver)"
# メール送信のためのSmtpClientクラスをインスタンス化
$cli = New-Object Net.Mail.SmtpClient($smtp)
# メール送信のためのMailMessageクラスをインスタンス化
$mail = New-Object Net.Mail.MailMessage($from, $to)
$mail.Subject = $subject
$mail.Body = "Did you login?"
$mail.SubjectEncoding = [System.Text.Encoding]::GetEncoding("ISO-2022-JP")
$mail.BodyEncoding = [System.Text.Encoding]::GetEncoding("ISO-2022-JP")
# メールを送信します
$cli.Send($mail)
タスクスケジューラの[操作]で、以下のように設定する。
- 操作:プログラムの開始
- プログラム/スクリプト:powershell.exe
- 引数の追加:-Command “コマンドファイルのフルパス”
4.WindowsUpdateの手動化
勝手にUpdateされると困るので、sconfigコマンドから、手動更新に変設して、サーバー再起動する。
5.自動ログオン
サービス化されていない古いアプリサーバーのために、起動時に自動ログインするように設定する。
https://docs.microsoft.com/ja-jp/troubleshoot/windows-server/user-profiles-and-logon/turn-on-automatic-logon
上記では、レジストリにパスワードを平文で保存することになるので、以下のAutoLogonツールを入れるほうがいい。
https://docs.microsoft.com/ja-jp/sysinternals/downloads/autologon
6.アプリケーションエラーの通知
タスクスケジューラで、[トリガー:イベント]で、以下の場合にメール通知するように設定。 メールの送信方法は3と同様。
- ログ:Application
- ソース:Application Error
- イベント ID:1000