サーバーの不要DBを安全に削除する方法|WordPressデータベース整理とサブディレクトリ運用の注意点 |UNIX Cafe

当サイトでは、コンテンツの一部に広告を掲載しています。
サーバーの不要DBを安全に削除する方法|WordPressデータベース整理とサブディレクトリ運用の注意点 |UNIX Cafe

UNIX Cafe | 第102回

目次

データベース削除の完全ガイドとサブディレクトリ運用の真実

長くWordPressを運用していると、サーバーの中には、いつ作ったのか分からないデータベースが増えていきます。

  • テスト用に作ったサイト
  • 一時的に立ち上げたブログ
  • もう使っていないサブディレクトリ

それらは、静かにサーバーの中に残り続けます。

しかし、こうした「過去の遺産」は、単なる不要データではありません。
時には、攻撃者にとって格好の入り口になってしまうこともあります。

今回は、実体験をもとにした安全なデータベース整理の方法と、サブディレクトリ運用の注意点について、やさしく解説していきます。

不要データベースを安全に削除する「4つのステップ」

データベース削除で一番怖いのは、稼働中のサイトのDBを消してしまうことです。

これを防ぐためには、次の順番で作業を進めるのが安心です。

正解は wp-config.php の中にある

サーバーパネルに表示されるDB名だけを見て判断するのは危険です。
必ず、実際のサイトフォルダに入り、wp-config.php を確認しましょう。

define( 'DB_NAME', 'xsXXXXX_wp1' );

この行に書かれている名前が、そのサイトが実際に使用しているデータベースです。
ここに書かれているものは、絶対に削除してはいけません。

サイトごとにこの作業を行い、
「使用中のDB」と「不要なDB」を整理していきます。

バックアップは gz 形式で保存する

削除前には、必ずデータベースのバックアップを取りましょう。

このときおすすめなのが、gz形式でのエクスポートです。

gz形式には、ひとつ大きな利点があります。

もしダウンロード中にデータが欠けてしまった場合、
解凍時にエラーが出るため、バックアップの破損にすぐ気づけるのです。

そのため、通常の .sql ファイルよりも、
復元時の信頼性が高いバックアップになります。

アクセス権を外して「凍結テスト」を行う

いきなり削除するのは危険です。
まずは、データベースのアクセス権だけを解除して様子を見ます。

これは、いわば「凍結テスト」です。

  • データベース本体は消えない
  • サイトからの接続だけが遮断される
  • 間違っていても、権限を戻せば即復旧

この状態で数日間、次の点を確認します。

  • トップページが表示できるか
  • 記事ページは正常か
  • 管理画面にログインできるか
  • 予約投稿が動いているか

問題がなければ、そのDBは本当に不要だと判断できます。

問題がなければ、最終削除

数日間の確認で問題がなければ、
安心してデータベースを削除できます。

この段階まで来ていれば、
「削除ボタン」を押す恐怖もかなり小さくなります。

サブディレクトリ運用に潜む「3つのリスク」

WordPressを

example.com/wp/
example.com/blog/

のように、サブディレクトリで運用するケースは少なくありません。

便利な構成ですが、いくつかの注意点があります。

.htaccess の設定が干渉する

Apacheの .htaccess は、
親ディレクトリの設定が子ディレクトリに継承される仕組みです。

そのため、

  • 親でIP制限を設定した
  • 特定のファイルを遮断した

といった変更が、
子サイトの動作に影響することがあります。

突然、ログインできなくなったり、
特定の機能だけ動かなくなることもあります。

原因が分かりにくいのが、この構成の難しいところです。

セキュリティリスクが連鎖する

サブディレクトリ構造では、
親ディレクトリの中にすべてのサイトが入っています。

そのため、

  • 親が突破される
  • ディレクトリ一覧を見られる
  • 子サイトを順番にスキャンされる

という流れで、
芋づる式に侵害される可能性があります。

攻撃者にとっては、
「一箇所突破すれば、複数サイトを調査できる」
効率の良い構造とも言えます。

どのDBがどのサイトか分からなくなる

複数のWordPressを同じサーバー契約内で運用していると、

  • テスト用サイト
  • 過去のブログ
  • 開発環境

などが混在していきます。

すると、

「このDB、何に使っていたっけ?」

という状態になりやすくなります。

これが、不要DBの放置につながる最大の原因です。

ログが語る真実

攻撃者は「忘れ物」を探している

ログを解析してみると、
ある共通したパターンが見えてきます。

攻撃者が狙っているのは、
最新のセキュリティではなく、古い遺物です。

古いファイルへの執拗なアクセス

ログには、次のようなリクエストが何度も現れます。

old-index.php
test.php
bak.php
config.bak.php
wp-conflg.php

これらは、

  • テスト用に作ったファイル
  • バックアップとして残したもの
  • 名前を変えただけの設定ファイル

などです。

攻撃者は、こうした管理者の「消し忘れ」を狙っています。

古いDBが「踏み台」になる仕組み

たとえ古いデータベースが使われていなくても、

  • 古いPHPファイルが残っている
  • そこからDBに接続できる

という状態なら、そこが裏口になってしまいます。

攻撃者は、

  1. 古いファイルを見つける
  2. そこからDBに侵入
  3. サーバー内の権限を拡大
  4. メインサイトを書き換える

という流れで攻撃を進めることがあります。

まとめ

クリーンなサーバーが最大の防御になる

不要なデータベースを整理すると、
思わぬ効果があります。

それは、ログがとても読みやすくなることです。

余計なノイズが減り、
不審なアクセスがすぐに分かるようになります。

覚えておきたいポイントは、この3つです。

  • DBは wp-config.php と照合して整理する
  • バックアップは gz形式で保存する
  • 古いファイルを残さない

サーバーの中を整理することは、
特別なセキュリティ対策ではありません。

けれど、それだけで
トラブルの発生率も、復旧の速さも、大きく変わります。

あなたのサーバーの中にも、
静かに眠っている「過去の遺産」はありませんか。

一度、ゆっくりと見直してみる価値は、きっとあります。

さらに学びたいあなたへ

📘 用途ごとに選ぶ Linux のおすすめ本

あわせて読みたい
レベル・用途別おすすめ Linux 本リスト|UNIX Cafe UNIX Cafe | 第65回 Linux の世界には、「はじめて触る人」「コマンドを覚えはじめた人」「サーバーに挑戦したい人」と、さまざまな段階があります。そんなときに、自分...
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

のいのアバター のい UNIX Cafe 編集部

UNIX Cafe は、むずかしい言葉をできるだけ使わず、物語を読むような気持ちで気軽に学べる場所です。
プログラミングは、アイデアをコンピューターに伝えるための「ことば」。
簡単な単語と文法を覚えることで、誰でもターミナルから便利なコマンドを使えるようになります。
コーヒーを片手に立ち寄るような気持ちで、やさしいプログラミングの世界を、
そっとのぞいてみてください。

目次