SPiRAL303.com

Mac, iPhone, Net, 観光, 道の駅とか

Wordpress

WordPressの新規投稿をIFTTTからTwitterに自動tweetする

WordPressの投稿情報をTwitterに自動で投稿するには、WP to Twitter など色々なプラグインがあります。

試しに、WP to Twitter を入れて設定してみようとしたのですが、どうやらTwitterに携帯電話番号を登録して認証しないといけないようです。(以前は不要だったようですが最近になり変更されたようです)
どのプラグインでも基本的には同じなので、他の方法が無いか調べてみました。

ifttt wordpress to twitter

もともとIFTTTを使っていたので、Recipeを探してみたところ、Wordpress→Twitterというものがすぐに見つかり、使ってみたらうまくいきました。

IFTTTの動作は、xmlrpcを使っているようで、apacheのアクセスログをxmlrpc.phpでgrepしてみるとIFTTTがアクセスしてきていることが分かります。

zcat access_log_2016*.gz | grep xmlrpc | more

WordPressでセキュリティ対策をいろいろやっていますが、xmlrpc.phpは使えなくしておきたいところです。

xmlrpc_attack_log

実際にログを見ていたところ、xmlrpc.phpで大量のDDoS攻撃がきていました。

そこで、IFTTTからのみアクセス許可するよう設定できないか考えました。

結論からいうと、xmlrpc.php のあるディレクトリの .htaccess に下記のように記載します。

# XML-RPCアクセス制限
<Files xmlrpc.php>
Order Deny,Allow
Deny from all
Allow from xx.xx.xx.xx
Allow from xx.xx.xx.xx
</Files>

しかし、肝心のIFTTTのアクセス元IPアドレスが分かりません。
そこで、ログをじっくり見ていたところ、ログにIFTTTという文字列が含まれていることに気が付きました。
ということで、

zcat access_log_2016*.gz | grep xmlrpc | grep IFTTT

とやって今年IFTTTからアクセスがあったホスト名を抽出したところアドレスが分かりました。このIPアドレスを上記htaccessに記述すればIFTTTからのアクセスのみ許可されます。ログから発見したIPアドレスを記載してはみましたが、これ以外にもあるかもしれません。
ただし、今後攻撃者がIFTTTの文字列を入れてくる可能性もあるので注意する必要があります。
ですが、今のところはうまくいっているようです。外部からのアタックは対策できたようです。

-Wordpress
-, ,