アカウント名:
パスワード:
WordPressは初期インストール状態だと脆弱でインストール後に設定を変更する手順が必要ってこと?だとしたらそこを改善すべきような
・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移行は支援プラグインなどがあり、まず問題は起きません)とかですかね。
一番手っ取り早いのはApache/nginxへの登録時に一緒にBASIC認証を入れるとかじゃないかな
# WordPressユーザがそんなことできるのかは知らん
いや何らかのアクセス制限を行うとLet's EncryptのHTTP-01認証のアクセスも通らなくなるので、証明書を取れなくなってしまうというのっがミソ
/.well-known/acme-challenge/ だけオープンしとけば通るのでは
WordPressは何かと狙われやすいので割と初期から管理系があるwp-adminにはBASIC認証とIP制限かけてDBのID/Passとかが書かれているwp-config.phpは初期設定のディレクトリの親ディレクトリに入れるってのは、結構前からWordPressの入門系サイトにもよく書かれている内容ですので理解せずとも猿真似で出来るユーザーはいるかと・・・
※その程度を理解できないユーザーがサーバを公開することについては別な問題と言うことで
なにはともあれ、まずWebサーバーへアクセスできるマシンやIPアドレスを限定すべきでしょう。その後の設定とか準備したあとに公開していい状態になるわけで、初期状態で最初から全世界に公開しておくっておかしすぎて理解できない。ひょっとしてWeb界隈では手順として普通なのか?
Let's Encryptのドメイン所有者確認(HTTPチャレンジ)では、Let's Encrypt側から指示されたファイルをWebサーバに置く必要があるので、IPアドレス制限なりBASIC認証なりをかける場合は、そのファイル置き場所は誰でもアクセス可能にする、という一手間が発生します。
DNSチャレンジならWebサーバ非公開でも問題ありませんが、HTTPチャレンジよりもはるかに設定が面倒。
まあ、結局のところ、問題の起きない正しい方法はありますが、それなりに手間が入り組んでるので、初心者でも簡単に設定できるとサイト管理の心得がない人が手を出して穴を開けてる、ってことでしょうね。
オレオレ証明書ってクライアント側の判断用でクライアント側がOKならアクセスできるのでは?クライアント側を制限するときは、オレオレ個人証明書でないの?
オレオレ証明書ならCT公開ログに記録されることが無いので、CT公開ログを監視しているだけの攻撃者には気付かれることが無い、というだけのことでしょ
もちろん理想的には Wordpress の設定完了まではアクセス可能なクライアントを制限するべきだけど、CT公開ログから検知されるのを防ぐだけならこの方法でできる。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
弘法筆を選ばず、アレゲはキーボードを選ぶ -- アレゲ研究家
よくわからん (スコア:0)
WordPressは初期インストール状態だと脆弱でインストール後に設定を変更する手順が必要ってこと?
だとしたらそこを改善すべきような
Re:よくわからん (スコア:5, 参考になる)
・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移行は支援プラグインなどがあり、まず問題は起きません)
とかですかね。
Re: (スコア:0)
一番手っ取り早いのはApache/nginxへの登録時に一緒にBASIC認証を入れるとかじゃないかな
# WordPressユーザがそんなことできるのかは知らん
Re:よくわからん (スコア:1)
いや何らかのアクセス制限を行うとLet's EncryptのHTTP-01認証のアクセスも通らなくなるので、証明書を取れなくなってしまうというのっがミソ
Re: (スコア:0)
/.well-known/acme-challenge/ だけオープンしとけば通るのでは
Re: (スコア:0)
WordPressは何かと狙われやすいので割と初期から管理系があるwp-adminにはBASIC認証とIP制限かけて
DBのID/Passとかが書かれているwp-config.phpは初期設定のディレクトリの親ディレクトリに入れるってのは、結構前からWordPressの入門系サイトにもよく書かれている内容ですので
理解せずとも猿真似で出来るユーザーはいるかと・・・
※その程度を理解できないユーザーがサーバを公開することについては別な問題と言うことで
Re: (スコア:0)
なにはともあれ、まずWebサーバーへアクセスできるマシンやIPアドレスを限定すべきでしょう。
その後の設定とか準備したあとに公開していい状態になるわけで、初期状態で最初から全世界に公開しておくっておかしすぎて理解できない。
ひょっとしてWeb界隈では手順として普通なのか?
Re:よくわからん (スコア:2)
Let's Encryptのドメイン所有者確認(HTTPチャレンジ)では、
Let's Encrypt側から指示されたファイルをWebサーバに置く必要があるので、
IPアドレス制限なりBASIC認証なりをかける場合は、
そのファイル置き場所は誰でもアクセス可能にする、という一手間が発生します。
DNSチャレンジならWebサーバ非公開でも問題ありませんが、HTTPチャレンジよりもはるかに設定が面倒。
まあ、結局のところ、問題の起きない正しい方法はありますが、それなりに手間が入り組んでるので、
初心者でも簡単に設定できるとサイト管理の心得がない人が手を出して
穴を開けてる、ってことでしょうね。
Re: (スコア:0)
オレオレ証明書ってクライアント側の判断用でクライアント側がOKならアクセスできるのでは?
クライアント側を制限するときは、オレオレ個人証明書でないの?
Re: (スコア:0)
オレオレ証明書ならCT公開ログに記録されることが無いので、CT公開ログを監視しているだけの攻撃者には気付かれることが無い、というだけのことでしょ
もちろん理想的には Wordpress の設定完了まではアクセス可能なクライアントを制限するべきだけど、CT公開ログから検知されるのを防ぐだけならこの方法でできる。