セキュリティー
セキュリティー【security】
デジタル大辞泉(小学館)より引用
1 安全。また、保安。防犯。防犯装置。「セキュリティーシステム」
2 担保。
3 有価証券。債券。
はじめに
サイト(ブログ)を運営するために重要になるセキュリティー対策についてまとめていきたいと思います。また、セキュリティー対策の重要性についても少し触れていきたいと思います。
前編の今回は、セキュリティー対策の解説と、認証や不正ログイン後の対策方法に触れていきたいと思います。
セキュリティー対策の重要性
簡単なセキュリティーリスクについて説明いたします。
ここにあげたリスクは、ほんの一例です。
ほかにも、様々なリスクがありますので、セキュリティー対策はしっかりとやりましょう。
WordPressが標的?
高い確率でWordPressは標的になります。
OSでもCMS(コンテンツ・マネジメント・システム)でも、シェアトップは標的になります。
例えば、サーバーOSではWindows Serverはシェアが大きいため、UNIXやLinux系のサーバーよりも攻撃の標的になりやすくなっています。同じように、WordPressもCMSの中ではシェアが大きく攻撃の標的になりやすくなっています。そのうえ、WordPressはオープンソースのために、仕様が公開され情報が多く発信されています。
パブリックなインターネット上に公開しているうえ、さらに仕様も公開されセキュリティーホールも見つけやすいとなったら格好の餌食ですね。
以上を踏まえると、「セキュリティー対策はやりましょう!定期的な見直しもやりましょう!」と、考えた方がよいと思います。
以下に、セキュリティーの脆弱性情報サイトを紹介いたします。WordPressの脆弱性情報もありました。
セキュリティー対策
「セキュリティー対策」と、いっても、なにをやればいいのか?と、なると思います。以下に、認証堅牢化の観点と不正認証即時性の観点、また、その対策方法に触れていきたいと思います。
堅牢(けんろう)
デジタル大辞泉(小学館)より引用
けん‐ろう〔‐ラウ〕【堅×牢】
[名・形動]物がしっかりと、壊れにくくできていること。また、そのさま。「堅牢なつくり」「堅牢無比」
[派生]けんろうさ[名]
[名]「堅牢地神」の略。
基本
はじめに、基本的なセキュリティー対策となります。
プログラムの最新化
WordPressやテーマ、また、プラグインはセキュリティーホールが見つかると、対策したバージョンがリリースされます。そのため、更新情報をキャッチしバージョンアップを実施します。
不要なプラグインの削除
プログラムと同様に、脆弱性対策も含まれているためプラグインを最新化します。
なお、使用していないプラグインも攻撃対象になる場合があるため、使用していない場合は、なるべく削除します。また、何らかの理由で削除したくない場合は、未使用のプラグインも最新化しておきます。
不正ログイン対策(認証の堅牢化)
続いて、認証関連の対策となります。
アクセス制限
「wp-config.php」ファイルには、データベースへのアクセス情報が設定されています。そのため、「wp-config.php」ファイルが盗まれてしまった場合、ブログは終了を迎えることになります。ブログを終了させないために、アクセス制限を設定し、外部からのアクセスを遮断します。
ConoHaコントロールパネルにログインし、[サイト管理] → [サイト設定] → [応用設定] をクリックします。
[応用設定] にて [.htaccess設定] をクリックします。
[.htaccess] を編集し、以下を追加します。
上図の設定内容です。
<FilesMatch "^(wp-config\.php|wp-cron\.php)">
Satisfy Any
order allow,deny
deny from all
allow from xxx.xxx.xxx.xxx(通信を許可するIPアドレス)
</FilesMatch>
ログイン画面のURL変更
許可されたユーザー以外、ログインページのURL(入口)を公開する必要はありません。そのため、プラグインの「SiteGurad WP Plugin」をインストールし、ログインページのURLを変更します。
WordPress管理ウィンドウから、[プラグイン] → [新規追加] をクリックします。また、「SiteGurad WP Plugin」を検索し、[今すぐインストール]をクリックします。
「SiteGurad WP Plugin」のインストール後、[有効化] をクリックします。
「SiteGurad WP Plugin」を有効化すると、ログインページのURLが変更されます。
任意のログインページURLに変更したい場合は、「SiteGurad WP Plugin」のダッシュボードから [ログインページ変更] をクリックします。
[変更後のログインページ名] に任意のログインページ名を設定し、[変更を保存] をクリックします。
画像認証
画像認証にすることで、悪意のあるBOTからのログインをブロックします。
ボット【bot】
デジタル大辞泉(小学館)より引用
《「ロボット」の略》コンピューターで、人の代わりに自動的に実行するプログラムの総称。コンピューターウイルスの一種で、悪意ある攻撃者による指令を、外部から自由に実行できるようにするプログラムや、サーチエンジンのデータベースを作成する専用ソフトウエアであるサーチボットなどがある。ほかに、オンラインゲームをプレーヤーの代わりに自動的に操作するプログラムも意味する。
プラグインの「SiteGurad WP Plugin」の機能で実施します。
「SiteGurad WP Plugin」のダッシュボードから [画像認証] をクリックします。
画像認証をする場合、[ON] をクリックします。また、画像認証ウィンドウを表示し、画像認証の種類を選択します。
ログインページ | 「ひらがな」、「英数字」、「無効」から選択します。 |
コメントページ | 「ひらがな」、「英数字」、「無効」から選択します。 |
パスワード確認ページ | 「ひらがな」、「英数字」、「無効」から選択します。 |
ユーザー登録ページ | 「ひらがな」、「英数字」、「無効」から選択します。 |
ログイン失敗時のロック
ログイン失敗時にロックすることで、悪意のあるBOTから攻撃を受けにくくします。
プラグインの「SiteGurad WP Plugin」の機能で実施します。
「SiteGurad WP Plugin」のダッシュボードから [ログインロック] をクリックします。
ログインロックをする場合、[ON] をクリックします。また、期間や回数、ロック時間を選択し、それぞれの時間や回数を選択します。
期間 | 「1秒」、「5秒」、「30秒」から選択します。 |
回数 | 「3回」、「10回」、「100回」から選択します。 |
ロック時間 | 「30秒」、「1分」、「5分」から選択します。 |
フェールワンス
ユーザーID、パスワードが正しく入力しても、1回目はエラーするためリスト攻撃を受けにくくします。
プラグインの「SiteGurad WP Plugin」の機能で実施します。
「SiteGurad WP Plugin」のダッシュボードから [フェールワンス] をクリックします。
フェールワンスをする場合、[ON] を選択します。
WAF(ワフ)Web Application Firewall
Webアプリケーション層レベル(レイヤ7)の不正アクセス(SQLインジェクション、クロスサイトスクリプティング(XSS)など)を遮断します。
サーバー(レンタルサーバー)に「SiteGurad Lite」がインストールされてる場合は、プラグインの「SiteGurad WP Plugin」の機能で実施します。
ConoHa WING(サーバー)には、「SiteGurad Lite」がインストールされていませんので、ConoHa WINGのWAFを有効に設定します。
レイヤ7
Weblio辞書より引用
別名:第7層,アプリケーション層
【英】application layer
レイヤ7とは、ネットワークにおけるプロトコルの機能を分かりやすくするために整理されたOSI参照モデルにおける第7層に位置するデータ通信モデルのことである。ネットワークを通じて通信するアプリケーションが相互にデータをやり取りする場合に必要とする共通のデータ構造などが規定される。
ネットワークを通じて送受信を行なうアプリケーションソフトの、例えば電子メールの形式や文書の構造といった固有の形式が、自由に取り交わされる。レイヤ5(セッション層)からこの層までの通信方式は、例えばHTTPといった単一のプロトコルで定められている場合が多い。なおTCP/IPプロトコルでは、特にこの層に相当する部分はない。通常はアプリケーションプログラムが自身で規定する。
SQLインジェクション(エスキューエルインジェクション)
デジタル大辞泉(小学館)より引用
《SQL injection》不正アクセスの一種。リレーショナルデータベースの照会言語SQLによる命令文を入力して実行させ、外部からデータベースを不正に操作すること。ウェブアプリケーションなどのソフトウエアのセキュリティー上の不備を突く行為であり、しばしばクレジットカードなどの個人情報漏洩 (ろうえい) に悪用される。
クロスサイトスクリプティング
デジタル大辞泉(小学館)より引用
インターネットのウェブサイトに見られるセキュリティーシステム上の弱点の一。悪意のあるユーザーがBBS(電子掲示板)に有害なスクリプトを入力し、他の閲覧者のブラウザーを経由してそのスクリプトを送り込むこと。
[補説]CSSとも略されるが、cascading style sheetsの略との混同を避けるためにXSSと表記することが多い。→シー‐エス‐エス(CSS)
IDS/IPS
侵入検知システム(IDS)、侵入防止システム(IPS)。セキュリティー脆弱性のブラックリストを元に通信を監視します。
ConoHa WINGでは、IDS/IPSはありませんので、設定は実施しないことにします。
IDS(アイディーエス)
デジタル大辞泉(小学館)より引用
《intrusion detection system》コンピューターネットワークを監視して、不正アクセスを検知し、管理者に通報するシステム。侵入検知システム。不正侵入検知システム。→アイ‐ピー‐エス(IPS) →アイ‐ディー‐ピー‐エス(IDPS)
IPS(アイピーエス)
デジタル大辞泉(小学館)より引用
《intrusion prevention system》コンピューターネットワークを監視して、不正アクセスを検知すると自動的に通信を遮断するシステム。侵入防止システム。不正侵入防止システム。→アイ‐ディー‐エス(IDS) →アイ‐ディー‐ピー‐エス(IDPS)
スパム対策
スパムコメントをブロックします。プラグインの「Akismet Anti-Spam」をインストールし、スパム対策をおこないます。
ローカル環境を構築した際も、「Akismet Anti-Spam」はデフォルトでインストールされていましたので、インストール方法は割愛します。
「Akismet Anti-Spam」の [有効化] をクリックします。
「A・kis・met」ウィンドウが表示されます。[Akismet アカウントを設定] クリックします。
プランの選択ウィンドウが表示されます。無料で使用しますので、[For personal use] の [Get Personal] をクリックします。
料金(デフォルト)が「年4500円」に設定されていますので、「年0円」に変更します。
顔のアイコンが白くなります。かわいそうですが、費用をかけたくないので無視します。
アカウント情報を入力します。また、下にある3つのチェックボックスにすべてチェックし [CONTINUE WITH PERSONAL SUBSCRIPTION] をクリックします。
Your Email Address | 常用しているEmailアドレスを設定します。 |
FirstName | 名前を設定します。 |
LastName | 苗字を設定します。 |
Personal Site URL where you will use Akismet: | 「Akismet Anti-Spam」を有効にするサイトのURLを設定します。 |
設定したE-Mailアドレスに、確認コードが記載されたメールが送られてきます。
確認コードをメール確認ウインドウに入力し、[Completing signup] をクリックします。
設定したE-Mailアドレスに、APIキーが記載されたメールが送られてきます。
「A・kis・met」ウィンドウにて、[Manually enter an API key] をクリックします。
APIキーを入力し、[APIキーを使って接続する] をクリックします。
「Akismet Anti-Spam」が利用可能となり、スパムコメントがブロックされるようになります。
Basic認証
Basic認証(基本認証)を設定することで、特定のディレクトリにアクセスする場合に「ユーザーID」、「パスワード」の入力が必須となります。
ConoHaコントロールパネルにログインし、[サイト管理] → [サイトセキュリティ] をクリックします。
[ディレクトリアクセス制限] をクリックします。また、[ディレクトリ] をクリックすると [ディレクトリ] 入力エリアが表示されます。
アクセス制限をおこなうURLを入力し、[保存] をクリックします。
※URL例:サイトのURL/wp-admin/
Basic認証するユーザーを設定します。鉛筆アイコンをクリックすると、[ユーザー名] 入力エリアと [パスワード] 入力エリアが表示されます。
Basic認証するユーザーを設定し、[保存] をクリックします。
ログインページのURLにアクセスします。Basic認証ができるようになります。
不正ログイン後の対策(認証の即時性)
続いて、不正ログインへの対策となります。
ログイン時のメール送信
ログイン時にメールを送信することにより、即時に不正なログインを検知することができます。
プラグインの「SiteGurad WP Plugin」の機能で実施します。
「SiteGurad WP Plugin」のダッシュボードから [ログインアラート] をクリックします。
ログインアラートを通知したい場合、[ON] を選択します。また、サブジェクトやメール本文、受信者を設定します。
サブジェクト | 送信メールのサブジェクトを設定します。 |
メール本文 | 送信メールのメール本文を設定します。 |
受信者 | 「管理者のみ」に送信するかを選択します。 |
まとめ
いかがでしたでしょうか?
前編の今回は、ユーザー認証の観点でのセキュリティー対策についてまとめました。
一言、セキュリティー対策と言っても、やることはたくさんありますので大変だと思います。ですが、セキュリティー対策をおろそかにしますと、後々、後悔することになると思いますので、手を抜かずにしっかり対策を施しましょう。
次回は、復旧対策の観点と情報秘匿の観点についてまとめたいと思います。
最後までお読みいただきありがとうございました。
では。