10行目: 10行目:
     Require all denied
     Require all denied
  </Files>
  </Files>
===バックアップ===
WordPressデータは大切な資産。バックアップはクラウドストレージやメールなど安全な場所に投げる。crontab で作業を自動化しておくと良い。
$ mysqldump -u USER -pPASS -B DATABASE > backup.sql
$ tar zcf ~/backup/html.tar.gz -C /var/www/ html/
$ tar zxf html.tar.gz
crontabの設定
$ crontab -e
11 2 * * * /usr/local/bin/backup.sh
cron に scp させてリモートマシンのバックアップをとる場合、パスフレーズが設定されていると cron はパスワード解決できないのでパスフレーズが設定されていない秘密鍵を使う。


===DBでサイトURLを直接変更===
===DBでサイトURLを直接変更===

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

WordPress

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

備忘メモ

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');

セキュリティ

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

防ぐためにやるべきことはシンプル! ✅ 定期アップデート ✅ 2FA(2段階認証)を有効化 ✅ ログインページを保護 ✅ 怪しいプラグインやテーマを入れ ない ✅ 適切なサーバー設定をする。これをちゃんとやれば、WordPress のハッキングリスクは 90% 以上減らせる! 💪🔥
  • Webアプリの セキュリティ対策 としては脆弱性管理とパスワード管理が極めて重要
  • 十分に長くてランダムで辞書にないような良質なパスワードを設定
  • プラグインは信頼できるものを必要最小限に抑える
  • SiteGuard WPプラグインを導入
  • ファイルのパーミッション設定も重要
  • 全てのミドルウェアで常に最新バージョンを利用
  • 特に WPバージョンアップはセキュリティの懸念が発生したために行われる
  • wp-adminページをダイジェスト認証させる。ほとんどの攻撃はボットによって自動的に行われるため
  • wp-confing.php に define('DISALLOW_FILE_EDIT', true); を追加してファイル編集を無効にする
  • 管理アカウントに「admin」、テーブル接頭辞に「wp_」など簡単なものを設定しない
  • ログをしっかりと監視する

その他参照