よくある使い方としては、「ブログに記事投稿」→「Twitterに新着記事を自動投稿」などがあります。
このブログではIFTTTを使っていますが、IFTTTは、1アカウントにつき、Twitterアカウントを1つしか設定できないという欠点があります。
Twitterの宣伝アカウントは分けているので、ブログとは別に運営しているメディアがいくつかあると困ります。
そこでZapierを使います。
Zapierは、1アカウントにつきTwitterのアカウントを複数設定できるので、上記の問題を解決できます。
Zapierでは、自動化タスクのことをZapといいますが、無料アカウントではZapが5つまでというレギュレーションがあります。
XMLRPCに5分おきくらいにログインがある
上記の通り要件はいい感じなので、さくっとWordPressとZapierを連携させます。
ウェブ上でポチポチやるだけで楽に連携できます。
WordPressのIDとパスワードが必要になります。
WordPressのIDとパスワードが必要になります。
さて、WordPressの有名なセキュリティプラグインにSiteGuardがあります。
SiteGuradの機能のひとつとしてログイン履歴を取ってくれるのですが、これを見るとなんとXMLRPCに5分おきくらいにログインがありました。
しかも、すべてのログインが成功しています。
夏は過ぎてますがこれは怖い話ですね。
IPアドレスはバラバラ、これも怖い!
Zapier様だった
このログイン、お世話になっているZapier様でした。
まず、そもそもおかしいのが、最初からログイン成功しているんですね。
私はパスワードを使いまわしてないので、初回からログイン成功されるのはおかしいです。
まずZapierのWordPressヘルプページを読みます。
大事なところだけピックアップすると
- ZapierからのアクセスはUser-Agent: Zapierになっている
- Zapier用に新しくWordPressユーザーを作ったほうがよい
- AWSを使っているので、IPアドレスが静的でない
と書かれています。
サーバーにsshしてログを見ると、たしかにすべてのアクセスがUser-Agent: Zapierになっていました!
これで一安心。
どうやら、新規記事がないかXMLRPC経由でチェックしてくれていたようです。
また、SiteGuardのログイン履歴では、ログイン時間やログインユーザー名が見れます。
もしZapier用にユーザーを作っていれば、ログインユーザー名を見れば一目瞭然でした。
IPアドレスもチェックしましたが、アメリカからのアクセスでした。
AWSのUSリージョンを使っているようです。
RSSを利用する手もある
新着記事をトリガーにして、Twitterに投稿したいだけなら、RSSでも実現可能です。
ZapierでRSS→Twitterを連携させます。
これなら、WordPressのID/パスワードは不要なので、いくぶんセキュアかと思います。
特にZapier様を疑っているわけではないですが、私はRSS→Twitterの構成に変えました。
この構成にしてからは、XMLRPC経由でのログインはなくなりました。
今日のベストプラクティス
まずはサーバーのログ確認。
また、今回はRSSで解決できましたが、外部サービスと連携させるときは権限を限定した専用ユーザーを作るといいと思います。
0 件のコメント:
コメントを投稿