件名に実際のパスワードが入ったメールが送られてきた

件名に自分が使っているパスワードが入っており、本文にもパスワードが入ったメールが送られてきました。2018年9月5日から毎日3~5件程度届いています。

このパスワードは、適当に作るアカウントで使っているパスワードのため、どこかのサイトで流出したと言う事でしょう。何かのサイト登録時に平文で保存されており、そのメールアドレスとパスワードが流出したと言う事だと思います。

このメールでは5,000米ドルをビットコインで払えという内容ですが、メールによって金額が異なり、1,000米ドル~7,000米ドルとなります。

米ドル 件数
1,000米ドル 18
2,000米ドル 14
3,000米ドル 13
4,000米ドル 11
5,000米ドル 14
6,000米ドル 13
7,000米ドル 13

このメールが届いている場合、そのパスワードを使っているサイトのパスワードを変更した方が良いでしょう。それ以外は、流出したメールアドレス・パスワードセットで送っているだけだと思いますので、削除で問題ありません。

不正アクセスで利用するよりも、実際のパスワードをメールに記載し、ビットコインを送金させると言う方が効率が良いのかもしれません。

WordPressの投稿が異常に遅い場合はQuery Monitorを使おう!

ポイ探ニュースでも利用しているWordPressですが、投稿時に異常な負荷がかかり、投稿完了までにかなりの時間がかかっていました。

ロードアベレージを見ても10~30程度。サイトへのアクセスもできないくらいの値です。

そこで、プラグインのQuery Monitorをインストールして、どの処理で速度低下、高負荷になっているのかを探してみました。

続きを読む

Criteoでパスバック広告をFluct使用、AdSenseとの併用時にサイトが遅くなる場合

ポイ探ニュースでは広告にAdSenseとCriteoを使用しています。Criteoのパスバック広告(Cookieが存在しない場合に表示する広告)としてFluctを使用していますが、何故か数ヶ月サイトが重くなるという現象が続いていました。

Criteoが原因なのかFluctが原因なのか不明でしたが、どうもCriteoとFluctの相性が良くないという結論に達しました。

Fluctのタグを直接貼った場合、Fluctのタグを外したCriteoのタグを貼った場合はストレス無くサイトが表示されます。従って、Criteoのパスバック広告にFluctを使用した時のみ重くなる場合があるということです。

行った対策としては以下の通りです。

続きを読む

nginxの/var/lib/nginx/tmp/fastcgi/でPermission deniedになる

nginx+php-fpmでサーバを動かしてみましたが、表面上はエラーも出ずに動いているように見えます。しかしログを見ると以下のような出力がありました。

2013/06/27 22:28:13 [crit] 29202#0: *194780 open() "/var/lib/nginx/tmp/fastcgi/6/46/0000000466" failed (13: Permission denied) while reading upstream, client: ***.***.***.***, server: www.poitan.net, request: "GET /***.html HTTP/1.1", upstream: 
2013/06/27 22:28:35 [crit] 29202#0: *194981 open() "/var/lib/nginx/tmp/fastcgi/7/46/0000000467" failed (13: Permission denied) while reading upstream, client: ***.***.***.***, server: www.poitan.net, request: "GET / HTTP/1.1", upstream: 
2013/06/27 22:35:03 [crit] 29201#0: *197669 open() "/var/lib/nginx/tmp/fastcgi/8/46/0000000468" failed (13: Permission denied) while reading upstream, client: ***.***.***.***, server: www.poitan.net, request: "GET /***.html HTTP/1.1", upstream:

続きを読む

サイトの確認のために、特定のサーバに接続させる方法・検証サーバに接続させる方法

サーバ構成サイトを運営していて、別サーバで作成し、本番環境に移行することは多いです。その際に、実際のドメインでどのように表示されるかを試したいことがあると思います。また、いくつかのサーバで運営していて、特定のサーバにのみ接続を確認したいという場合もあります。

例えば、www.poitan.co.jpは通常サーバBにアクセスしますが、www.poitan.co.jpをブラウザでアクセスすると、サーバAに接続してサイトの確認を行いたいという場合です。

今回は、DNSの変更を行わないで、そのサイトを指定したドメインで見る方法を書いてみたいと思います。

続きを読む

MySQLが何度も「Starting crash recovery」を実行する

ポイ探ではありませんが、他のサイトでMySQLの接続が不安定になる不具合がありました。MySQLのログを見ると下記のようになっています。

****** 11:02:44 mysqld_safe Number of processes running now: 0
****** 11:02:44 mysqld_safe mysqld restarted
****** 11:02:45 InnoDB: Initializing buffer pool, size = 8.0M
****** 11:02:45 InnoDB: Completed initialization of buffer pool
InnoDB: The log sequence number in ibdata files does not match
InnoDB: the log sequence number in the ib_logfiles!
****** 11:02:45 InnoDB: Database was not shut down normally!
InnoDB: Starting crash recovery.
InnoDB: Reading tablespace information from the .ibd files...
InnoDB: Restoring possible half-written data pages from the doublewrite
InnoDB: buffer...
InnoDB: Last MySQL binlog file position 0 27378, file name ./mysql-bin.000015
****** 11:02:45 InnoDB: Started; log sequence number 0 1487447705
****** 11:02:45 [Note] Recovering after a crash using mysql-bin
****** 11:02:45 [Note] Starting crash recovery...
****** 11:02:45 [Note] Crash recovery finished.
****** 11:02:45 [Note] Event Scheduler: Loaded 0 events
****** 11:02:45 [Note] /usr/local/mysql/libexec/mysqld: ready for connections.
Version: '5.*.**-log' socket: '/tmp/mysql.sock' port: **** Source distribution

このログが、MySQLにアクセスされるたびに出力され、バイナリファイルがどんどんインクリメントされていきます。

続きを読む

Postfixでメール受信後にPHPプログラムで処理を行う(3/3)

前回まででPostfixの設定は終了しているため、PHPの処理を書いて行きたいと思います。

11. mimeDecode.phpのインストール

メールを処理するのは大変ですので、mimeDecode.phpを使います。下記のコマンドでインストールして下さい。私の環境ではpear install Mail_MimeDecodeを行わなければmimeDecode.phpがインストールされませんでした。

# pear install Mail_Mime
# pear install Mail_MimeDecode

12. test.phpの作成

Postfixの設定でtest.phpにメールを渡すため、test.phpを作成します。

$ vi /home/script/test.php

ファイルの内容は他のサイトで詳しく書かれていましたので、そちらのリンクを参照して下さい(参考:stdinからのメール処理でメール情報を取得する)。

参考URLの補足として、Toを取得する場合は下記のようになります。

$to = $structure->headers['to'];

 

Postfixでメール受信後にPHPプログラムで処理を行う(2/3)

前回はPostfixのインストールまで行いましたので、今回はPostfixの設定まで行います。

6. ユーザを追加

バーチャルドメインで受けたメールを処理するユーザを追加します。

# groupadd -g 10000 vuser
# useradd -u 10000 -g vuser -d /var/spool/postfix/vhosts vuser
# chmod 771 /var/spool/postfix/vhosts

続きを読む