セキュリティ対策一覧 2ページ目
全ての対策を行うのが理想ですが、サイトの運用上、難しい場合には、優先度が高く、難易度が低いものから行うのがオススメです。
一覧 | 対策内容 | 重要度 | 難易度 | ページ |
---|---|---|---|---|
対策1 | パスワードの徹底管理 | ★★★ | ★☆☆ | 1 |
対策2 | 更新の徹底 | ★★★ | ★☆☆ | – |
対策3 | IDを守る | ★★☆ | ★☆☆ | – |
対策4 | ログインURLを守る | ★★★ | ★☆☆ | – |
対策5 | ログインを守る | ★★★ | ★☆☆ | 2 |
対策6 | バーション番号の非表示 | ★☆☆ | ★☆☆ | – |
対策7 | 設定ファイルを守る | ★★★ | ★★☆ | – |
対策8 | 通信データを守るSSL | ★★★ | ★★☆ | – |
対策9 | サイトのデータを守る | ★★★ | ★☆☆ | 3 |
対策10 | ログイン履歴 | ★★☆ | ★☆☆ | – |
対策11 | データベーステーブル接頭辞 | ★★☆ | ★★☆ | – |
対策12 | 利用しないプラグイン・機能の無効化 | ★☆☆ | ★★☆ | – |
【対策5】 ログインを守る
WordPressの初期設定では、IDとパスワードを入力するだけでログインが可能です。※右図ではプラグインによる画像認証を設定しています。
不正ログインをしようとする場合、いきなり正しいIDとパスワードを入力することはありません。
様々な攻撃を防ぐために、ログインの試行回数に制限をかけることで対応が可能です。
例えば、試行回数を3回に設定すれば、3回以内に正しいIDとパスワードを入力できなければ、そのIPアドレスやブラウザからのログインができなくなる、という設定です。
ログイン回数制限に特化したプラグインもありますが、先ほど紹介したプラグイン「SiteGuard WP Plugin」でも、ログイン回数を制限できます。
管理画面 ▶︎ SiteGuard ▶︎ ログインロック
何秒間に何回ログインを試みたらロックするか、を「期間」「回数」「ロック時間」で選択できます。回数を少なくしすぎると、管理者がログインを失敗したときにロックされてしまうので、使いやすい設定にしておきましょう!
「期間」「回数」「ロック時間」を選択 ▶︎ 変更を保存
画像認証では、コンピュータか人間かを判断するものでコンピュータによる不正アクセス対策として有効です。ログインフォームで画像の文字を読み取り、入力することで人間だと判別し、ログインできます。
SiteGuard ▶︎ 画像認証 ▶︎ 設定する項目を選択 ▶︎ 変更を保存
各項目ごとに、ひらがな、英数字、無効と、選択が可能ですが、オススメはひらがなです。
【対策6】 バージョン番号の非表示
WordPressの初期設定では、どのバージョンのWordPressを利用しているかが、HTML上に公開されるようになっています。
最新バージョンのWordPressを利用している場合は、表示していても問題ないですが、更新を怠って、脆弱性が発覚しているバージョンを利用している場合は注意が必要です。
WordPressのバージョンを非表示にするには、2つの方法があります。
1. functions.phpに書く方法
2. プラグインを利用する方法
functions.phpに書く方法は、技術的な知識が必要で、誤作動の可能性もあるため、本記事ではプラグインを利用して非表示にする方法を紹介します。
プラグインを利用した非表示には、2つあります。
1. バージョン非表示だけに機能を絞ったプラグインを使う方法
例:Meta Generator and Version Info Remover
2. セキュリティプラグインを使う方法
例:All In One WP Security & Firewall
本記事では、後者の「All In One WP Security & Firewall」を用います。
管理画面 ▶︎ プラグイン ▶︎ 新規追加 ▶︎ All In One WP Security & Firewall インストール
有効化 ▶︎ ダッシュボード ▶︎ 設定 ▶︎ WPバージョン情報をクリック
「WP Generator メタ情報の削除」の横にあるチェックボックスにチェックを入れ、「変更を保存」をクリックします。
ページ上部に「設定が正常に更新されました」と表示されれば、設定は完了です。
サイトを表示して、HTMLのソースを確認してみてください。右クリックし「ソースを表示」をクリックするとHTMLが表示されます。
最初の画像では表示されていたバージョンの表記および番号が消えていました。
Windowsでは「Ctrl+F」、Macでは「Command+F」で文字列を検索できます。
【対策7】 設定ファイルを守る
WordPressはデータベースに記事の内容や設定情報が保存されています。データベースへの接続情報がwp-config.phpというファイルに記載されます。具体的には、データベース名、データベースユーザー名、接続パスワードなどが明記されているため、このファイルを盗み見られてしまうと、データベースの改ざん、サイトの改ざんが簡単にできてしまいます。そのため、WordPressからは読み込み可能で、他の人からは閲覧・編集が出来ないように設定する必要があります。
WordPressのファイルやフォルダのパーミッション設定は、セキュリティ上、重要な部分に限定されますが、前述した「All in one WP Security & Firewall」で行うことができます。
※インストール方法は、【対策6】で解説しています。
管理画面 ▶︎ WP セキュリティ ▶︎ ファイルシステムセキュリティをクリック
ファイルシステムセキュリティ ▶︎ ファイルパーミッションをクリック
ファイルパーミッションのタブが開くと、ここでパーミッションを修正した方が良いファイルやフォルダ(ディレクトリ)の一覧が表示されます。
設定の変更が必要ない安全な項目は緑、変更の必要な箇所は黄色や赤で表示されます。
推奨操作が、「アクション不要」となっていれば、何もしなくても問題ありません。もし、「推奨パーミッションを設定」となっていれば、ボタンをクリックして、パーミッションを変更しましょう。
【対策8】 通信データを守るSSL
SSLとは、Webサイトと閲覧しているデバイスとの間でデータをやり取りする通信を暗号化し、情報が盗まれるのを防ぐ仕組みです。
SSLを導入しているWebサイトは、URLが「http://」から「https://」となり、SSLという仕組みで通信することになります。最近では無料でSSLを利用することができるサービスも多くなりました。GoogleもWebサイトのSSL化を推奨するなど、安全性をアピールするためにもSSL化は必須です。
SSL対応サイトの場合は、URL入力欄に鍵マーク🔐が表示され、非SSLのサイトにはビックリマーク❗️が表示される形式になっている。Google Chromeの場合は、「保護されていない通信」と表示さたり、赤文字で表示されるなど、SSL化を推奨していることが分かります。
非SSLサイトは、送受信するデータが暗号化されていないため、メールフォームやID・パスワードの入力画面が非SSLの場合、送信内容を盗み見られる可能性が高まります。SSL化することで、送信内容が暗号化されるため、通信途中で内容を推測することが困難になります。
SSL化の手順
1. ConoHa WINGでのSSL設定オン
2. WordPressアドレス、サイトアクセスの変更
1. プラグイン「Really Simple SSL」▶︎ 有効化 ▶︎ 「SSLを有効化しました」通知で完了
本記事では、レンタルサーバーを用いてSSL設定を行なった場合を紹介します。
私が現在契約しているレンタルサーバー「ConoH WING」は、独自ドメインでのSSLを無料提供しています。
WordPressと紐付け後、「サイトセキュリティ」▶︎「無料独自SSL」をONにするだけ!
変更完了したら、WordPressの設定に移動します。
設定 ▶︎ 一般 ▶︎URLに「s」を付け足して変更を保存。
「://」以降は変更すると、他の設定も変更しなければならないので注意しましょう!
WebサイトのURLを確認して、httpからhttpsに変更されていたら完了です!