【スパム?】account was hacked

2018年10月初旬あたりから「あなたのアカウントをハッキングしました」的なスパムメールが数日おきに定期的に来るようになりました。
内容としては以下のような感じです

スパムの内容


・あなたのxxxx@xx.xx のアカウントをハッキングした。パスワードは「XXXXXX」だ
・○○月○○日~○○月○○日の間にあなたが訪れたポルノサイトで、あなたのシステムにマルウェアを仕込んだ
・あなたのシステム上のカメラであなたの恥ずかしい行動を記録済みである
・バラまかれたくなかったらBitCoinで○○○ドル支払え
・BitCoinでの支払いについて分からないならGoogleで調べてね
・これからはセキュリティに気をつけようね

なんかよくあるスパムメールかと思いましたが・・・
今回のスパムで驚いたのは、記載されているパスワードが「過去に実際に使っていた」ものなんですよ。

10年ほど前に使い始めたパスワードで今ではすべて変更されています。(懐かしさすらあった)
この件を友人に話してみたところやはり同じように10年ほど前に使っていたパスワードが記載されていたようです。

また、複数のメールアドレスに今回のスパムが届いて、複数種類のパスワードがありましたがいづれも既に使用していないものでした。
アドレスとパスワードの組み合わせから、とあるオンライゲームで使ってたやつっぽいなーって思いましたが・・・サービス終了してるのでもう確認できない・・・orz

親切なのか不親切なのか

件名(と文面)がバリエーションが豊富です。

「account was hacked」
「Delete Message After Reading!」
「xxx@xx.xx has been hacked! Change your password immediately!」
「Security Alert. xxx@xx.xx has password xxxxxx. Password must be changed.」

後半なんて、「危ないから早くパスワード変更して!」とか親切な感じで切り込もうとしてますね。
しかし、BitCoin払えよって脅迫してきてるので犯罪ですね。
犯罪なんですが、「このアドレスのパスワードこれだろ」って来るといろいろと絞り込めるので親切っちゃぁ親切・・・かもしれない。

「使用中のパスワードだ・・・BitCoin払った方がいい?」

使用中のアドレスとパスワードでメールが来た人はめっちゃ焦りますね。
ただ、システムのカメラまで乗っ取ってるんだったら他の「クレジットカード番号」とか「銀行のアカウント/パスワード」などもっともっと重要な情報が取れると思うんですけどね。
(てかカメラないし)
脅迫の文面からシステムにマルウェアを仕込んだのではなく「アドレスとパスワードを含む個人情報がどこからか流出した」が濃厚だと思います。

一応、利用しているサービスの中でメールとパスワードの組み合わせを確認し危なそうなのがあったらパスワード変更など対応して、BitCoin送金については無視でいいですね。

【Mastodon】AWS、CentOS7、Apache2.4 でマストドン!

今流行りのMastodonを立ち上げて見ました -> https://humou.jp
(コスト高で停止しました。)

Mastodonって?->Wikipedia

公式のGitHubでサーバの構築ドキュメントがきちんとありましたが・・・

あえて、
・dockerを使わず
・nginxを使わず
・Ubuntuを使わず
構築してみようかと思いました。

以下、今回の環境設定

実はAmazonLinuxでも試しました。
ベースがレッドハット6系でいろいろと作業が止まったので断念しましたorz

1. 基本的な環境構築

EC2でCentOS7のインスタンスを作成します。
タイプはt2.microで大丈夫でした。

作成してインスタンスにログインできたら、基本的なリポジトリをインストール
(面倒くさがりな私は最初にsudo suをしてたりします)

2. rbenvとrbenv-buildとRuby

Ruby使ったことなかったんで、これが本当に良くわかんなくて詰まった。
公式的にはここを見ればできる書いてるけど・・・

ここからはmastodonユーザに切り替えておく

パス通しと初期化がなんか上手くいかない。
とりあえずパス通ってればいいんだろ?的なノリで上のように変数やら面倒なことしないで”絶対パス”で通してやった。

3. DBとRedis

Rubyインストールが長いんで、その間にDBを・・・
公式のドキュメントではRedisとDBの構築についても書かれていましたが、
AWSで楽したいので、RDSとElastiCacheを使います。

めっさ楽。

4. Apache2.4インストール

更に、以下を参考にMastodon用のバーチャルホストを追加
Apache設定

5. Mastodonインストール

ぶっちゃけRubyの構築が一番面倒だったのでここまでくればあとは楽・・・ではないな。

XXXXXのところはコマンド「rake secret」で作った文字列を張り付ければよろしいかと。(多分)

6. Mastodonをシステムに登録

SystemDに登録してスタートとかリスタートとか使えるようにする。

上記を行うと、以下のコマンドが有効になる

構築終わり。

7. 終わりに

・SSLとかの設定はLetsEncryptとかを見れば簡単にできると思うので割愛
・Rubyが全然わからん、どうしよう
・Haml?もまだ理解していない、どうしよう
・誰もいないのに1か月の維持費3600円くらい、どうしよう
・連盟?の組み方わからない、どうしよう

参考にさせて頂いたサイト一覧

https://github.com/tootsuite/mastodon
https://www.yournearestbar.com/
http://qiita.com/motiakoron/items/1e5b0679f7283bfee70b
http://qiita.com/genya0407/items/afb9c3f075225de856ed
http://dev.classmethod.jp/cloud/aws/amazon-linux-centos-rhel-difference/

Windows10の自動再起動が再発

仕事ではMacBookProを使い、
サーバサイドではCentOSを使い、
自宅メインPCではWindows10を使う。

MacBookPro

良:Unixが元
良:タッチパッドがマジで使いやすい、マウスいらねぇキーボードから手が離れない
悪:ソフト少ない。WinMergeに相当する無料のツールがない、見つからない(これ重要)

CentOS

良:Unixを元にしたLinuxの1つ
悪:GUIが残念(サーバで使用しているので必要ないけどな!)
良:再起動?

Windows10

良:ゲーム!ゲーム!ゲーム!
悪:強制自動再起動

仕事上では問題ないんですよ。どうせMacとLinuxしか使わないんですから。
問題は家で趣味のゲームとゲームとプログラミングをしているときですよ。
この前もPHPでFANNの勉強中のメモなどが吹っ飛んでましたorz
この自動再起動さえなければ文句がないんですけどね。
Windows7みたいになって欲しいな・・・

 

家でなんかコード書いたりするときもMac欲しいなぁって軽く思ってきた。
だけど、Macは高いね、うん。

 

 

PHPのループで [毎回if文判定 VS 毎回%(剰余)計算]

とある場面で、以下のような状況になりました。

先頭に戻る処理を「if文」or「剰余」で配列の参照ポインタを計算することになりましたと。

ここで、どっちが処理速い?
と思ったので試してみました。

初めに1つ: 1億個ほどのデータ量じゃないと速度を実感できなかったりします。

上記をtimeコマンドで実行
>time php test.php

何回か試しましたが、1億回の繰り返しでは約1.5秒の差がありました。
比較のが軽いということですかね。

ただ、ぶっちゃけそんなに大きな差がないので気にせず可読性を重視しよう。
これに尽きると思います。

ぱっと思いつきませんでしたが、なんか他にもいろいろ方法はありそうですね。

 

——————-
PHP 5.6
CentOS 6.8
——————-

【ネット回線】経路調査のpingとtraceroute

勤務先のオフィスのネット回線が高頻度で死んでしまうので、軽い原因調査を行いました。
(まぁその調査結果は今回あまり関係ないので省略します)

pingやらtracerouteやら使った時のメモ。

Windows -> tracert

今回は、[オフィス→自宅サーバ] and [自宅サーバ→オフィス]の経路を調査しました。
ですので、手持ちのWindowsPCと自宅サーバのLinuxそれぞれでコマンドを実行。
Windowsでは以下を実行

Windows側は基本このままで大丈夫でした。
いろいろオプションはありますが、デフォルトで事足りるかと。

 

Linux -> traceroute

Linux(CentOS6.7)では以下のコマンドを実行

Linuxのpingコマンドはオプション指定しないと永遠に繰り返しパケットを送ります。
Linuxの経路調査は「traceroute」コマンドです。
さらに、オプション[-I]を付けないとICMPではなくUDPで動作するので失敗する事が多いようです。
[-I]オプションを付ければpingと同じICMPで動作するので、大体成功します。

 

【自宅サーバ】HDDが勝手に復活

部屋の掃除がありまして、休止モードにしようとコマンドを試したところ壊れていたHDDが復活いたしました。

見事にRAID1が復旧中でございます。

なぜ復活したのか・・・

マジ、コンピュータって生き物だわぁ

HTTPによるWebAPIのテストツール

表題のツールが欲しくて(機能的に)軽いものを作りました。
要求が1つあって
「プラグインやなんかインストールするもんじゃなくブラウザのみで動く」
というのをテーマに作りました。

「開発途中のAPIの動作を軽くみたい!まだデバッガもテスト用ページも用意できてない!」
果たして需要はあるようなないような。

できたツール→http://www.lv210.com/test_tool/tool_http_request.php

続きを読む

PHPでビット演算

仕事である情報を32ビットのフラグで持つ事になったので、
もちろんビット演算子「&」とか使いました。
その時のPHPでの注意点というか、他の言語だとあんまり起こらない現象に出会った時の話。

DBから取得した値とチェック対象の変数などとINT型のつもりで比較したとき・・・

この処理でTRUEになりませんでした。
両辺が文字列になっていたのが原因でした。
公式マニュアルには「両辺が文字列の場合、文字のASCII 値を使用し、結果も文字列になる」とあります。

とりあえず、PHPでビット演算する場合はintval()とか使って意図した型に変換してからやりましょうって話。
フレームワークやらライブラリやらで意図しない型になる場合がありますので。

 

検証ページつhttp://www.lv210.com/test_tool/test_bit_operation.php