GCPにPandora FMSを入れてみるテスト

本コンテンツの内容は2019年3月現在の情報を元にしています。

前提条件

  • GCP のアカウントを作成済みのこと
  • プロジェクト名を適当に作成済みのこと
  • Tera Term を使っていること
  • FQDNでアクセスする場合は、DNSサーバへのレコード登録が出来ること

Tera Term でSSH鍵を作成

※既に鍵を持っている場合は、ここはパスして構いません
※ここで鍵を作成するときのWindowsログイン名が、後程作成するVMのログイン名になります

  1. Tera Term のメニューから『設定』→『SSH鍵生成』
  2. 『生成』
  3. 鍵の種類は『RSA』ビット数は『2048』で、『生成』
  4. パスフレーズは空のままで
  5. 『公開鍵の保存』で任意の場所に公開鍵を保存
    ファイル名はデフォルトの場合、id_rsa.pub
    この公開鍵をあとでVMに突っ込みます
  6. 『秘密鍵の保存』で任意の場所に公開鍵を保存
    ファイル名はデフォルトの場合、id_rsa
    この秘密鍵をあとで Tera Term で使います

固定IP取得

  1. GCPのコンソールを開く
  2. 左上の三本線(ナビゲーションメニュー)をクリック
  3. ネットワーキング→VPCネットワーク→外部IPアドレス
  4. 『+静的アドレスを予約』
  5. 名前を適当に設定
  6. 『標準』『IPv4』『リージョン』を選択
  7. リージョンは『asia-northeast1』
  8. 『予約』

FQDNで使う場合は、取得したIPアドレスを利用しているDNSに登録ください

VM作成

  1. GCPのコンソールを開く
  2. 左上の三本線(ナビゲーションメニュー)をクリック
  3. コンピューティング→Compute Engine→VMインスタンス
  4. 『+インスタンスを作成』
  5. 名前は適当に
  6. リージョンは『asia-northeast1』
  7. ゾーンとマシンタイプはそのまま
  8. ブートディスクの『変更』
  9. 『CentOS7』『標準の永続ディスク』『20GB』で『選択』
  10. ファイアウォールで『HTTPトラフィックを許可する』
  11. 『作成』
  12. 起動したVM名をクリックし、『VMインスタンスの詳細』で『編集』
  13. ネットワークインターフェースの鉛筆マークををクリック
  14. 外部IPに、先程作成した固定IPを選択し、『完了』
  15. 少し下の『SSHキーが0個あります』の『表示して編集する』
  16. 『認証鍵全体を入力』フィールドに、公開鍵をコピペ
    鍵が有効な場合、ログイン名が鍵フィールドの左側に表示されます
    この名前でVMにログインすることになります
  17. 『保存』

Tera Term にホストを登録

  1. 管理者権限でコマンドプロンプトを開き、teraterm.ini をノートパッドで開く
  2. [Hosts]セクションに、Hostを追加(Host番号は適当に編集下さい)
    Host1=VMのIPまたはFQDN /ssh /auth=publickey /user=公開鍵内のログイン名 /keyfile=path\id_rsa /KR=UTF8 /KT=UTF8

VM内での作業

Tera Term でVMに公開鍵認証なSSHで接続し、sudo su – でrootになってください。

http://IPまたはFQDN/pandora_console/ にアクセス
左側のCommunity edition のIDにadmin、パスワードにpandoraでログイン

メール発報を行いたいとき

  1. Postfix設定
    https://www.server-world.info/query?os=CentOS_7&p=mail&f=1
    の『574行目:追記』まで実行
  2. /etc/pandora/pandora_server.conf の 234行目を有効化
  3. SendGridの設定
    https://qiita.com/ariaki/items/e389cc3dce549f450e3b
    にて外部へのメール送信を実装
  4. postfix と pandora_server をリスタート

 

 

Office365サービスのIPアドレス確認(変更監視)について

はじめに

セキュリティ機器等にO365サービスのIPアドレスを登録する時の確認方法が Microsoft公式ページ にて公開されています。
今回、Win10なPCとIFTTTとWebhookとGmailを使い、当該IPアドレスの変更を検知して通知メールを飛ばすようにしてみました。
※IFTTTとWebhookとGmailの登録及び連携は済んでいるものとします
※以下、常時ログインしているユーザ名を『foo』とします

IFTTTの設定

  1. 公式ページ内のサンプルスクリプトを取り込み、適当に保存します。
    例:C:\Users\foo\Documents\Office365IPCheck.ps1

  2. PowerShell から上記スクリプトを実行します。

  3. 上記スクリプトの実行結果
    C:\Users\foo\AppData\Local\Temp\endpoints_clientid_latestversion.txt
    を開いて、一行目の文字列をメモっておきます。
    これが後程必要となる ClientRequestId となります。

  4. IFTTTで新規アプレットを作成します。
    this には『Webhooks』を選択
    Event Name には『トリガー名(半角ANKで)』を入力
    that には『Gmail(Send an email)』を選択
    To address には『通知先メアド』を入力
    Body には次の内容を Attachment URL には次の内容を 記入します。

  5. アプレットを保存します。

PowerShellスクリプトの変更

  1. IFTTT 上の Webhooks のページにある『Documentation』をクリックし、『Your key is:』の値をメモします。

  2. PowerShellスクリプトの最後の方の、『# TODO』行と『}』行の間に、次の行を追加します。
  3. PowerShellスクリプトを保存します。

監視タスクの追加

  1. 監視タスク実行時に窓が表示されるのを防ぐために、キック用スクリプトを次のような内容で作成します。
    例:C:\Users\foo\Documents\task-scheduler.js
  2. タスクスケジューラで監視タスクを作成します。
    • トリガータイミングは適当に(毎時とか毎日とか毎週とか)
    • 操作→プログラムの開始
    • プログラム名には、『task-scheduler.js』を入力
    • 引数には、PowerShellスクリプト名をダブルクォートで囲って設定
      例:”C:\Users\foo\Documents\Office365IPCheck.ps1″
    • 開始オプションに、PowerShellスクリプトの保管場所を指定
      例:C:\Users\foo\Documents\
  3. 監視タスクを保存します。

動作テスト

  1. PowerShellスクリプトの実行結果ファイル
    C:\Users\foo\AppData\Local\Temp\endpoints_clientid_latestversion.txt
    を削除します。
    本ファイルを削除することにより、PowerShellスクリプトの実行時に『IPアドレスが更新された』と判断されます。

  2. タスクスケジューラで設定したタイミングでメール通知が届けば成功です。

2019.03.22追記:本日、GmailとIFTTTの連携を停止する通知がGoogleから届きました。
いまのところどうしようもないみたいなので、回避策を記します。

Zapierでの実装について

  1. Zapierのアカウントを作成し、ログインを済ませておきます
  2. 次のURLに移動します
    https://zapier.com/apps/gmail/integrations/webhook
  3. “Send an email from Gmail when a webhook is received” の『Try It』をクリックします
  4. “Catch Hook”画面で『Continue』をクリックします
  5. URLが表示されるのでコピーしておき、『Ok, I did this』をクリックします
  6. ps1スクリプトを変更します
    1. Invoke-RestMethod -Uri での飛び先をIFTTTからZapierの先程コピーしたURLに変更
    2. スクリプトをキック
    3. Zapier画面で待機
      問題無ければ、数分後には5.の画面に『Continue』ボタンが現れるので、クリックします
  7. Gmail / Send Email 画面で『Continue』をクリックします
  8. Select Gmail Account画面で(連携未設定の場合は『Connect an Account』を押して連携設定後)アカウントを選択し、『Continue』をクリックします
  9. Set up Gmail Email画面で、To:やFrom:、Subject:等を設定します
  10. Bodyは次のように書きます
  11. 『Old Version:』の右をクリックして、画面右側の『+』をクリック、『Value1』を選択します
    Old Version: の右に『Step1:値』が挿入されます
  12. 『New Version:』の右をクリックして、画面右側の『+』をクリック、『Value2』を選択します
    Old Version: の右に『Step2:値』が挿入されます
  13. Attachmentには次の値を投入します
  14. 入れ終わったら、『Continue』をクリックします
  15. テストボタンが出るので、クリックします
  16. 無事にメールが届いたら、『Finish』をクリックします

 

LINEにメッセージが届いたら指定のメアドに通知する

ご注意

  • 本TipsはAndroid専用です。
  • 普通に検索で引っかかる、『メールが来たらLINEに通知』とは逆の、『LINEが来たらメールする』機能の実現です。
  • 動作タイミングは端末/LINE/IFTTTのご機嫌次第です。
    通知が数時間遅延する、或いは全く届かない場合があります。
    あくまで、『無いよりはまし』程度の扱いにてお願いします。

皆さん勤務中は私用スマホ(Android)をロッカーに入れてますよね?
そのため、家族からLINEが来ても気付きませんよね?
そうすると、怒られ心配されますよね?
と言うことで、特定の人からLINEメッセージが届いたら、指定のメールアドレスに通知してみます。


作り方

IFTTTのアカウント登録と、Gmail連携が済んでいるものとします。

this→Android Device
that→Gmail
で、次のように設定します。

App name→LINE
Filter by notification keyword→監視対象の友達名
To address→通知先メアド

以上となります。
連携サービスはslack等に差し替えても大丈夫かも知れません。


2019.03.22追記:Googleから、『IFTTTとGmail連携終了のお知らせ』が届きました。対応策確認後、本ポストを後程アップデートする予定です。

T-POT 17.10 を固定IP環境で使ってみる

入れてみたVPSな環境が固定IPだったのですが、試してみたら出来てしまったので、メモっておきます。

  1. まず、普通にisoイメージからT-POTをインストールします
  2. 再起動を指示されたら、一旦再起動させます
  3. 固定IP環境の場合、dhclientがIPアドレスを拾えない状態になりますが、タイムアウトになるまで暫く(300秒)待ちます
  4. タイムアウト待ちが嫌なので、/etc/dhcp/dhclient.conftimeout 行を適当に(値を短くする方向で)編集します
  5. /etc/rc.local 内でIPアドレスの設定を行うために、exit の前に次の2行を追加します(各パラメータは環境に合わせてください)

    ifconfig eth0 192.168.1.2 netmask 255.255.240.0
    route add -net 0.0.0.0 gw 192.168.0.1

  6. 必要な場合は、cron等でIP設定の上書きを設定します
  7. OSを再起動させて動作確認を行います

2019.01.29追記 バージョン18.11.1は本対応を行わなくても動くようです

VMware Workstation で NAPT が思うように動かないとき

当たり前と言えば当たり前なのですが、少し嵌まったので書いておきます。

仮想サーバのサービスを公開するために着信ポートのマッピングを行うときは、当該ポートが既に使われていないか、予め確認しておきましょう。
プロセス名を確認するときは、netstat -ban あたりが良いかと思います。

例えば、Windows 10 の BranchCache とか、VMware Workstation の 編集→環境設定→共有VM の『仮想マシンの共有とリモートアクセス』の使用ポートとか…。

久し振りにJavaのアップデートで失敗(ATOK環境の場合)

Windows10 1809 で、Javaのアップデート通知が来ていたのでアップデートを実行…するも、インストーラがインストール途中で消えてしまいます。
JRE Version8 Update 192と201(x86とx64それぞれ)で現象を確認。
PCは2台で試してみたので、俺環…な可能性はちょっぴり少ない、かな?
イベントビューアで見ると、Atok31tip.dllで落ちてしまっています。
…そう言えば、昔もこんなこと、あったなぁ。。。

インストーラ実行前に、Ctrl+ShiftでIMEをMS純正に一時的に切り替えて、回避しました。

先走って Windows 10 October 2018 Update になった方に(期間限定)

先走って Windows 10 October 2018 Update になった方へ(リベンジ公開された時点で、このポストは多分要らなくなるとは思うのですが)

手元にインストール時期の違う 1809 なPCが数台あるのですが、
適用されているKBを見比べていたところ、微妙な違いに気付きました。

と思ったら、ビルド番号が 17763.55 のものと、17763.107 の物が存在します。

1809適用直後が 17763.55、
KB4464455(10/17公開オリジナル)が適用された物が、17763.104、
KB4464455(10/30公開のVer.2)を適用すると、17763.107 になるようです。

.104が、セキュリティアップデート
.107が、zipのバグ対策らしいです。

取り敢えず.107に揃えようと思ったら、KB4464455が公式から入手出来ない模様。

なので、以下、適用方法となります。

  1. どこかからパッチを探して来て、デスクトップに置く
    私はMegaから入手できました
    # 拾った物は念の為 virustotal に掛けることをお勧めします
    # x86やarm64の場合は、x64の部分を読み替えてください
    ファイル名:Windows10.0-KB4464455-x64.cab
    sha256:818bb72eb1ee9b9b33333b48b795cd7c3ffa57421621322253c74ca71c96501a
  2. パッチを適用する
    管理者モードでコマンドプロンプトを開いて
  3. 無事完了したらOS再起動

会社でスマホのWiFiが不調になり

何の気なしにWiFiアナライザーを開いてみたら、『DIRECT-ほげほげ』が全力で吹いていて、繋ぎたいAPを覆い隠していました。
これはなんだと思ってぐぐったところ、次のリンクで解決できました。
http://snow-white.cocolog-nifty.com/first/2018/06/windows-10-di-1.html
※対策後の被疑PCはシャットダウンし、空間から『DIRECT-ほげほげ』が消えるまで待ってから再起動ください

Windows10のファイルの履歴ではまった件

イベントビューアーに次のようなエントリーが。
ログの名前:Microsoft-Windows-FileHistory-Engine/BackupLog
ソース:Microsoft-Windows-FileHistory-Core
イベント ID:201
レベル:エラー
ユーザー:SYSTEM
説明:構成 C:\Users\foo\AppData\Local\Microsoft\Windows\FileHistory\Configuration\Config でユーザー ライブラリの変更のスキャンと変更されたファイルのバックアップを実行できません

取得対象箇所に次のようなファイルがあったので、片方を消したら取れるようになりました。
(ファイルその①)取扱説明書(Ver1.0).pdf
(ファイルその②)取扱説明書(Ver1.0).pdf
※カッコが全角か半角かの違い
※ダウンロードした時期によってファイル名のカッコが違っていた
同一フォルダ上に、正規化した結果(?)同じ名前になるファイルが存在すると駄目な感じ?