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

サーバ証明書の発行を検知、初期状態のWordPressに侵入する手口が横行」記事へのコメント

  • by Anonymous Coward

    WordPressは初期インストール状態だと脆弱でインストール後に設定を変更する手順が必要ってこと?
    だとしたらそこを改善すべきような

    • Re:よくわからん (スコア:5, 参考になる)

      by taka2 (14791) on 2022年05月19日 14時44分 (#4251969) ホームページ 日記

      ・WordPressを設定するためには、公開URLを確定する必要がある(virtualHostなどで複数のURLからアクセス可能な状況でも、設定と違うURLからアクセスすると怒られる。httpとhttpsも区別される)ので、httpsで公開するサイトを作るためには、WordPressを設定する前に、証明書の設定が必要

      ・WordPressの初期状態でアクセスすると「DB設定やパスワード登録などを行う初期設定画面」が出るので、その段階でアクセスできれば誰にでも好き勝手できる(推測ですが、攻撃者は、パスワード登録して利用開始→不正ファイルアップロード→設定クリアして初期状態に戻す、という対応をしてるんじゃないでしょうか)

      という鶏と卵状態ですね。
      設定の簡便さのために「インストール後の最初のアクセスでパスワードを登録する」のは、WordPressに限らずよく見かける初期状態ですが、
      従来は、そんな状態のURLが外部に漏れることもないし攻撃されることないだろう、と高をくくっていたのが
      CTにより、その段階のサイトを素早く見つけることができてしまう、と…

      対策としては、
      案1・まずオレオレ証明書を入れ、WordPressの設定を済ませてから、Let's Encryptの証明書取得に切り替える
      案2・http設定でWordPressの設定を済ませてから、Let's Encryptの証明書取得し、https設定に切り替える(tweetにドメインの変更はトラブルの元とありますが、同名ドメインでのhttp→https移行は支援プラグインなどがあり、まず問題は起きません)
      とかですかね。

      • by Anonymous Coward

        一番手っ取り早いのはApache/nginxへの登録時に一緒にBASIC認証を入れるとかじゃないかな

        # WordPressユーザがそんなことできるのかは知らん

        • by Anonymous Coward on 2022年05月20日 1時31分 (#4252346)

          いや何らかのアクセス制限を行うとLet's EncryptのHTTP-01認証のアクセスも通らなくなるので、証明書を取れなくなってしまうというのっがミソ

          • by Anonymous Coward

            /.well-known/acme-challenge/ だけオープンしとけば通るのでは

        • by Anonymous Coward

          WordPressは何かと狙われやすいので割と初期から管理系があるwp-adminにはBASIC認証とIP制限かけて
          DBのID/Passとかが書かれているwp-config.phpは初期設定のディレクトリの親ディレクトリに入れるってのは、結構前からWordPressの入門系サイトにもよく書かれている内容ですので
          理解せずとも猿真似で出来るユーザーはいるかと・・・

          ※その程度を理解できないユーザーがサーバを公開することについては別な問題と言うことで

      • by Anonymous Coward

        なにはともあれ、まずWebサーバーへアクセスできるマシンやIPアドレスを限定すべきでしょう。
        その後の設定とか準備したあとに公開していい状態になるわけで、初期状態で最初から全世界に公開しておくっておかしすぎて理解できない。
        ひょっとしてWeb界隈では手順として普通なのか?

        • Let's Encryptのドメイン所有者確認(HTTPチャレンジ)では、
          Let's Encrypt側から指示されたファイルをWebサーバに置く必要があるので、
          IPアドレス制限なりBASIC認証なりをかける場合は、
          そのファイル置き場所は誰でもアクセス可能にする、という一手間が発生します。

          DNSチャレンジならWebサーバ非公開でも問題ありませんが、HTTPチャレンジよりもはるかに設定が面倒。

          まあ、結局のところ、問題の起きない正しい方法はありますが、それなりに手間が入り組んでるので、
          初心者でも簡単に設定できるとサイト管理の心得がない人が手を出して
          穴を開けてる、ってことでしょうね。

      • by Anonymous Coward

        オレオレ証明書ってクライアント側の判断用でクライアント側がOKならアクセスできるのでは?
        クライアント側を制限するときは、オレオレ個人証明書でないの?

        • by Anonymous Coward

          オレオレ証明書ならCT公開ログに記録されることが無いので、CT公開ログを監視しているだけの攻撃者には気付かれることが無い、というだけのことでしょ

          もちろん理想的には Wordpress の設定完了まではアクセス可能なクライアントを制限するべきだけど、CT公開ログから検知されるのを防ぐだけならこの方法でできる。

皆さんもソースを読むときに、行と行の間を読むような気持ちで見てほしい -- あるハッカー

処理中...