F-Secure Windows サーバ セキュリティ スタンダードをEC2 Windowsへ導入後、検知メールを送付してみた。

2015.07.22

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは。コカコーラが大好きなカジです。

今回は、F-Secure(エフセキュア)のWindows サーバ セキュリティ スタンダードをEC2インスタンス(Windows 2012 R2)へ導入後、F-Secureのイベント後のアラートメール送付を試してみました。

F-Secureの導入手順についてはここを参照ください。

メール送信機能について

F-Secureの標準機能でメール送付機能があります。 管理コンソールから、以下の手順で設定可能です。 kaji-F-Secure-mail-alert-01

kaji-F-Secure-mail-alert-02

SMTP認証メールサーバ対応のためWindowsイベントログからメール通知設定

ただ、上記の設定ではSMTP認証が必要なメールサーバへメール通知できませんでした。 確認したところ、SMTP認証のメールサーバへメール送付は対応していないことがわかり、Windows イベントからスクリプトを動作させて通知することにしました。

動作概要

F-Secure → Windows イベントログ → タスクスケジューラ → メール送付スクリプト(Powershell)

イベントビューワーからタスクスケジューラへ登録

前回作成した、イベントフィルターからタスクスケジューラを登録します。 kaji-F-Secure-Eventviewer-01

kaji-F-Secure-TaskScheduler-01

kaji-F-Secure-TaskScheduler-02

kaji-F-Secure-TaskScheduler-03

この次の設定で注意点があります。

タスクスケジューラ登録の注意点

プログラム/スクリプトで、Powershellのスクリプトファイルを指定してしまい動作せず、かなりハマってしまいましたので、Powershellを指定し、引数でスクリプトを指定しましょう。

プログラム/スクリプト *Powershellを指定
%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe

引数の追加(オプション)*実行スクリプト指定
-Command "C:\classmethod\sendmail.ps1"

開始(オプション)*実行時のパス指定
C:\classmethod

kaji-F-Secure-TaskScheduler-04

kaji-F-Secure-TaskScheduler-05

kaji-F-Secure-TaskScheduler-06

あと、ここでアクティベート設定をしないと動作しないので注意!! kaji-F-Secure-TaskScheduler-07

kaji-F-Secure-TaskScheduler-08

メール送付スクリプト

以下のスクリプトを保存します。 sendmail.ps1の内容です。

$username = "<メールサーバ ユーザ名>"
$password = "<メールサーバ パスワード>"
$myhost = "<メールサーバ アドレス>"
$port = 587

$from = "<送信元メールアドレス>"
$recipients = "<宛先メールアドレス>"
$subject = "サーバにて F-Secure イベントが発生しました。"
$body = "F-Secureのコンソールでログを確認してください。"

$sc = New-Object Net.Mail.SmtpClient
$sc.Host = $myhost
$sc.Port = $port

$sc.Credentials = New-Object Net.NetworkCredential
$sc.Credentials.UserName = $username
$sc.Credentials.password = $password

$sc.send($from, $recipients, $subject, $body)

メール送付スクリプト

手動実行し確認しておきましょう。 エラーの場合は以下となります。

PS C:\classmethod> C:\classmethod\sendmail.ps1
このシステムではスクリプトの実行が無効になっているため、ファイル C:\classmethod\sendmail.ps1 を読み込むことができません。詳細については、「about_Execution_Poli
cies」(http://go.microsoft.com/fwlink/?LinkID=135170) を参照してください。
+ CategoryInfo : セキュリティ エラー: (: ) []、ParentContainsErrorRecordException
+ FullyQualifiedErrorId : UnauthorizedAccess

Windows PowerShell スクリプトの実行ポリシーを変更しないと実行できません。 Restrictedという対話型モードでのみ使用可能な状態です。 そのため、ローカルに保存されているスクリプトを実行可能にするため、RemoteSignedへ変更します。

PS C:\classmethod> Get-ExecutionPolicy
Restricted
PS C:\classmethod> Set-ExecutionPolicy RemoteSigned
PS C:\classmethod> Get-ExecutionPolicy
RemoteSigned

F-Secureの導入手順の時の、EICARファイルで検知させてメールが送付されることを確認しましょう。

kaji-F-Secure-TestMail

参考元

以下のブログが大変参考になりました。ありがとうございました。