カテゴリー
WordPress

本家のお世話-#76。(WordPress SSL ログイン-#3)

The same article in English

 「WordPress SSL ログイン-#2」の設定をしたときに,「define( ‘FORCE_SSL_ADMIN’, true );」は使わなかった。あの時点でのサーバ機は LaVie PC-LC5505D で,ちょっと過重かなと思ったからだ。

 今朝, Ajax Edit Comments Version 5.0.30.0 のアナウンスがあったのだが,その Changelog に

Fixing SSL error when FORCE_SSL_ADMIN is set to true. See trac ticket: http://buddypress.trac.wordpress.org/ticket/4761

というふうに書いてあった。そのせいで,「define( ‘FORCE_SSL_ADMIN’, true );」を使っていなかったことを思い出した。ちかごろ世上を賑わしたセキュリティ関係のゴタゴタもあるし,ちょっと触っとくかと……

 で, wp-config.php を開けて,「define( ‘FORCE_SSL_LOGIN’, true );」行をコメントアウトし,その下に,「define( ‘FORCE_SSL_ADMIN’, true );」行を追加した。

 この後で,管理画面にアクセスしたら,証明書を要求されるようになった。動きもそんなに遅くなったようにも思えないが,読みに来る方の体感はどうだろうか。

 phpMyAdmin も 4.0.6 になっていたので,ついでにそれもやっておいた。

カテゴリー
Linux

起きてびっくり,サイト改竄? at よそ様-続々々々報。

投稿アップデート情報  追記

 完全に,後出しの話になる(爆)。ところで,踊り字3つだよーっ(汗)。

 実は,「起きてびっくり,サイト改竄? at よそ様-続々報。」のときに, Apache のドキュメントを読みに行って,何のことだろうと思っていた記述があった。それは,「このオプションを省略したからといってセキュリティの強化にはなりません。 なぜなら symlink の検査はレースコンディションを引き起こす可能性があり、 そのため回避可能になるからです。」というものだ。その時点では,そのことについて,触れているところを見つけられなかった。

 ところが,今晩,2つも見つけてしまった。やはり, Symlink Attacks に関連のあることだったようだ。
 見つけたのは,次の2つ。一つは WikiPedia で「 Symlink race 」の説明のところ,もう一つは,「 Apache HTTPD: `Options -FollowSymLinks` は不完全」というページ。

 特に,2つ目は,今回の事件を踏まえて書いていることなので,飲み込みやすい。要するに,
————————————————————————————————————————————————
「シンボリックリンク機能を持つ UNIX (リンク先の文中に,LINUX についても同等のことが可能である記述がある ― o6asan 追記) には 『ファイルがシンボリックリンクかどうかの判定』、 『ファイルまでのパスがシンボリックリンクかどうかの判定』、 『ファイルのオープン』を一度に処理する方法がない」
————————————————————————————————————————————————
ために,タイムラグが生じる。そのせいで隙が生まれ,悪用可能という話だ。この種類のことには,名前まである(「Time Of Check to Time Of Use」 = TOCTTOU)らしい。

 OSSTech の佐藤さんの書いた記事で,この間引用した徳丸さんの記事の話も,さくらインターネット社長の田中さんの記事の話も出てくる。

 実にわずかな時間の話だが,コンピュータは瞬時の生き物だからなあ。

 ここで,「TOCTTOU について具体的に解説していて参考になるページ」として挙げられている IPA の説明は,素人にはまるで手品のように思える不思議さである。

 今,徳丸さんのところに「ロリポップのサイト改ざん事件に学ぶシンボリックリンク攻撃の脅威と対策」を読みに行ったら,3日付の追記が増えていた。うーん,共用レンタルサーバだとそういうことになるんですか。

 田中さんのページ,「共用サーバにおけるSymlink Attacksによる攻撃とその対策について」には,今のところ,特に追記はないようだが, twitter では,佐藤さんとのつぶやきを閲覧可能である。いろいろと,使える対策を話し合ってる感じ。

追記:
 4日に書いたつもりが,公開の日付を見たら5日になっている。書いてる間に日が変わったようだ。まっ,いいけど。

 ところで関連でこんなのもあった。興味深いが,むずかしー。ユーザが一人しかいない,我が家では悩まなくていいようだけどネ。

カテゴリー
Windows

起きてびっくり,サイト改竄? at よそ様-続々々報。

 ウウウッ,こんなに続けるなら,初めから番号にしときゃよかったと,悔やむ表題。続々々報って,踊り字が何個になるんだよぉー。

 あれから, Symlink Attacks について調べてみた。つまり,ロリさんとこのクラックに使われたかもしれないって方法だよね。まぁ,いろいろ見つかる時代だね。いいというか,悪いというか,なんともはや表現に困る。

 ところで,
> LINUX を使ったときにシンボリックリンクとは便利なものだと思ったが,元来は UNIX 由来のものだろうと思う。
と書いたように,やはりシンボリックリンクというのは UNIX 由来のものだ。ということで, Symlink Attacks そのものも,ものすごく昔からあるようだ。 Symlink Attacks を google.co.jp で引用符付きで検索してみたら, 1997 年まではヒットした。引用符なしで内容的なものを調べてみるともっと昔からある。要するに,きちんと設定しないと狙われやすいところなわけだ。

 Apache の場合,ドキュメントルートの Options にはデフォルトで FollowSymLinks が入っているから,私のような素人の自鯖運営者でなければ,共有サーバの場合はこうしなきゃいけないよというのをちゃんと知っているだろうし,確立されていると思う。しかし,今回, “R.I.P lolipop” と名指しで攻撃されたということは,ロリさんところがそうなってなかったということなのだろう。大穴があいていたもので,個別の穴狙いでチョコチョコ出入りしていたクラッカーが,図に乗っちゃったということになるのか。

 TODOS でりりさんが「そういうプログラムが最期までできなかった」みたいなことを,相当,昔に書いていたから,そういう面で狙われやすい属性ができてしまっていたのかもしれないとも思う。

 シンボリックリンクについて, Windows の「ショートカット」のようなもんだという説明を,昔,されたことがあるが, LINUX を齧りだして使ってみた感じだとかなり違う。むしろ, Apache の「エイリアス」のほうが近い気がする。シンボリックリンクというのは,参照先のものを実体として使える。これは, Windows の「ショートカット」には無理だ。そのうえ,今回知ったわけだが,つけ方によっては,ファイルの性質さえ変えられるわけだ。バイナリをテキストとして参照するなんてのは論外だろうが, php を txt として見ることはできるわけだからね。

 まぁ,一般的には, WordPress 使いは,最新の環境を素早く安全に提供してくれるホスティングサービスを選ぶことを,念頭に置いておけばいいと思うよ。私の場合は,他人には提供してはいないが,自宅にサーバがある環境だから,一般的な場合より,いろいろ気にかけているだけの話だ。

 しかしねぇ,「最新の環境を素早く安全に提供してくれるホスティングサービスを選ぶことを,念頭に置いておけばいい」といっても,これが結構難しいのは確かだし,「安価」でというのが入ってくると,一層大変だよね。

 どの辺まで,自分で管理するのかは難しいところだけど,せめてすごく簡単なパスワードとか,更新されていない古いバージョンを,パッチあてなしで使うことは,やめようよ。そして,自分が新しいバージョンで行きたいと思っても,サーバのソフトを刷新してくれないホスティング会社を使っている場合は,乗り換えを考えたほうがいい。趣味で,乗っ取られても実害のないサイトなら,無理をしなくてもいいけど,小さくても,営業がらみだと,怪我の小さいうちに考えることをお勧めします。これ,ホント!!

カテゴリー
WordPress

起きてびっくり,サイト改竄? at よそ様-続々報。

 徳丸さんが関連記事(新規での投稿時刻は 9:48 のようである)を書いている。表題はそのものずばり。「ロリポップのサイト改ざん事件に学ぶシンボリックリンク攻撃の脅威と対策」。

 この中で,徳丸さんは hissy さんが,個人的な見解の中で, “symlink, mass deface” と書いておられたことの具体的手法だろうと,私が思ったことについて,詳しく書いてくださっている。

 しかし, WordPress を使う場合 mod_rewrite がいるから, FollowSymLinks は必須だ。ということは, 共有サーバの場合,ここを必ず SymLinksIfOwnerMatch にしておけばいいということなのか。うちの場合,ユーザは私ひとりなので,ドキュメントルートの Options はデフォルトのままで, AllowOverride のほうは,デフォルトの None から FileInfo Indexes Limit に変更してある。 .htaccess で使うためだ。

 LINUX を使ったときにシンボリックリンクとは便利なものだと思ったが,元来は UNIX 由来のものだろうと思う。メインフレームしか存在しなかったような時代においては,今のように不特定多数のしかも初心者に近いような人間がネット上で使用するようなことは想定外だったろうから,そのころのゆるさが残ってしまっているのだろう。

 なんちゅうか,自分の住んでいるところの郵便局と,西部劇の新開地の銀行を比べてみているのような気分になってきた。

 自鯖の環境を振り返ってみて,上記の件も大丈夫かなという気になってきたところである。ところで, WordPress をお使いの同好の士は,環境を最新に保つようにがんばりましょう。今回, timthumb.php の脆弱性が利用されたのであれば, timthumb.php を開発している方たちはがっくり来てると思うよ。「俺たちの努力は何だったんだ」って。まっ,何の分野でもよくある話だけどね,ありがたくないことに(爆)。

カテゴリー
WordPress

起きてびっくり,サイト改竄? at よそ様-続報。

 いろいろ,情報が出ているようだが,ロリさんからの詳細情報は,われわれが利用できるような意味では(具体的にどのファイルのどの脆弱性を使われたとか,サーバのどの穴を突かれたとか ― 望むほうが無理かいな),詳細には出ていないようだ。しかし,状況としては少し落ち着いてきたのだろうか。

 hissy さんが今時点(朝8:55ごろ)での見解をまとめられていて,参考になるのでリンクを貼っておく。これ。

 もし, timthumb.php が狙われたとすれば,脆弱情報を入手しての更新がいかに大切か,実感できると思う。私が, timthumb.php の脆弱性に触れたのは,調べてみたら 2011.08.05 のことだった。丸2年前には,アップデートが配布されているわけだから,この既知の脆弱性が残っていたとすれば,これが2年間手当てされていなかったことになる。ロリさんところのような形態のサーバでは,そういうユーザもかなりいるのかもしれない。しかし,これだけだとそのサイトだけ話になるから,他ソフトの脆弱性やサーバの不備を突かれて,これを踏み台に使える方法を見つけられてしまったということなのか。サーバの脆弱性を付かれたと言うことになれば,これはホスティングサービス側の責任が大きいだろう。フリーで気楽に使えるレンタルとなれば,『そういうユーザ』が多くなるのは止むを得ないから,ホスティング側がしっかりしないといけないわけだが,職場として考えたとき,そういう運営をする場合は,優れた技術者を集め最新のインフラを維持するようなコストはかけられないだろうな,と思ってしまう。
 必然的に,サーバ群のセキュリティが,低いまま残っていく,ということになるのかもしれない。

 ところで,うちの Apache の8月のログにも
  ”GET /~/cybercrime.php HTTP/1.1″
なるものが,21日分に残っている。しかし, Error AH00127: Cannot map GET が戻っているので,問題なかったのだろう。ちなみに, Apache のログから /cybercrime.phpが見つかったのは, 2011.4 から今まででこの日だけだった。

 /w00tw00t.at.ISC.SANS.DFind:) とか 0w131 とか phpMyAdmin がらみとかは,よく見かけるんだけどナ。

 そういえば,ほかに uploadify.php の脆弱性にも触れたことがある。このときは,これがらみで「PHP/WebShell.A.1[virus]」が送り込まれてきたようだった。関連の脆弱性がなかったせいか事なきを得たわけだが,なんによらず,素人の自鯖運営者としては,「この間書いたように『新しいものは,気づかれない大穴があるということもあるが,それ以上に古い既知の穴のほうが怖いよというのが,最近のスタンスと思われる。』という姿勢で行くしかないのかなぁ」と思った今回のロリさん達の事件であった。

カテゴリー
WordPress

起きてびっくり,サイト改竄? at よそ様。

投稿アップデート情報  追記

 昨朝,起きて WordPress の日本語ブログのダッシュボードに入って,びっくり。フォーラムのところに,なんと,「サイト改ざん?」の文字が乱舞している。

 いや,うちではないです。よそ様です。フォーラムに初投稿がされたのは一昨日のようだが,一昨日は,芋虫くんにかまけていて,気づかなかった。まぁ,昼からは,いろいろリアルも忙しかったし。

 昨日も昨日で,朝あらかた読んで,ひとまずうちには影響がなさそうなので,予定通りでかけてしまった。(汗)

 しかしねぇ,テストサイトに使っている atpages から,一昨日こういう連絡が来たばかりだったし,
 【@PAGES】【お詫び】ユーザ情報流失に関するお知らせ 2013.08.28
さらに昨日はこれが来たので,
 【@PAGES】【お詫び】ユーザ情報流出に関するお知らせ【第2報】2013.08.29
いずこも同じようなことがあるのかなと思ったわけだ。上記の事件と同じようなといわれたら, atpages は心外かもしれないが……幸いにして,狙われなかっただけ,という気もする。
 今のところ,「ロリポップサーバーでサイト改ざんハッキング被害に遭った方への情報」から跳べる「ロリポップサイト改ざん関連情報 (2013年8月)」を読んでも,はっきりとした原因はわからないわけだが,いろんなことで似たり寄ったりかなと思う。(爆)

 「Hacked by Krad Xin」でググると,表題にこの文字列が入ったものすごい数のサイトが現れる。上記の事件の発端が一昨日だから,事件関連の記事も多いわけだが,それを除いても(年月日設定を去年1年とかしても,ということ),すごい数だ。これって,要するにスクリプトを仕組まれているんじゃないのか?

 フォーラムの話の中に,
> 一般設定のサイトタイトルがHacked by Krad Xinとなっていたのを元のサイト名に戻しました
てのがあるからねぇ。

 今回のクラックはある意味,性がいいかも知れないとか思った。だってね,一番初めに投稿した方が書いているように,クラックされたサイトで文字化けがあったわけだ。そうすると,変だなぁって,気づくよね。「深く静かに潜航」するほうが,たちが悪い。ダメージが一緒なら,早く気づけるほうが手当ても早いわけだから,不幸中の幸いだよ。「Hacked by Krad Xin」でググったときに出てくるサイトのほとんどは,気づいてないのではなかろうか。

 まぁ,「ロリポップ」では,昨年から, WAF が標準装備って謳っていたみたいだけど,あんまり役立てられていなかったようだね。徳丸さんが,「ロリポップ上のWordPressをWAFで防御する方法 」を書いているので(去年の記事を,昨日の時点でタイトル変更,追記までしている),「ロリポップ」を使っている人は,今回の手当が済んだ後は,よく読んで取り組んだほうがいいと思う。

 レンタルサーバだと,導入されていない WAF は使いようがないだろうけど, WordPress 使いとして,せめて出来ることはやっておこう。前にも書いたけど,こんなとこが参考になると思う。

  1. WordPress のセキュリティ、こんな記事は要注意
  2. WordPress使いならこれだけはやっておきたい本当のセキュリティ対策10項目
  3. Re: WordPress使いならこれだけはやっておきたい本当のセキュリティ対策10項目

 セキュリティ関係はナマモノとはいうものの,上げられてる10個のうちの半分は, WordPress に限る話ではない。 up-to-date とか,パスワード強度とか,ユーザの啓蒙とか。最後のものなんて管理者だったら,一番苦労するとこ。

 しかし,管理者になっている方は,レベルの違いはあれ,日々勉強と縁が切れないってことだ。お互いに,ガンバ!!

追記:
 読み直してみて, wp-config.php や .htaccess のパーミッションの話を全く書いていないのに気付いた。今どき,あの環境で 404 , 604 は当たり前だろうとか思っていたせいで,書き忘れたのかな。結局, wp-config.php については, 400 ってことになったようだ。
 LINUX に詳しくないので,この辺がよくわからないのだが,レンタルサーバで public_html 下のファイルのオーナーと サーバソフトウェアのオーナーが違う場合, 400 にしちまうと, wp-config.php をビジターが使えなくてエラーになりそうな気がするが,その辺,ロリはどうなってんのだろ。
 詳しい方がいらっしゃったら,よろしく。

 ところで,先日
「 Windows ファイアーウォールからのアラートを受容すると自動的にルールが構築される。しかし,これが甘々なのである。 今回の場合でも,デフォルトだと,すべての IP アドレス&ポート(それも, TCP だけでなく UDP まで)についてオープンしている状態になる。これじゃあんまりなので,”セキュリティが強化された Windows ファイアウォール” の機能を使って,もう少しきっちりと制限しておくべきだと思うのであった。」
と書いた件だが,ほかのパーソナルファイアーウォールを入れずに,”セキュリティが強化された Windows ファイアウォール”を使い続けている。この件で少し詳しい記事を書きたいと思っているが,今のところ,思っているだけ。
 一言愚痴っておくと,「スコープ」の細かい設定がしにくい。どなたか,その部分にデータをインポートするいい方法をご存じないですか。

カテゴリー
everyday life

秋ですねぇ。

The same article in English

秋ですねぇ。
秋ですねぇ。
 皆さんのところは,いかがでしたか,雨? 結構大変だったところもあるようなので心苦しいのですが,うちの辺は,ありがたいお湿りという感じでした。本当に梅雨明けからこっち,雨らしい雨が降らなくて,野菜なんかも青息吐息という感じでしたので。一昨日雨が上がってから,暑さが戻ってきましたが,どことなく違いますよね。秋ですねぇ。そんなわけで,8月についてちょっとグラフを作ってみました。ご覧ください,ナンチャッテ。

 ご存知と思いますが, AMeDAS(アメダス) のデータって気象庁のホームページに行けば,過去の分からずらっと利用可能なんです。もっとも,うちの町にあるのはちょっと弱小のアメダスなんで,湿度までは記録されてません。というわけで,湿度については,一番近い市のデータを使ったんですが,まあ,なるほどって感じのグラフになりました。

何の芋虫でしょうか?
何の芋虫でしょうか?
マルマル,つやつやです。
マルマル,つやつやです。
 ところで,今日,家庭菜園で写真の芋虫を見つけたのですが,何の芋虫でしょうかねぇ?今まで見たことないやつなんですが。感じからいうと,蛾のやつっぽいんです。マルマル,ツヤツヤです。斑点は前身部分に4対あって,これはくっきりしていました。ほかに,斑点に入れるべきかどうか悩むような感じの模様もありました。大きさは, 7cm – 8cm というところ。サルビア・グアラニチカについていて,これが食草なんじゃないかと思います。
 お分かりの方いらっしゃいましたら,お教えください。m(_”_)m
 
早速の追記:
 下のコメントで,FHさんに教えていただきました。コスズメの幼虫のようです。教えていただいた参考ページにもリンクしておきます。

 FHさん,ありがとうございました。

カテゴリー
Windows

本家のお世話-#75。(PHP5.5.3へアップデート)

The same article in English

 Aug-21 17:44:24UTC に PHP5.5.3 が出た。

 ChangeLog によれば, CVE-2013-4248 へのパッチの中にあった UMR(unInitialized Memory Read) を直したとある。ふーん。

 まっ,とにかく,我が家用 (Windows7HP+SP1(x86)) として,VC11 x86 Thread Safe 版の php-5.5.3-Win32-VC11-x86.zip を落としアップデート。 VC11 がいるので,インストールがまだの場合は PHP のコンフィグの前に vcredist_x__.exe を入れておく必要がある。

 php5apache2_4.dll はオフィシャルバイナリに含まれているので,新旧のファイルを入れ替えて php.ini を放り込み, Apache をrestartするだけ。

 新規に導入する方は,必要なら「Windows7上にWamp系WebServerを建てる-#2。」を参考にしてください。

カテゴリー
Windows

本家のお世話-#74。(PHP5.5.2へアップデート)

The same article in English

 Aug-16 02:13:06UTC に PHP5.5.2 が出たので,いつもの作業。我が家用 (Windows7HP+SP1(x86)) として,VC11 x86 Thread Safe 版の php-5.5.2-Win32-VC11-x86.zip を落としアップデート。 VC11 がいるので,インストールがまだの場合は PHP のコンフィグの前に vcredist_x__.exe を入れておく必要がある。

 ChangeLog によれば, CVE-2013-4248 へのパッチも入っている模様。

 新 php.ini-production には以下の変更があった。
   ”;extension=php_zip.dll” がなくなっている。
   mssql.compatability_mode = Off —> mssql.compatibility_mode = Off に誤字訂正。

 徳丸さんによれば,「【速報】PHP-5.5.2にて大垣さんのstrict sessionsが実装されました」ということらしい。確かに,phpinfo() によれば,session.use_strict_mode = Off が入っている。ただし,Windows 版のデフォルト php.ini-production には,この行は見当たらなかった。

 php5apache2_4.dll は入っているので,新旧のファイルを入れ替えて php.ini を放り込み, Apache をrestartするだけ。

 新規に導入する方は,必要なら「Windows7上にWamp系WebServerを建てる-#2。」を参考にしてください。

カテゴリー
WordPress

覚え書-#15。

The same article in English

 Windows 上で, mo ファイルから po を作る方法。

  1. Poedit をインストールする。
  2. cmd.exe を起動する。
    >cd (Poedit bin パス)
    >msgunfmt -o (po file) (mo file)   —> Command Line Help 参照。
  3. これで, po ファイルができる。ホッ。

 以下の3つのプラグインはかなり前から開発が止まっているので,使うのをやめた。Similar Posts と Post-Plugin Library については,作者に便りをしても返事がなくなってしまったし, Picbox については,作者がはっきり開発をやめるというアナウンスをしている。

  • Similar Posts
  • Post-Plugin Library
  • Picbox

 代わりに下記の2つを使うことにした。