クラウド」カテゴリーアーカイブ

LINE通知の直接トリガーとIFTTT経由のトリガーについて(その2)

自宅PCやサーバのHDD容量を監視して、逼迫してきたら、LINE通知に24H自動通知しています。

処理の流れとしては、

  • WIndowsタスクで一定期間で監視スクリプトを実行
    • 監視スクリプトで要通知となればLINE通知にPOSTする
    • そうでなければなにもしない(スルー)

これを24時間365日行っています。

ここでは、上記の「LINE通知にPOSTする」部分について、その方法と注意点について紹介しようと思います。

「 WIndowsタスクで一定期間で監視スクリプトを実行」部分については、本ブログの関連ページを参照してください。

かなり説明を端折ってますので、初心者の方はネットでいろいろ調べてみてください。

紹介内容とポイント

  • ①LINE通知への通知方法。少なくとも2種類ある。それぞれ長所短所があるので用途により使い分けるとよい
  • ②LINE通知に直接通知を投げる
  • ③LINE通知にIFTTT経由で通知を投げる
  • ④まとめ

①②については、「LINE通知の直接トリガーとIFTTT経由のトリガーについて」を参照してください。

③LINE通知にIFTTT経由で通知を投げる

監視対象機器(ここでは自宅PCとします)から「IFTTT」サービス経由で「LINE Notify」(LINE通知)サービスにアクセスします。やり方は、ひとことでいうと、IFTTTサービスに登録してMyAppletを作成するだけです。それだけで普段使っているLINEに通知が来ます。

たとえば、こんな感じです。

clip-20191022112528.jpg
※背景画像は東京市ヶ谷にあるポケストップ

ひとつ目の通知が直接通知。二つ目の通知はIFTTT経由通知。同時刻にPOSTしていますが、到着に28分間のタイムラグがありました。IFTTT経由通知の場合は処理が遅いのではなく、ある時点でまとめて処理しているだと推察します。

powershellのコード例

以下PowerShellのコード例を示します。ここでは、LINE通知をする監視対象機器を自宅PC(Windows)としているのと、監視処理を同じくPowershellで書いてWindowsタスクから起動しています。

MacOSやLINUXサーバの場合は、「curl」コマンド等を使って同様に実装可能と思います。

IFTTT_trig.ps1

Add-Type -AssemblyName System.Web

Set-Variable -Name 'TOKEN_IFTTT' -Value <IFTTTのトークン文字列>
echo ("※IFTTTへMAKERイベント発火 at " + $Now)

$oXmlHttp = New-Object -Com Msxml2.XMLHTTP.3.0
$URL = "https://maker.ifttt.com/trigger/test/with/key/$TOKEN_IFTTT"

#コマンドライン引数(パラメータ)の取得
If ($Args.Length -eq 1){
    $a1 = [SYstem.Web.HttpUtility]::UrlEncode($Args[0])
    $URL = $URL + "?value1=" + $a1
}else{
    echo "Error:引数が多すぎます"
    exit
}

$oXmlHttp.Open("GET", $URL, $false)
$oXmlHttp.Send()
If ($oXmlHttp.Status -eq 200){
    echo [SYstem.Web.HttpUtility]::UrlDecode($URL)
}Else{
    echo "Error returnCode:" + $oXmlHttp.Status
}

※ここではIFTTTのMyAppletに設定するトリガーコマンドを「test」としています。

下記コマンドをWindowsのコマンドプロンプトで実行します

IFTTT_trig.ps1 "ディスク逼迫 at MyPC(残量 649)"

※通知内容の変更を容易にするため、上記スクリプトに引数をひとつ渡すようにしています。

※24H監視する場合はWindowsタスクへの登録が必要です。

④まとめ

自宅PCやサーバのHDD容量を監視して、逼迫してきたら、LINE通知に24H自動通知しています。

ここでは、「LINE通知に24H自動通知」について、その方法と注意点について紹介しました。

関連する記事・ページ

LINE通知の直接トリガーとIFTTT経由のトリガーについて
LINE通知の直接トリガーとIFTTT経由のトリガーについて(その2)
自宅PCをスマホでリモート管理(タスク管理編)
PCをリモート管理する1手法
【コードサンプル】Windowsタスクへの登録例
【コードサンプル】heartbeat.ps1 – 心音確認 PowerShell Script
【コードサンプル】1時間タスクのScript例
【コードサンプル】24時間タスクのScript例
【コードサンプル】hbJob.bat – Windows Bat Script
【コードサンプル】プロセスモニタのScript例
【コードサンプル】IFTTT経由でLINE通知するScript例
【コードサンプル】ネット転送量モニタ

お世話になったリンク

LINE Notifyでたのでちょっと試してみる。ついでにGithub Enterpriseのwebhookを通知するやつを作ったぞ!!

※東京市ヶ谷のポケストップ「ビーナス」
clip-20191023073518.jpg

以上です。

LINE通知の直接トリガーとIFTTT経由のトリガーについて

自宅PCやサーバのHDD容量を監視して、逼迫してきたら、LINE通知に24H自動通知しています。

処理の流れとしては、

  • WIndowsタスクで一定期間で監視スクリプトを実行
    • 監視スクリプトで要通知となればLINE通知にPOSTする
    • そうでなければなにもしない(スルー)

これを24時間365日行っています。

ここでは、上記の「LINE通知にPOSTする」部分について、その方法と注意点について紹介しようと思います。

「 WIndowsタスクで一定期間で監視スクリプトを実行」部分については、本ブログの関連ページを参照してください。

かなり説明を端折ってますので、初心者の方はネットでいろいろ調べてみてください。

紹介内容とポイント

  • ①LINE通知への通知方法。少なくとも2種類ある。それぞれ長所短所があるので用途により使い分けるとよい
  • ②LINE通知に直接通知を投げる
  • ③LINE通知にIFTTT経由で通知を投げる
  • ④まとめ

③④については、「LINE通知の直接トリガーとIFTTT経由のトリガーについて(その2)」を参照してください。

①LINE通知への通知方法

LINE通知に至る方法には、他にもいろいろ紹介されているかも知れませんし、自分で独自にそうしたサービスを作ることも可能ですが、ここでは比較的簡単に導入しやすいと思われる方法を紹介します。

  • 監視対象機器からLINE通知に、直接、通知を投げる
  • 監視対象機器からLINE通知に、IFTTT経由で、通知を投げる

特に監視対象機器などなくて、単にTwitter等のネットサービスからLINE通知に通知したい場合は、IFTTT経由の方法を参照してください(後述するURLにPOSTするスクリプトも不要です)。

※ここの紹介では方法の比較がひとつのポイントですので、一方の方法のみであれば他ブログのページの方が導入しやすいかも知れません。

直接通知の特長

  • ほぼリアルタイムで通知が来る。他サービスを経由しないので、ほぼリアルタイムに通知できます。応用例を思いつきませんが、監視対象からの通知にすばやく反応したい場合有用かもしれません。
  • LINE通知専用のアクセストークンを取得して使用しないと通知できないので、安全

IFTTT経由通知の特長

  • 特別な知識やノウハウが必要ありません。監視対象機器からの通知を処理する場合でも、リアルタイム性を求めないならこちらで十分だと思われます。ただし結構タイムラグがあります(下記例の場合28分)。
  • LINE通知のアクセストークンを取得する必要がありません。ただしIFTTTのトークンは必要です。

②LINE通知に直接通知を投げる

監視対象機器(ここでは自宅PCとします)から「LINE Notify」(LINE通知)サービスにアクセスします。やり方は、ひとことでいうと、LINE通知専用アクセストークンを入手して、それを使ってURLにPOSTするだけです。それだけで普段使っているLINEに通知が来ます。

たとえば、こんな感じです。

clip-20191022112528.jpg
※背景画像は東京市ヶ谷にあるポケストップ

ひとつ目の通知が直接通知。二つ目の通知はIFTTT経由通知。同時刻にPOSTしていますが、到着に28分間のタイムラグがありました。IFTTT経由通知の場合は処理が遅いのではなく、ある時点でまとめて処理しているだと推察します。

powershellのコード例

以下PowerShellのコード例を示します。ここでは、LINE通知をする監視対象機器を自宅PC(Windows)としているのと、監視処理を同じくPowershellで書いてWindowsタスクから起動しています。

MacOSやLINUXサーバの場合は、「curl」コマンド等を使って同様に実装可能と思います。

LINE_trig.ps1

Add-Type -AssemblyName System.Web

Set-Variable -Name 'TOKEN_LINE' -Value <アクセストークンの文字列>
echo ("※LINEへ通知イベント発火 at " + $Now)

$oXmlHttp = New-Object -Com Msxml2.XMLHTTP.3.0
$URL = "https://notify-api.line.me/api/notify"

#コマンドライン引数(パラメータ)の取得
If ($Args.Length -eq 1){
    $a1 = [SYstem.Web.HttpUtility]::UrlEncode($Args[0])
    $a1 = "message=" + $a1
}else{
    echo "Error:引数が多すぎます"
    exit
}

$oXmlHttp.Open("POST", $URL, $false)
$oXmlHttp.setRequestHeader("Authorization","Bearer $TOKEN_LINE")
$oXmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded")
$oXmlHttp.Send($a1)
If ($oXmlHttp.Status -eq 200){
    echo "正常に送信できました"
    echo [SYstem.Web.HttpUtility]::UrlDecode($URL) 
}Else{
    $responseText = $oXmlHttp.responseText()
    echo "Error returnCode: $responseText"
}

下記コマンドをWindowsのコマンドプロンプトで実行します

LINE_trig.ps1 "ディスク逼迫 at MyPC(残量 649)"

※通知内容の変更を容易にするため、上記スクリプトに引数をひとつ渡すようにしています。

※24H監視する場合はWindowsタスクへの登録が必要です。

R.参考

関連する記事・ページ

LINE通知の直接トリガーとIFTTT経由のトリガーについて
LINE通知の直接トリガーとIFTTT経由のトリガーについて(その2)
自宅PCをスマホでリモート管理(タスク管理編)
PCをリモート管理する1手法
【コードサンプル】Windowsタスクへの登録例
【コードサンプル】heartbeat.ps1 – 心音確認 PowerShell Script
【コードサンプル】1時間タスクのScript例
【コードサンプル】24時間タスクのScript例
【コードサンプル】hbJob.bat – Windows Bat Script
【コードサンプル】プロセスモニタのScript例
【コードサンプル】IFTTT経由でLINE通知するScript例
【コードサンプル】ネット転送量モニタ

お世話になったリンク

LINE Notifyでたのでちょっと試してみる。ついでにGithub Enterpriseのwebhookを通知するやつを作ったぞ!!

※東京市ヶ谷のポケストップ「ビーナス」
clip-20191023073518.jpg

以上です。

流行りのフレームワークで作りました!「暗記の井戸クラウド」をβリリース

Javascript(jQuery)のMVCフレームワークというのか、いわゆるBackbone.jsと、アプリケーションサーバが不要なCakePHPを組み合わせた「暗記の井戸クラウド」をβリリースします。

スマホ版
タブレット版
PC版

※上記URLの最初にある「krapsiup」は、「quizpark」から来ています。お気づきになられた方もいらっしゃるかと思いますが、「park」を並べ替えると「krap」に、「quiz」を鏡面でみる(裏から眺める?)と「siup」になります

暗記の井戸シリーズの中でコード量が圧倒的に少なくなったにも関わらず、結構いろいろ拡張できそうな予感もあり、面白いと感じています。

とりあえずは、本サイトで紹介している「暗記データ例」を、PCでもスマホでも同じデータをいつでもどこでも参照できるようにしました。例えオフラインになっても最後にアクセスしたデータが残ってますので、気合を入れて暗記に集中できます。

画面は3種類あります

BOX画面、LIST画面、QUIZ画面の3種類。他に各種設定や編集画面がありますが、主なものは左記の3つです。

  • [BOX画面]メールボックスのリストような画面で、クイズ(問題)の集まりのリストです。
  • [LIST画面]メールボックスのような画面で、クイズ(問題)の集まりです。
  • [QUIZ画面]メッセージのような画面で、、クイズ(問題)の詳細です。画面の上半分にクイズ(問題)、下半分にアンサー(解答)、がそれぞれ表示されます

タイムトライアル機能を入れました

タイムトライアル機能?を入れてみました。画面の上半分をタッチ(もしくはクリック)すると機能をON/OFFできます。
※タイムトライアルの時間を変更できます。「BOX画面」下の「Settings」から「TimeTrialInterval」の数字を変更します。単位は秒数です(初期値は10)

「QUIZ画面」の前後移動は画面のタッチで

「QUIZ画面」の下半分の左側をタッチするとひとつ前の問題の「QUIZ画面」に移動します。右半分をタッチするとひとつ後の問題の「QUIZ画面」に移動します

※前後への移動でなく任意の問題の「QUIZ画面」に移動したい場合には、一旦LIST画面に戻ってから問題を選択します

関連する記事・ページ

暗記データ例 | 暗記の井戸HTML5
あなた方は神です!?古いCakePHPの導入で先人の知恵を拝借

お世話になったリンク

[CakePHP] JSON出力時にstring型をint型に戻す | XPages、ロータスノーツ・ドミノのモバイル・WEBアプリの開発・相談ならKTrick LLC.
AJAX ? CakePHP Cookbook v1.3 documentation
CakePHPでビューやレイアウトを使わない方法。 | Wataame Frog
Cakephp 1.3系でBackbone.jsの生成したjsonを受け取る。 – Qiita [キータ]

以上です。

日本では既に情報提供が行われていると見るべきでしょうかね!?

日本での話です。

ある犯罪に、あるメーカのある型番のタイプライターが使われたということで捜査されました。今のように量販店のポイントカードで代表される会員カードがそんなになかった頃の話だと思いますが、販売された数千台の持ち主を殆どトレースできているようでした。今でもそうですがメーカ保証期間サービスにより持ち主の情報がある程度把握できていたからでしょう。

ここで、そのメーカは当初捜査当局に対して生の個人情報は提示していなかったでしょうが、属性に基づいてスクリーニングし、ある程度絞られた後で、連絡先や氏名や性別などの生の個人情報を提示していたのでしょうね。

これが現代であれば、もしテロ犯人がそのタイプライターを使っている可能性があった場合、米国当局からも資料提示の要請があったということかも知れません。

日本の捜査当局にしても米国当局にしても、それぞれ正当な理由があって、こうした個人情報またはそれに関わる属性の提示要請があったのだと理解しますが、いろいろなリスクが出てきます。

犯罪に関わる人に関する情報提示については、一般のひとにはほぼ関係ないので、その情報が必要とされる「関係者以外に情報が漏れないと保証かつ検証できれば」一見問題ないように見えます。

加えて、犯罪に関わる人に関する情報と残りの一般のひとの情報を切り離してしまえばいいのでしょうが、そうすると普通行動との比較が困難になるので、それも難しいのでしょうね。たとえばある催しものでほとんどの人が東に歩いていたとき西に歩いている数人を被疑者と見る場合があるのでしょうが、その場合、「ほとんどの人」の行動履歴が必要になりそれを切り離すことが不可能になります。

結局、玉石混交の情報を相手に、上記の「関係者以外に情報が漏れないと保証かつ検証できれば」という条件を成立させるのは一筋縄ではいかないでしょうね。

日本の捜査当局はその「無誤謬性」を盾に「関係者以外に情報が漏れないと保証かつ検証」できた、とするでしょう。既にその反例が山ほどあるにもかかわらず押し通すかも知れません。

一方、米国当局の場合、ES(江戸語・雪電)の存在自体がそうした「反例」のひとつになってしまいました。

事件解決のトリガはビッグデータだったのか

「母さんお願い詐欺」に関して、つい先日ですが新聞にこんな内容の記事が載っていました。20代と思われる男性がキャバクラで豪遊しており、その男性は「母さんお願い詐欺」に加担しているらしいと捜査当局が目をつけていたとのこと。実際に、その男性が「出し子」と呼ばれるATM引き出しや現金受け取りという末端の役割をしていたところを現行犯で逮捕されたそうです。

ここで問題となるのは、捜査当局がその男性に目をつけたトリガーが何だったかということ。捜査上の聞き込みやら人相やら垂れ込みやら従来の捜査手順を踏んだものか、またはキャバクラで豪遊している20代と思われる男性の店からの情報クレジットカードの履歴情報からか。後者はクラウドから入手可能なものです(恐らく現金を使って足がつかないようにするとは思いますが)。

「キャバクラで豪遊」でも、「高級スポーツカーを現金購入」でも、「競馬で大金を掛ける」でもいいですが、こうした、通常の生業を持つ20代の(独身)男性ではありえない行動情報をキーワードにクラウドから情報入手し、それを元に捜査が行われたと仮定すると、「よくぞやってくれた」とも「怖い」とも言えますね。

こうした犯罪行為であぶく銭の入ったひとは、使う際もあぶく銭のように使うでしょうから(これも本当がどうか不明です)、「入る」方の捜査だけではなく「出る」方の捜査をすればいいのに、と私は数年前から感じていました。もしクラウドからの捜査だとしたらようやくその萌芽が出たというところでしょうか。

恐らく数年前にはこうしたことは不可能で前提となる環境が未熟だったのでしょう。SNS・スマホの普及やビッグデータの扱いが当たり前になりつつある今年や来年あたりからその威力を発揮しているのではないでしょうか。

それにしても、新聞の事件、捜査が先だったのか、クラウド情報が先だったのか、今もよくわかりません

迷宮入りになりそうな誘拐事件や蒸発案件で効果を発揮するビッグデータ

誘拐事件や蒸発その他で、今でも消息不明な方々がたくさんいらっしゃいますが、その有効な手掛かりがビッグデータで掴めないでしょうか。

たとえ蒸発した本人が故意にいなくなったとしても、そしてどこかで幸せに暮らしていたとしても、探している人に取っては、とても辛いことでしょう(もちろん虐待の場合は別です)。

捜査当局があの手この手で把握する目撃者の情報は本当に有効なんでしょうが、たまたま事件の前後に現場に居合わせて何かを目撃したとしても、本人にその自覚がなければ、そもそも記憶を辿ろうともしないでしょう。

でも、そうした目撃者の候補がビッグデータから掴めるとしたら?そして目撃者候補の記憶や証言から有効な手がかりが得られるとしたら?

個人情報も大切ですが、扱いさえ正当であれば、殆どひとにとって価値のない情報が「誘拐事件を解決できる」「蒸発したひとの消息が分かる」など、当事者にとってはこれ以上考えられないほどの価値に変貌するでしょう。

そしてたとえ実際の事件で効果が得られなかったとしても、少なくともこれから起きる犯罪に対する抑止効果が期待できるのではないでしょうか?

関連記事

これは脅威!?「消せない火」の次は「壊せない巨大HDD」のある世界
伏兵がいたとは!?パスワード管理の話
遺伝子にまでパッチが当てられる時代なんですね、現代は!
日本では既に情報提供が行われていると見るべきでしょうかね!?

以上です。

伏兵がいたとは!?パスワード管理の話

セキュアなパスコード(パスワード)の作成方法

にも書きましたが、パスワードの生成の仕方についてちょっとですがTipsをまとめています。

ただ、先日、日経新聞に、「ああやられた!どうしよう!」と個人的に感じた記事が出ていました。

危険!IDの使いまわし メールアドレス 複数使って対策(8/15)

これは、ひとことでいうと、メールアドレスをIDとして使い回していると非常にやばいことになる可能性がある、ということです。

特に、IDのみでなくパスワード(PW)も使いまわしている場合には、以下のリンクのように、複数のサイトから芋づる式に個人情報が抜かれたり、最悪なのは銀行口座等に容易にアクセスされる可能性があるということ。

個人ID盗難 芋づる式 パスワードの使い回し、被害招く 新たな手口、自衛が不可欠 :日本経済新聞(8/14)

パスワードの使い回し、被害招く――個人ID盗難、芋づる式(真相深層) | SECURITY SHOW(こっちは上記の前文が掲載されています)

さすがに銀行などは以前よりセキュリティの意識が隔世的に高くなっていますのでそれだけで実際に金銭的な被害にあうことはないのかも知れません。

しかし、SNS系、ストレージ系、メール系などのデータをアクセスされてしまい個人ビッグデータとして解析されたりすると、検索機能が充実していることが裏目に出て、例えば第二パスワードや取引専用パスコードのような重要な情報がそこから漏れてしまうかも知れません(サイト管理では通常ハッシュとして処理しており文字列がそのまま保存されることはあまり聞きませんが個人管理ならありえる)。

全サイトでPWを変えており暗号化したExcel(表計算)ファイルでそうした情報を管理運用している私にとっても、今回のことは伏兵でした。なので早速やり方を見直しました。この記事が背中を押してくれました。

危険なのはメールアドレスの使い回しだけではないのでは?

この記事では、同じメールアドレスを複数のサイトでIDとして使い回すことの危険性を報告していますが、果たしてそれだけでしょうか。メールアドレスの文字列の一部を他のアカウントのIDとして使っている方も居られるのではないでしょうか。

そうだとすると、ここ最近の「xxのサイトがハッキングされ個人情報が流出した。その数は数万(場合によっては数億)人分に上る」という記事とそれに対するサイトからの「ただちに顧客全員に通知してPWを変更してもらった。今のところ被害は報告されていない」というアナウンスが「それだけで本当に顧客にとってきちんとした対策になっているの?」というものに聞こえます

確かに、そのサイトでの被害はないけれども、それが元で他のサイトでの被害につながるのではないか、ということです。PWをどう作るかや、いつ変更するか等の管理は、サイト責任(どう保存するかサイト責任です)ではなくユーザ責任なので、恐らくあえてその危険性をアナウンスしないのでしょうね。

どこかのサイトからIDとPWが漏れたとき、もし複数の銀行でそれと全く同じIDとパスワードをつかっていたら非常に危険だということは、誰でもわかります。銀行等のサイトでは2重3重の防護の手を打っているので大事に至らないケースが大半と思いますが、ユーザとしてもやはり何か手をうっておくべきでしょうね。

記事にあるようにサイトの重要度で対策を使い分ける

やはりサイトの重要度にあわせてIDやPWを自分なりに管理することが求められそうです。IDをサイト別に変更するのが面倒なら少なくともPWは異なるものを用意すべきでしょう。方法は、

セキュアなパスコード(パスワード)の作成方法

にあるようなものでも結構ですし、上の記事の内容にあるように、マイクロソフトのExcel(表計算)ファイルにまとめておくという手もあります。

ここ最近マイクロソフトのExcel(表計算)ソフトと互換のあるものが出ており、非常に便利になっています。特に(iPhoneなどのiOS系ではなく)Android系端末ではDropboxのファイルでもExcel互換ファイルを使うことができます。読み取り暗号化したExcel互換ファイルの扱いも可能なので、出先で重要情報にアクセスすることもできます(個人的なことですが、実はこれが非常に有用で最近ではiOS系よりもAndroid系の端末を使うことが多くなりました)。

まとめ

IDやPWの使いまわしは極力しない。少なくとも重要サイトのIDやPWはそれぞれ異なったものにする。IDやPWの管理方法は、自分なりの法則を作る、または、Excel等で管理する、のがよいと思います。

やはり将来は生体認証等になるのでしょうかね。海外SFドラマなどではどう表現されているんでしょう。

関連記事

セキュアなパスコード(パスワード)の作成方法
これは脅威!?「消せない火」の次は「壊せない巨大HDD」のある世界
伏兵がいたとは!?パスワード管理の話
遺伝子にまでパッチが当てられる時代なんですね、現代は!
日本では既に情報提供が行われていると見るべきでしょうかね!?

お世話になったリンク

危険!IDの使いまわし メールアドレス 複数使って対策(8/15)
個人ID盗難 芋づる式 パスワードの使い回し、被害招く 新たな手口、自衛が不可欠 :日本経済新聞(8/14)
パスワードの使い回し、被害招く――個人ID盗難、芋づる式(真相深層) | SECURITY SHOW

以上です。