WordPress

言わずと知れた世界のCMS。

よく使うページ

備忘メモ

xmlrpcへの脆弱性対応

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

<Files xmlrpc.php>
Order Deny,Allow
Deny from All
</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を変更

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_」など簡単なものを設定しない
  • ログをしっかりと監視する