See the entire conversation

Let's EncryptなどでSSL証明書取得を行うとCT(Certificate Transparency)を監視している悪意ある第三者が即座にアクセスしてきて初期インストール状態のWordPressにバックドアを仕掛ける手口が横行。あー、ジレンマだ。 / “WordPress sites getting hacked ‘within seconds…”
WordPress sites getting hacked ‘within seconds’ of TLS certificates being issued
Attackers pounce before site owners can activate the installation wizard
portswigger.net
14 replies and sub-replies as of May 13 2022

* WordPressのセットアップはドメインとHTTPSをきちんと設定した上でやりたい * HTTP-01 チャレンジで証明書取得するためにアクセスは全許可しないといけない * 新規立ち上げのドメインだから第三者がすぐにはアクセスしてこないだろう このあたりの複合要因で乗っ取られてる予感
Let's Encryptは /.well-known/acme-challenge/ 配下にアクセスしてくるので、それ以外のパスはアクセス制限をかけるべしなんだけど、WordPressの場合/index.phpにアクセスを吸われる設定が .htaccess や nginx されてることが多いのがまた悩ましいな。ちゃんとケアが必要だ。
DNS-01 チャレンジで証明書取得するならHTTP/HTTPS全体をアクセス制限できるけど、すべてのDNSサービスでDNS-01 チャレンジの自動更新ができるわけじゃないからねぇ。
とりあえずWordPress管理者の皆さんは元記事で報告のあった /wp-includes/.query.php などの怪しいファイルが設置されていないか確認してくれよな!
WordPressは途中でドメインの変更がしづらい(本来はhome_urlとsite_urlを差し替えればいいのだが、コンテンツにドメインが紛れ込んでしまう場合がある)のがさらに問題をややこしくしている。
ちなみにLet's Encryptのフォーラムでは、証明書取得から1分で/wp-include/.query.phpが生成された(statで生成日時を確認済)との報告もあったので、速攻でやられる可能性があります。
Let's EncryptのHTTP-01チャレンジのアクセス元IPアドレスは下記FAQにもあるとおり随時変わる可能性があるため、IPアドレスでの許可設定は難しいです。
よくある質問 (FAQ)
よくある質問 (FAQ) は、以下の2つのセクションに分類されています。 一般的な質問 技術的な質問 一般的な質問 Let’s Encrypt はどのようなサービスを提供しているのですか? Let’s Encrypt は世界的な認証局 (Certificate Authority; CA) です。私たちの目的は、世界中の人々と組織が SSL/TLS 証明書を取得・更新・管理できるようにすることです。私たちの証明書は、ウェブサイトなどで HTTPS コネクションをセキュアにするために利用できます。 Let’s Encrypt はドメイン検証 (Domain Validation; DV) 型の証明書です。主に Organization Validation (OV) や Extended Validation (EV) は提供しません。このような種類の証明書の発行は自動化することができないからです。 Let’s Encrypt を使い始めるには、はじめるのページを読んでください。 Let’s Encrypt を使用するためにかかる費用はいくらですか? 本当に無料なのですか? 私たちは、証明書の発行に費用は請求しません。Let’s Encrypt は非営利団体であり、私たちのミッションは、HTTPS の利用を広めることで、よりセキュアでプライバシーを尊重するウェブを作ることだからです。私たちのサービスは、無料で提供され、HTTPS をデプロイできるすべてのウェブサイトで簡単に利用できます。 私たちがサービスを世界中に提供し続けるためには、たくさんのスポンサー・助成金・個人からの支援が必要です。もしあなたが支援に興味を持ってくれたのなら、ぜひとも寄付を行うことやスポンサーになることを検討してください。よろしくお願いします。 ホスティング・プロバイダなどのサービスを利用している場合、場合によっては、Let’s Encrypt の証明書の提供にかかる管理コストが利用料金に含まれることがあります。 どんなサポートが受けられますか? Let’s Encrypt は少人数のチームで運営されており、コストを削減するために自動化に頼っています。このような背景があるため、利用者に対して直接的なサポートを提供することはできません。しかし、以下のような優れたサポートオプションを提供します。 私たちは非常に役に立つドキュメントを提供します。 私たちには非常に活発で助け合いのあるコミュニティ・サポート・フォーラムがあります。私たちのコミュニティのメンバーはたくさんの質問に答えてくれており、よくある質問の大部分にはすでに回答が存在しています。 こちらは私たちのお気に入りのビデオです。コミュニティ・サポートの素晴らしい力について話されています。 Let’s Encrypt を使用しているウェブサイトが、フィッシング/マルウェア/詐欺などに使われてしまっています。何をすればよいでしょうか? そのようなサイトは、Google Safe Browsing や Microsoft Smart Screen プログラムに報告することをおすすめしています。ユーザーをより効果的に守ることができるからです。Google の報告用 URL はこちらです。
letsencrypt.org
certbotでのSSL証明書取得から最短2分でアクセスがきたそうで。わいわい。
/ にWordPress展開して、この状態でほかってあるけど 16:15 GMTにcertbot回してから 最短2分で嗅ぎ付けてきて / へのアクセスがあった が、それ以降おもしろいことは特に起きていない
隙間を狙った攻撃なのね
マジですね!
回避策としては ①独自発行した証明書をサーバーと自分のPCにインストールしておく ②自分のIPアドレスでしか見れない状態でWordPressをインストール&初期設定 ③全体公開に戻してLet's encriptの証明書取得 この順番が最も安全ですかね。
そうですね。第三者が初期セットアップにアクセスできる状況(ノーガードのタイミング)が一瞬でも発生しないようにすれば今回の件は防げると思います。