(同じ利用者による、間の15版が非表示)
1行目: 1行目:
[[ファイル:WordPress-logo.png|thumb|WordPress|300px]]
[[ファイル:WordPress-logo.png|thumb|WordPress|300px]]


言わずと知れた世界のCMS。
言わずと知れたブログ/サイト系CMS。PHP製。基本的には[https://ja.wordpress.org/support/ 公式マニュアル]を参照。
 
==よく使うページ==
* [[WordPressテーマを作る]]
* [[WordPressタグ]]
* [[WordPressバックアップ]]


==備忘メモ==
==備忘メモ==
===バックアップ===
===セキュリティ===
WordPressデータは大切な資産。バックアップはクラウドストレージやメールなど安全な場所に投げる。crontab で作業を自動化しておくと良い。
結論
80% 以上の WordPress ハッキングは以下の 3 つの原因に集約される:
1. WordPress / プラグイン / テーマを古いまま放置(50%以上)
2. ログインページの脆弱性(弱いパスワード・XML-RPC)(30%)
3. 悪意あるプラグインやサーバー設定の甘さ(20%)
つまり、ハッキングされるサイトの大半は「基本的なセキュリティ対策を怠った結果、既知の脆弱性を突かれている」。
防ぐためにやるべきことはシンプル! ✅ 定期アップデート ✅ 2FA(2段階認証)を有効化 ✅ ログインページを保護 ✅ 怪しいプラグインやテーマを入れ ない ✅ 適切なサーバー設定をする。これをちゃんとやれば、WordPress のハッキングリスクは 90% 以上減らせる! 💪🔥


$ mysqldump -u USER -pPASS -B DATABASE > backup.sql
===xmlrpcへの脆弱性対応===
$ tar zcf ~/backup/html.tar.gz -C /var/www/ html/
WordPressの後方互換を重んじるポリシーのため使われなくなった今でも「[https://support.mngsv.jp/info/news/1429/ xmlrpc.php]」ファイルが存在しており、このファイルに対するブルートフォース攻撃が絶えない。
$ tar zxf html.tar.gz


crontabの設定
<Files xmlrpc.php>                                                                                                                                                                     
$ crontab -e
    Require all denied
  11 2 * * * /usr/local/bin/backup.sh
  </Files>


cron に scp させてリモートマシンのバックアップをとる場合、パスフレーズが設定されていると cron はパスワード解決できないのでパスフレーズが設定されていない秘密鍵を使う。
===DBでサイトURLを直接変更===
 
===DBでサイトURLを変更===
  mysql > SELECT * FROM wp_options WHERE option_name IN ('home','siteurl');
  mysql > SELECT * FROM wp_options WHERE option_name IN ('home','siteurl');
  mysql > UPDATE wp_options SET option_value='https://example.com' WHERE option_name IN ('home','siteurl');
  mysql > UPDATE wp_options SET option_value='https://example.com' WHERE option_name IN ('home','siteurl');


===セキュリティ===
* Webアプリの [https://blog.tokumaru.org/2015/12/wordpress-security.html セキュリティ対策] としては脆弱性管理とパスワード管理が極めて重要
* Webアプリの [https://blog.tokumaru.org/2015/12/wordpress-security.html セキュリティ対策] としては脆弱性管理とパスワード管理が極めて重要
* 十分に長くてランダムで辞書にないような良質なパスワードを設定
* 十分に長くてランダムで辞書にないような良質なパスワードを設定
39行目: 37行目:
* ログをしっかりと監視する
* ログをしっかりと監視する


===xmlrpcへの脆弱性対応===
==その他参照==
<Files xmlrpc.php>
* [[WordPressテーマを作る]]
Order Deny,Allow
* [[WordPressタグ]]
Deny from All
</Files>
 
[https://support.mngsv.jp/info/news/1429/]

2025年3月5日 (水) 17:33時点における最新版

WordPress

言わずと知れたブログ/サイト系CMS。PHP製。基本的には公式マニュアルを参照。

備忘メモ

セキュリティ

結論
80% 以上の WordPress ハッキングは以下の 3 つの原因に集約される:
1. WordPress / プラグイン / テーマを古いまま放置(50%以上)
2. ログインページの脆弱性(弱いパスワード・XML-RPC)(30%)
3. 悪意あるプラグインやサーバー設定の甘さ(20%)
つまり、ハッキングされるサイトの大半は「基本的なセキュリティ対策を怠った結果、既知の脆弱性を突かれている」。

防ぐためにやるべきことはシンプル! ✅ 定期アップデート ✅ 2FA(2段階認証)を有効化 ✅ ログインページを保護 ✅ 怪しいプラグインやテーマを入れ ない ✅ 適切なサーバー設定をする。これをちゃんとやれば、WordPress のハッキングリスクは 90% 以上減らせる! 💪🔥

xmlrpcへの脆弱性対応

WordPressの後方互換を重んじるポリシーのため使われなくなった今でも「xmlrpc.php」ファイルが存在しており、このファイルに対するブルートフォース攻撃が絶えない。

<Files xmlrpc.php>                                                                                                                                                                       
   Require all denied
</Files>

DBでサイトURLを直接変更

mysql > SELECT * FROM wp_options WHERE option_name IN ('home','siteurl');
mysql > UPDATE wp_options SET option_value='https://example.com' WHERE option_name IN ('home','siteurl');
  • Webアプリの セキュリティ対策 としては脆弱性管理とパスワード管理が極めて重要
  • 十分に長くてランダムで辞書にないような良質なパスワードを設定
  • プラグインは信頼できるものを必要最小限に抑える
  • SiteGuard WPプラグインを導入
  • ファイルのパーミッション設定も重要
  • 全てのミドルウェアで常に最新バージョンを利用
  • 特に WPバージョンアップはセキュリティの懸念が発生したために行われる
  • wp-adminページをダイジェスト認証させる。ほとんどの攻撃はボットによって自動的に行われるため
  • wp-confing.php に define('DISALLOW_FILE_EDIT', true); を追加してファイル編集を無効にする
  • 管理アカウントに「admin」、テーブル接頭辞に「wp_」など簡単なものを設定しない
  • ログをしっかりと監視する

その他参照