パスワードを忘れた? アカウント作成
14166985 journal
日記

vbsnbkの日記: 続・WPサイト改ざん 2

日記 by vbsnbk

前回の件、最終的にACさんよりコメント頂いた「SiteGuard WP」プラグインの導入で取りあえずの対策を取ったんですが、wp-cron.phpにアクセス出来ないってメッセージが出たので、解決のためにレンタルサーバのコンパネから情報収集。
そこから参照出来るhttpdの再起動ログを見てて「suEXEC」の文字があるのに気付く。

あー……suEXEC+fastCGIなPHPで実装してるのか!!すっかりその可能性を失念してたわ。
レンタルサーバのコンパネ上でさっくりPHPのバージョン切り替えられるのも、FastCGIのラッパー書き換えてるからか。
ユーザーレベルでphp.ini設定出来たりもそういう仕組みね。やっとすっきりしましたわ。
#個人的にはそういう場合はSELinuxやAppArmorみたいなMAC(Mandatory access control)系の仕組みを有効に出来るようにして欲しいんだが、色々難しいんだろうなあ。

しかしここのサイトの管理委託されたのが8年前ぐらいで、その時にはそういう仕様だって話はなかったはずなんですが……。
8年の間に大規模なメンテナンスが2度ほど実施されていたはずなので、そのどちらかで仕様が変わったのか?
サイト管理を依頼されても自分で契約したわけではないので、サーバ業者から契約者に来る情報が全てこっちに来ているとは限らないのが悩ましいなあ。
php.iniを設定出来るって事は関数レベルでdisable_functionも出来るから、気休め程度に幾つかexec系を利用不可にしておくかなあ……。

14166507 journal
日記

vbsnbkの日記: 私が古いのか……?(WPサイト改ざん) 2

日記 by vbsnbk

某レンタルサーバで運用している顧客のWordPressサイトがWEBページ内に別サーバ上のJavaScriptコードを埋め込まれるタイプ(あるタイミングまでは空のコードを返してて、何かのタイミングで突然詐欺サイトにリダイレクト掛ける)の乗っ取りくらいまして、週末はその復旧に掛かりきりでした。

恐らくDuplicatorプラグインの脆弱性抜かれた(直近でセキュリティ的に問題があったのが判って要るプラグインがそれしかないし、プルートフォースも攻撃の痕跡は毎日あるがパスワード強度的には十分なものを設定していた)のですが、情報受けて更新掛けたのが修正版のリリースがあった2-3日後のはずだったのよね……。

取りあえずWordPressのページの代わりに、適当にhogehoge_index.htmlみたいな名前の「メンテナンス中」表示の静的HTMLページをアップして、.htaccessでindex指定して暫定対処。

サイトのバックアップ自体も、週次のものはDuplicatorプラグイン使って取ってたので書き戻すにはリスクが高く、念のために3ヶ月前のdumpから一度リカバリ掛けて、XMLエクスポートでコンテンツだけ取りだした上で、別の検証用サイトに一度アップして、データベース内までチェック可能な某セキュリティプラグインで「3ヶ月前のバックアップが既に汚染されてないか」を確認。件のサイトは3ヶ月に1度ぐらいの更新しかしてないので、幸いコンテンツ自体に抜けはなくて済みそう。
一度件のサイト上のWordPressファイル群とバックエンドDBを完全削除して、新規にWordPressの最新5.4を入れ直し……ん?

ちょ、さっきアップした「メンテナンス中」の静的HTMLのタイムスタンプが変わってるよ!?なんでWordPressと無関係なHTMLファイル、パーミッションも604にしといたはずが、いつの間にか777にされてる!?は?

某業者のサポートとやり取りした結論から申せば、そのレンタルサーバがhttpdをユーザー権限で動かしているらしい。FreeBSDだからjailでprisner毎にIP振ってやってるのかな。
しかしこういう仕様だと、パーミッションの意味がないからちょっと怖いぞ?

最近のレンタルサーバ業者は「WordPress簡単インストール」がほぼ標準機能だったりするので、バージョンアップのときなんかどうすんのかなあ、と思ってましたが、もしかしてこういう仕様が標準だったりする?
古い話だが、
https://webshufu.com/wordpress-krad-xin-hacked-many-japanese-sites/
の利用者に頼まれて復旧の後始末やらされた経験がある身としては、パーミッション設定を信用出来なくなるのは生理的に嫌なんだけどなあ。
最近のレンタルサーバ業者の設定ってみんなこうなのか?

あ、件のサイトは、取りあえずテーマとプラグイン含めて全て削除し、完全再インストールした上でデータ書き戻した上で、セキュリティ系プラグインてんこ盛りで取りあえず運用する事に。
ただ「ローカル権限でコマンド実行」が可能な脆弱性がどこかにあった時点でサイト丸ごと改ざん確定で詰み、というのは正直心臓に悪すぎるので、これだったらVPSでサイト立てて自分で適切に管理した方がいいような気がするな。

13772349 journal
日記

vbsnbkの日記: VMWareのBLACK FRIDAY

日記 by vbsnbk

厳密には本日のみの「BF直前セール」とのことだが、どうしても仕事で必須なVMWare WorkstationPro15のアップグレードが40%オフ(新規ライセンスは45%オフ)というプロモメールが来ていたので購入。
開発・検証向けの業務利用で大量(今扱ってる仮想マシンの数を数えてみたら46個あった)のVM、かつOSもばらばらなものを同時に起動して仮想ネットワーク経由で連動させたりする場合、どうしてもVirtualBoxでは性能と使い勝手に難がある(機能的には十分なんですけどね)。

Docker for Windows等のコンテナベースの仮想環境も嫌いではないというより現在絶賛利用中なのですが、Linuxの管理ツールベースでWindowsクライアントを管理する環境の検証、とかやってるので、やはりVM方式じゃないと……という感じですな。

13503132 journal
日記

vbsnbkの日記: 脆弱性??

日記 by vbsnbk

#ここに書くのは何年ぶりだろうか……。
恐らくここで書かれてる件だと思うんだけど、さっきITMediaの方で記事になってたのでチェック。
……デフォルト設定からパスワード変更してないってのはまあありがちな問題だが、結局は運用上の問題であってさも脆弱性でもあるかのように煽るのは感心しませんな。

809198 journal
日記

vbsnbkの日記: PEAR XML_RPC2で大はまり中

日記 by vbsnbk

知り合いから頼まれたPHP製のWEBシステムをTrac連携する部分の改造で2日ばかりハマり中。
連携のインターフェースはXMLRPCで、PHP側はPEAR::XML_RPC2。

各種情報取得系は問題なく動くんだけど、チケットを登録するticket.createメソッドを呼び出そうとすると
XML_RPC2_Exceptionを吐き出しやがるのです。Messageは……
"Backend T does not exist"
だとぉ!?

backendを明示的に指定していないのが悪いのか、あるいはphp-xmlrpcを入れてないのかと思ったけどどうもそうではなさそう。そもそもXML_RPC2は指定してなければ自動でバックエンドを選択してくれるはずだしな。

で、ソースを追っていったらこの例外を出すコードはXML_RPC2_Backend::setBackend()なんだけど、これがXML_RPC2_Client::create()の時だけでなくTracのticket.createメソッド呼び出し時にも呼ばれてて、この2回目が問題起こしてる模様。

これ、
        $client = XML_RPC2_Client::create($xmlrpc_url, array('encoding' => 'utf-8', 'prefix' => 'ticket.', 'backend'=>'XMLRPCext'));

$return=client->create($summary, $description,$attr);

が同名だから、XMLRPC側のAPIを呼ぼうとしてXML_RPC2_Client::createを呼んでるって事!?

この場合どうしたら良いんだ……orz

212026 journal

vbsnbkの日記: すとりーとびゅー

日記 by vbsnbk
 某知り合いから「vbsnbk、おまえ某所のGoogleStreetViewに写ってたぞ」と
言われ、見てみる。
わはははは、ばっちりそれらしきバイクが写ってました(苦笑)。
そこでちょっとした待ち合わせをしていたのは昨年の今頃で、
「なんか変なもの付けたプリウスが通ってきたな……」と思ってたら案の定(苦笑)。
撮られたあと3ヶ月ぐらい付近のGoogleMapsを時々見ては「まだ写ってない」「まだかな……」
とwktkしてたんですけどね-。忘れた頃に何とやら、ですな。
ちなみに私の行動圏の市街地はほとんど網羅済みでした。自宅付近は……建物に外壁塗り直しの足場が
組まれた状態でしたので、08年末から09年の3月頃に撮影されたらしい。見たところプライバシー関連
の処理は問題なさそうで、ナンバープレートや表札系にはかなり細かくぼかし入ってました。
211811 journal

vbsnbkの日記: ServersMan@VPS

日記 by vbsnbk
 表のストーリーにも上がっていたServersMan@VPSの開通通知が来たので早速色々やってみる。
  • Apache2を止めてlighttpdにしたらfreeが153392程度に。
  • しかし肝心のServersManのコンパネがApacheのAliasを使っているので、取りあえずごっそりmod_XXを殺してport:10080辺りで動かしておく。ServersManは一度立ち上げたら動かしっぱなしなので、初期設定さえ終わればhttpd殺しても問題は無いと思いますが。
  • MySQLは使わん。SQLiteで十分。というよりWEBサービスはあんまりここでは使わないので……
  • ServersManをモバイルで使おうと思ったら……なに、SmartQ5の電源が立ち上がらないだと!?(泣)
203005 journal

vbsnbkの日記: これはひどい 2

日記 by vbsnbk
ええと、/.Jの日記に書かなくなって数年なんですが、ほぼ引退したとはいえセキュリティ業界の
隅っこに居た人間として一言http://srad.jp/security/article.pl?sid=10/03/18/0139211/言わせてくれ。

……こんなんタレコまれた段階ではじけよ!!(悲鳴)
VB100だのAV-Comparative.orgだって特定の種類のマルウェア検体群に対する「個別評価」での優劣はともかく、
「総合評価」のランク付けはかなり恣意性が高くなってくるんで鵜呑みには出来ないというのに、
素人の評価を記事にそのまま流すとは……唖然呆然。
typodupeerror

長期的な見通しやビジョンはあえて持たないようにしてる -- Linus Torvalds

読み込み中...