WordPressのセキュリティ
WordPressのセキュリティは「ソフトウェア本体」「テーマ・プラグイン」「データベース」「運用管理」から検討することが必要です。「ソフトウェア本体」や「テーマ・プラグイン」の対策はほとんど、設定とバージョンアップで提供されますが、「データベース」や「運用管理」の対策は通常のWebサイトメンテナンスに通じるものがほとんどです。
また、セキュリティを重視することで、サイトの運用効率が悪化するのも問題です。要求されるセキュリティ条件と運用条件とをバランス良く設定して、セキュリティ対策をするのが肝要です。
WordPressのセキュリティ対策用のプラグイン:「WP Security Scan」
1.ソフトウェア本体(WordPressコア)のセキュリティ
1)常に新しいバージョンのWordPressを使用します。
WordPressは年に数回のバージョンアップがおこなわれています。当然、セキュリティ対策の機能向上も含まれています。セキュリティ対策上、常に新しいバージョンにしておきましょう。
2)ディレクトリ(「wp-admin」や「wp-content」等)を保護する。
WordPress本体のディレクトリ(「wp-admin」や「wp-content」等)内のファイルに管理者以外のユーザーがアクセスできないように必要に合わせて、アクセス制限をおこないます。
特に、「wp-admin」内のファイルは管理用なので、必要に応じて、「.htaccess」ファイルを「wp-admin」に設定し、IPの制限やパスワードの制限をします。
また、「wp-content」内のファイルにはテーマとプラグインなどのサイト特有の情報があります。このため、各ファイルにアクセスできないように制限をします。「.htaccess」を「wp-content」に設定します。
3)「wp-config.php」のセキュリティ設定。
(1)セキュリティキーを設定します。
ファイルに記述する認証用ユニークキー(ユニークな文字列)を設定します。
(2)テーブル名の接頭辞($table_prefix)を「wp_」以外のものに変更します。
デフォルトのテーブル名の接頭辞「wp_」もデフォルトの情報です。インストール時に任意のユニークな接頭辞に変更します。
(3)「wp-config.php」のアクセス制限
「wp-config.php」にはWordPressサイト情報が記述されている大切なファイルです。当然、アクセスできないように制限をします。また、ファイル内容は非公開にします。
2.テーマ・プラグインのセキュリティ
1)常に新しいテーマやプラグインを使用します。
WordPressと同様に、テーマやプラグインも高い頻度でバージョンアップしています。本体と同じく、できるだけバージョンアップを心掛けましょう。
2)WordPressのバージョンを表示しない。
外部からWordPressのバージョンが分からないようにするために、head内のバージョン表示をしないようにします。
WordPressのバージョン表示のテンプレートタグを削除します。また、公開されているテーマを使用している場合はテーマファイルの「functions.php」に削除の関数を指定します。
関連情報: functions.php/WordPressのバージョンを表示しない
<php
//generator非表示
remove_action('wp_head', 'wp_generator');
//wlwmanifest非表示
remove_action('wp_head', 'wlwmanifest_link');
//rsd_link非表示
remove_action('wp_head', 'rsd_link');
?>
3.セキュリティに強いデータベースを構築する。
1)WordPress専用のデータベースを使用する。
MySQLの他データベースとの共用はWordPressの障害と他の使用による障害との切り分けを複雑にします。また、障害の原因にもなりかねないので、なるべく回避するようにしましょう。
2)データベースへのアクセスは限定する。
データベースへの不特定多数によるアクセスは当然、セキュリティ上の問題となります。ディレクトリの保護と同様に、IPの制限やパスワードの制限をおこないます。また、データベースのパスワードは強固なものにします。
4.運用管理面のセキュリティ
1)管理画面のセキュリティ設定
管理画面(ログイン画面)用のパスワードは英数記号文字、小文字、大文字などを混ぜて複雑なものにします。また、SSL認証も必要に応じて設定をおこないます。
2)「admin」ユーザーの削除。
インストール時のデフォルトユーザーである「admin」は周知の情報です。インストール後、新しいユーザー設定をして、「admin」ユーザーを削除します。
3)データベースはバックアップをする。
「phpMySQLadmin」やバックアップツールを使用して、定期的にバックアップをとるようにします。
関連情報:
- WordPressのインストール
- wp-config.php
- Default/header.php
- FTPクライアントを利用した「アップグレード」
- WordPressのパーマリンク
- 関数ファイル(functions.php)
- WP Security Scan
2009.02.25 21;55



コメント&トラックバック
トラックバックURL: http://www.exe1993.jp/wpbusiness/archives/wordpress_security/trackback/