WordCamp Kansai 2024 への参加で、三ノ宮に訪れてから2年ぶりに三ノ宮(JR)にきました。
今回は、元町にある コワーキングスペース DEP. が会場です。
せっかくなので3時間ほど早めにきて、北野天満神社や生田神社を観光してきました。その様子は、末尾に紹介しています。今回は、ログイン周りのセキュリティということでかなりの人数が参加されていました。

WordPress に関する説明(パブリッシングの民主化などなど)、そして自己紹介のあと、2つのセッションあり。
自己紹介で皆さんの参加理由がいろいろあって面白い
- クラウド認証を使えるようになってみたい
- 統合型セキュリティプラグインをどのようなものをつかっているのか
- 不正アクセスされた経験があるので、勉強したい
- ログイン系についてよくわからないので学びたい
- 台湾きた。日本語でどのように皆が WordPress を学んでいるのか知りたい。あるいは勉強したい。
- ブルートフォースアタックに関して、どの程度のパラメーター調整がよいのか知りたい
「ログイン周りのセキュリティ」について考える会
自己紹介の中で質疑応答
1. バックアップしたデータが大量にあるが、どこまで残すべきか
どこまで戻さないといけないのかが大事である。
2. 不正アクセスされたらどうしたらいいのか
不正アクセスのレベルによる。
WordPress のログインなのか、FTPのアクセスなのか、サーバーの管理画面へのログインなのか。FTPやサーバー管理画面のログインの場合には、何でもされているかもしれない。
3. シングルサインオンはどうしたらいいか
Login for Google Apps プラグイン(旧名 Google Apps Login)や Google Site Kids プラグインのオプションとして Google認証がある。
*Login for Google Appsの設定方法は、下記がわかりやすいと思います。
WordPress管理画面にGoogleアカウントでログインをできるようにする方法 |
https://weblabo.oscasierra.net/wordpress-google-apps-login/
そうした物を使う。さらにログイン画面にIPアドレス制限ができるなら、望ましい。
それが無理なら、自社ネットワークのみ IPアドレス制限をして、それ以外はBASIC認証でまずログインページを制限した上で、Google認証などをつかうとセキュリティがかなり高まる。
4. ゼロトラストセキュリティ - CloudFlare によるアクセス制限をする
#この記事をかいていて、聞き飛ばしてしまったのでこれかどうかはわからない。とりあえず関連しそうなデータをのせておく。
サイトや特定のURLに対して指定したIPアドレスを許可しそれ以外をブロックするゾーンロックダウン | Cloudflare(クラウドフレア)代理店 株式会社ドーモ Cloudflare導入実績 国内NO.1パートナー
https://cloudflare.domore.co.jp/knowledge/accessed-from-specified-ipaddress/
5. セキュリティプラグイン SiteGuard WP Plugin はどうですか
ブルートフォースでブロックする頻度が高すぎると、誰かのミスで困ることになる
6. 複雑な攻撃があったらどうするのか
国内IP制限をしていても、国内からの不正アクセスが最近増えているのではないか。
→とはいえ攻撃の母数を減らすことはできるで意味はある。ただし国内IP制限を個人でするのはIPアドレスの範囲を更新していくのが面倒すぎる。そこはレンタルサーバーなど利用するサーバー側でそうしたサービスを提供しているものを選択するほうがいいでしょう
*歓談タイムで、Xサーバーを使っている人がいるので、WAFを有効にするという手法も紹介しておいた
ログイン画面のセキュリティ
パスワードについては、15桁以上のパスワードを使ってほしい
パスワード15桁以上の根拠
*NIST・アメリカ国立標準技術研究所の新パスワードのガイドライン
参考:NIST の最新ガイドラインに見る「認証とパスワード」の新常識(cybertrust)
1. 入口を減らす
物理的な到達を拒否する
IP制限
最もシンプルで強力
https://www.myip.com/ などで自分のアクセスするIPアドレスを調べる。
ただし IPアドレスは動的であることに注意
#IPアドレスから利用しているネットワークのある程度の範囲を調べることも利便性は高い
国内なら、JPNICのIPアドレス調査が使える
https://www.nic.ad.jp/ja/whois/ja-gateway.html
BASIC認証
パスワードで制限する
admin-ajax.php を除外する必要があるなど、設定が複雑
こちらについては BASIC認証やサーバーへのログインができる技術者がやるべきところ。
/wp-admin と /wp-login.php の2つに制限を掛ける必要がある。
かつ /wp-admin/admin-ajax.php はBASIC認証対象外にする必要がある
こうした複雑なことが難しいなら、WAF(Web Application Firewall)という機能がサーバー上で用意されていると、ある程度ブラックリストIPアドレスをブロックしたり、不正はURLアクセスなどをブロックしてくれる可能性が高い。ただし場合によっては WordPress の編集を阻害して保存できなくなる可能性がある。 WAFを使うなら、WAFをオンにして WordPress 上で編集して保存できるか確認する必要がある。
URLを変えてログインを守る(非推奨)
プラグインで変更すると、URLを忘れると、どうしていいかわからない状態になる可能性がある。.htaccess を書き換えるタイプだと、それをもとに戻す知識が必要。そうでなく別PHPファイルで操作するのなら、そこがセキュリティ脆弱性につながる問題もある。
.htaccess は Apache というWebサーバーシステムを使っている限定となる。
nginx だと使えない点に注意
xmlrpc.php 廃止
これを通じて他のアプリから WordPress を制御するツール。以前は設定で無効化できたら、現在はできなくなっている。
Disable XML RPC などのプラグインで止めるほうが簡単。
*もちろん、サイト構成でこの機能を使っている場合には注意
2. 突破を難しくする
2段階認証を使ってみる。
Two-Factor プラグインの場合
ワンタイムパスワードをメールで送信する、認証システムアプリ、パスキー、バックアップコード等
WordPress の管理画面にある
ユーザー > ***ユーザー > プロフィール
でいろいろ設定できる。
もし2段階認証のコード入手方法を失ったら、サーバーへFTP接続できるなら、two-factor プラグインをなくしてしまう(名前変更すると無効になる)。ということをする最終手段はある。
機械的な攻撃を無効化する
ログインに関する総当たり攻撃を防ぐ。
大量のログイン試行を制限することで、サーバーの負荷を減らし、不正アクセスを減らすことができる。
3. 被害を小さくする
侵入されても、適切な権限設定をしておくことで被害を少なくする。
たとえば最高権限である「管理者」だと何でも出来てしまうが、「編集者」権限だとユーザーを追加させることはない。
4. 検知して止める
SiteGuard WP Plugin や Wordfence Security など複数があるが、利用するならどれか1つにしておくことが大事。それぞれの制限が競合してしまう可能性がある
WordPress をインストールしたばかりで攻撃されるケースがある
SSL証明書を取得した情報を監視しておいて、それが取得された段階で WordPress がこれからインストールされるかもしれないと考えて、ユーザーが WordPress をインストール中に攻撃をする手法もあるらしい。
たとえば、インフラエンジニアが WordPress をインストールしただけの状態で、あとはよおろしく!と WordPress をセットアップする人に依頼する。こうした場合には、タイムラグが生じてしまう。そこを狙ってまだセキュリティ設定をしていない WordPress に攻撃をしかけるということ。
歓談タイム
Xサーバーを使っている方がいたので、下記のWAFが有効かどうか確認したほうがよいとアドバイス。ただしWAFをオンにして、WordPress のコンテンツ保存がブロックされてしまうケースがあるので、そこは確認が必要
WAF設定 | レンタルサーバーならエックスサーバーhttps://www.xserver.ne.jp/manual/man_server_waf.php
下記も興味がある。
URLを登録するだけで毎日自動でセキュリティ診断!『XServer サイトセキュリティ』の提供を開始
https://www.xserver.co.jp/news/news-article.php?id=121
続「WordPressの知恵袋」をみんなで作ろうの会
質問者が記事を書いて、聞いたことを書く。
聞いたことを忘れたら、周りに聞いて書く
そうした運用できれば、同じ質問があった時に役立つ
質問した人が書くと、質問者の理解が深まるはず。
より多くの情報や網羅的なものは誰かがフォローすればいいはず
続々と皆さん質問した内容と理解した内容を書き出している!(まだ非公開)
筆者はそれにたいして、いくつか「コメント」をいれました。最初、記事にコメントがついてもわからなかったので、「コメントついたらわかるようにしてほしいなー」といったら、作ってくださいました!

懇親会への道すがら
以前、「WordPress のコアなどセキュリティ的なスキャンをするツールを筆者が WordPress Meetup なんかで発表してなかった?」「そのツールはまだ使えるかな?」という質問を受けました。
そういえばあったような?でも忘れたなぁと思ってはいたのですが、さすが筆者、すべての発表や参加したときの様子はブログに書いていたのでした。WordPress関連だと、下記にまとめていました。
https://kitaney-wordpress.blogspot.com/p/blog-page.html
そして発見!
2015/06/13 セッション2「WordPressのリスク管理」(第42回 WordBench大阪)
残念ながら、こちらは8年前に開発が止まっているようです。
このスキャナーは、当時下記のようにチェックしてくれたのでした。
WordPressサイトが改ざんされていないかチェックできるプラグイン「Exploit Scanner」 | TechMemo
https://techmemo.biz/wordpress/exploit-scanner/
下記をみると WordPress 4.9.8 までは対応していたようですね。
https://github.com/philipjohn/exploit-scanner-hashes
やっていることは、WordPress コアファイルの md5 をあらかじめ上記 GitHUBにあるツールをつかって作成しておいて、それと比べるという感じですね。いまでも hashes-***.php を生成すれば使えそうな気はしますね。
いま使えるものはあるのか
Wordfence Security – Firewall, Malware Scan, and Login Security プラグインがオススメの1つです。
https://ja.wordpress.org/plugins/wordfence/ の FAQにある「Wordfence Security Scaner はどのようなチェックを実行しますか」にたいして、「コア、テーマ、プラグインのすべてのファイルをスキャニングし、WordPress.org のレポジトリの同じバージョンとの同一性を確認し、ソースコードのセキュリティーを確認します。」とありますから、コアファイルの正当性をチェックしてくれます。
さらにスケジュールチェックもできて、かつ投稿や固定ページ内の URLなども怪しいものがあれば指摘してくれます。
筆者が導入している一番の理由な、WAFを実装していることです。
WAFの細かい設定ができないサーバーをつかっていると、WAFを有効にすると WordPress の記事が更新できない場合があります。そうした場合に、こちらのWAFを有効にすることで代替にもなります。
無料版は30日遅れの定義ファイルというデメリットはありますが、それでもかなり有用だと感じています。導入には無料ですがアカウント登録が必要など、多少のクセはありますがセットアップ方法はインターネット上で詳しく解説しているところは多数あるので、困ることはないでしょう。
ただこの手の統合型セキュリティプラグインは、複数いれると同じことをすることになるので無駄あるいは競合しておかしくなる可能性があります。統合型セキュリティ型セキュリティプラグインはどれか1つだけにしておくことが良いかと思います。
懇親会(中華食堂 豊味園)

ただし唐揚げと餃子3人前は1度おかわりしました。
観光
14時スタートのため、11時ぐらいに訪れて北野天満神社や生田神社などを巡ってきました。
北野天満神社
御朱印も、もらってきました!
わた半(昼食)
高級和食店ですが、2400円のランチメニュー「すき焼き牛丼」に惹かれていってきました。
期待通り、美味しかったです!
生田神社
梅干しの壺!?という感じですね。
栗が沢山はいっているアルテナは妻のお気に入り(買ってこいコールがありました...)。
妻と美味しくいただきました!
観光時間は3時間程度であり、実際には2時間半ぐらいでしたが、割と色々いけたなーという感じでした。
0 件のコメント:
コメントを投稿