ピンバック機能を無効化した日

今朝起きたら携帯に「サイトが落ちてるよ」という自動メールが。
なんだ〜?と思って色々痕跡を調べてたらダウンした時刻の直前にaccess_logに怪しいアクセスが。

調べてみると、
要するにDDoS攻撃に利用されてる(かどうかは不明だけど少なくともトライされた)っぽい。
けどトライされてる途中でこちらのサーバが応答しなくなったと。
それはそれでどうなんだっていう議論があるが。。

詳しい仕組みはこちら参照。

嫌だね〜。こういう「知らないうちに自分が加害者」っていうパターン。
古くは

「自宅サーバってグローバルIPさえあれば立てられますか?」

って質問するだけでタコ呼ばれて各方面からマサカリが飛んできたものだけど
今は特にそういう感じじゃないもんね。
都市化が進んで近所付き合いが無くなったと同時に、
隣の家の子供を注意しなくなった、って感じか。(たぶん違う。)

とにかく、勉強不足状態で何かを公開するってことのリスクを思い出した。
悪意の無い加害者が一番タチが悪いってことも。。

とりいそぎピンバック機能を無効化するプラグインを入れて様子を見ることに。

コメントスパムがウザイ・・・。

なんか最近コメントスパムが増えてきた~。
怪しいURLを貼ってるスパムは前からAkismetプラグインで弾いているんだけど、
そうじゃないやつは弾けないっぽい。
オール半角文字列のコメントは一旦保留状態にするってできないものかしら。

っていうかURL貼ってないスパムコメント投稿するbotの存在価値がわからん。。

Crayon Syntax Highlighter に脆弱性があった

3日前くらいから、やけに変なスパムコメントが増えてる(承認してないから表示はされてないけど)と思って、
実際のコメント本文を見てみたら、下記のような内容。

<pre class=”lang:php” data-url=”/wp-config.php”></pre>

なんか怪しい~。
DBへの接続パスワードなど、wordpressの設定情報が書かれたファイルを表示させようとしている感じ。
もちろんこのファイル/ディレクトリの権限的に表示させないようにしてるんだけども、
最近やけにこの方法のアタックが多い。変な脆弱性見つかったのかな?
と思ってググって見ると、これかな?

Local file disclosure vulnerability in Crayon Syntax Highlighter

要するに、ソースコードを見やすく表示するのに便利なCrayon Syntax Highlighterというプラグインに、
サーバのローカルファイルを暴露されてしまうセキュリティホールが見つかりましたよ。とのこと。あぶね~。

最新バージョン(>= 2.7.0)にアップデートすれば問題は修正されているということなので、即update!

WP Super Cache導入

「順道制勝って常に重いよね。」

って前から言われていて、特にtwitterにリンクつぶやいた時とか?
結構描画までに時間がかかってたっぽいので、調べてみた。

bash-3.2$ ab -n 3 -c 1 http://defenceless.org/wordpress/

This is ApacheBench, Version 2.3 <$Revision: 1554214 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking defenceless.org (be patient)…..done

Server Software: Apache
Server Hostname: defenceless.org
Server Port: 80

Document Path: /wordpress/
Document Length: 39535 bytes

Concurrency Level: 1
Time taken for tests: 1.850 seconds
Complete requests: 3
Failed requests: 0
Total transferred: 119244 bytes
HTML transferred: 118605 bytes
Requests per second: 1.62 [#/sec] (mean)
Time per request: 616.798 [ms] (mean)
Time per request: 616.798 [ms] (mean, across all concurrent requests)
Transfer rate: 62.93 [Kbytes/sec] received

秒間1.6リクエストしか捌けてない。こりゃ結構だね。。

まずはアプリレイヤーの小手先対応ということで、
キャッシュ系のプラグインでも導入しますかと。
といってもキャッシュ系って見えちゃいけないページが見えたりして怖いイメージあるけど。
まぁ順道制勝はどのユーザが見てもURLによって内容は変わらないし、
むしろキャッシュが効きまくるタイプでしょう、ということで。

が、導入してみると、これってwordpressデフォルトのpermlinkのURLだと使えないのね。
つまり、各記事のURLをgetパラメータを含む形(http://defenceless.org/wordpress/?p=***)じゃダメで、
http://defenceless.org/wordpress/archives/***っていうフォーマットにしないといけない。

ふーん、まぁ確かに最近ってみんなそうやってるよね。。SEO的にもいいんだっけか。内容とURLが一致してる感じが。
別に変えるのはいいんだけど、過去、世界中からリンクされたhttp://defenceless.org/wordpress/?p=***って形式の
リンクが不通になるのは嫌だな〜って思ってたら、wordpressがよしなにrewriteしてくれるらしい。ありがとう!

<Directory "/var/www/html/wordpress">
        Options FollowSymLinks
        AllowOverride All
</Directory>

としてhttpdをrestart。permlink設定も変えてWP Super Cacheを有効化。

bash-3.2$ ab -n 3 -c 1 http://defenceless.org/wordpress/
This is ApacheBench, Version 2.3 <$Revision: 1554214 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking defenceless.org (be patient)…..done

Server Software: Apache
Server Hostname: defenceless.org
Server Port: 80

Document Path: /wordpress/
Document Length: 41111 bytes

Concurrency Level: 1
Time taken for tests: 0.116 seconds
Complete requests: 3
Failed requests: 0
Total transferred: 124167 bytes
HTML transferred: 123333 bytes
Requests per second: 25.82 [#/sec] (mean)
Time per request: 38.725 [ms] (mean)
Time per request: 38.725 [ms] (mean, across all concurrent requests)
Transfer rate: 1043.73 [Kbytes/sec] received

一側面に過ぎないけど15倍くらい速くなった。
しばらくこれで様子を見てみますか。

Hemingwayのヘッダ画像編集でプチハマりした日

Hemingwayのテーマはご覧のとおりヘッダに画像を設定できるのだけど、
デフォルトじゃなくて自分の好みの画像に置き換えようとしたら下記のエラーが発生。

画像を処理できませんでした。もう一度お試しください

世界に聞いてみると、サーバにphp-gdがインストールされていないことが原因っぽい。

自分の場合php5.3なので

# yum install php53-gd
# /etc/init.d/httpd restart

してみると、無事ヘッダ画像が変更できるようになった〜。

ってことで三宅島行く途中にすれ違った豪華客船の写真にした。

Hemingway WordPress Theme

春だし、衣替え~!
ってことでブログのデザイン変えてみた。Hemingwayって名前のテーマなのだけど、Hemingwayってこういうのじゃなかったけ?違うバージョンなのかな?結構良さげなのを発見したので導入!一部CSSに納得いかない箇所(Linkの文字に下線が引かれない等)があるけど、まぁここら辺は全体の整合性を考えて後で微調整しよう。
これで順道制勝もレスポンシブウェブデザイン!スマホでも見やすくなった~。最近のアクセス解析見ると、ボルダリング系の日記は何故か突出してスマホからのアクセスの割合が多いのだよねえ。ボルダラーはモバイラー?

GitHub Gistを使ってみるテスト

今日たまたま発見したんだけど、GitHubが提供するgistっていうサービスが良い。
要するに、ちょっとしたコードスニペットを登録しておけるサービスなのだけど、言ってもGitHubなので、versionも管理できるし、他の人がforkしたりできる。(もちろんオリジナルの人にお知らせが飛ぶ。)あとgitのリモートレポジトリなので、普通にクライアントも使える。

あと、(個人的には一番これが嬉しいんだけど)ソースコードをブログにembedできる!

今までwordpressにソースコードを貼ろうとすると、syntax highlighter的なものを使わないといけなかったんだけど、大抵そういうプラグインってメチャ大量にcssとか読みにいくし、そもそもそのプラグイン一回でも使っちゃったらずーっとプラグイン指しっぱなしじゃないと行けないし。。そんな一生を友にするプラグインなんて選べないよ!ってことで、これは良い感じにアウトソースされてて良い。

DISQUS導入した日

ということだったので早速forestbump.net訪れてみると、DISQUS導入してあって今風〜!以前入れようとして放置してたのだけど、思い出させてもらって導入した〜。よそのブログにコメント書いた時って、その後のリプライ通知って普通は受け取れないし、どうしても忘れちゃうんだよねえ。ってことで。これで一元管理するぞお!皆さんもソーシャルアカウントでバシバシログインしてdefenceless.orgにコメントください。

追記:

あれ、DISQUS入れると過去のコメント(普通のwordpressへのコメント)って見れなくなっちゃうのかなぁ。そんなバカな。。。

追記の追記:

そんな、既存の枠組みの中に参入するプラグインなのに、imp/expする仕組みが提供されてないはずないよね!ってことで、import.disqus.comを発見。これで既存のコメントをDISQUSのコメントとして取り込めそう。

ブログ移転しました

といっても、ほんと内部的な話で、外からは何も変わっていないように見えると思いますが・・・。

この前、さくらVPSはじめましたってエントリー書きましたが、ひとまずブログを以前使ってたxrea.comからこちらへ移転。VPS始めたから移したってだけで、xrea.comも非常に満足のいくサービスを提供してくださいました。今までありがとうございました〜。※でもやっぱsshログインしたいっすわ。さらなる自由を求めて、ということで。
※2010/10/07 追記 すんません!xrea.comさん、普通にsshできました!僕が使ってないだけでした!笑

とりあえず引っ越しでやったことメモ。

1. 旧サーバからエクスポート
 1.1 wordpress 管理画面左部の「ツール」→「エクスポート」
 1.2 /wordpress/wp-contens/ 配下(plugins, themes など)をダウンロード

2. 新サーバへwordpressインストール

[shell]
[root@www6384u ~]# yum install httpd php php-mbstring php-mysql php-gd mysql-server
[root@www6384u ~]# chkconfig –level 345 httpd on
[root@www6384u ~]# chkconfig –level 345 mysqld on
[root@www6384u ~]# /etc/init.d/httpd start
[root@www6384u ~]# /etc/init.d/mysqld start
[root@www6384u ~]# mysql -u root -p
> create database ‘wordpressdb’ default character set utf8 collate utf8_general_ci;

[root@www6384u ~]# cd /var/www/html/
[root@www6384u ~]# wget http://ja.wordpress.org/wordpress-3.0.1-ja.tar.gz
[root@www6384u ~]# tar zxvf wordpress-3.0.1-ja.tar.gz
[root@www6384u ~]# chown -R apache:apache wordpress
[root@www6384u ~]# chmod +w wordpress
[/shell]

3.新サーバへのインポート
 3.1 wordpress 管理画面左部の「ツール」→「インポート」
 3.2 /wordpress/wp-contens/ 配下(plugins, themes など)へアップロード

4.wordpressの設定
 4.1 ブラウザから/wordpress/wp-admin/install.php へアクセスし各種設定入力

こんな感じでしたかね。
というか、いっつも思うんですが、プログラムコードをブログに載せるときはSyntaxHighlighter Evolvedにお世話になってますが、いわゆる.bash_history的なものとかってどうのせたら良いんですかね・・・。rootのプロンプトでコメントアウトされちゃうし。

まったく関係無いけど、最近聴いてる。
来年2月に来日らしいっすよ!