対策(たいさく)
たい‐さく【対策】
デジタル大辞泉(小学館)より引用
[名](スル)
1 相手の態度や事件の状況に対応するための方法・手段。「人手不足の対策を立てる」「対策を練る」「税金対策」
2 律令制で、官吏登用試験の一。文章 (もんじょう) 博士が問題を出して文章得業生 (とくごうしょう) に答えさせるもの。また、その答案。
はじめに
前回のおさらいです。
前回では、セキュリティー対策の重要性を解説し、また、認証関連のセキュリティー設定について解説いたしました。
セキュリティー対策の重要性、認証関連のセキュリティー設定の解説については、過去記事を参照していただければと思います。
後編の今回は、サイト(ブログ)の改ざん対策や情報流出への対策、また、バックアップの対策についても触れていきたいと思います。
セキュリティー対策
以下に、不正アクセスの観点や情報秘匿の観点、復旧対策の観点でのセキュリティー対策について解説したいと思います。
サイトの改ざん対策(不正アクセス防止)
前編でも解説しました通り、設定情報が定義されたファイルに不正なアクセスがおこなわれると、ブログは、ほぼ終了を迎えることになります。
設定情報が定義されたファイルに適切なアクセスを設定し、不正アクセス対策を実施します。
設定ファイルのアクセス権変更
ConoHa WINGでは、ファイルマネージャーウィンドウから設定を変更することが可能です。
ConoHaコントロールパネルにログインし、[サイト管理] → [サイト設定] → [ファイルマネージャー] をクリックします。
はじめに、[.htaccess] のパーミッションを変更するため、ファイルマネージャーから、[.htaccess] を検索します。
[.htaccess] が見つかりましたら、[.htaccess] を選択し、メニューから [属性変更] をクリックします。
デフォルトでは、パーミッションが「644」(ファイルの所有者が読み書きが可能で、グループとその他が読み取りが可能な設定です。)と、なっているため、パーミッションを「604」に変更します。
続いて、[wp-config.php] のパーミッションを変更するために、ファイルマネージャーから、[wp-config.php] を検索します。
[wp-config.php] が見つかりましたら、[wp-config.php] を選択し、メニューから [属性変更] をクリックします。
デフォルトのパーミッションが「600」でしたので、パーミッションの設定はそのままとします。もし、パーミッションが「600」以外の場合は、パーミッションを「600」変更します。
情報流出への対策(情報の秘匿)
世の中には、不正にメールアドレスを収集するボット(ロボット)があります。
ボット【bot】
デジタル大辞泉(小学館)より引用
《「ロボット」の略》コンピューターで、人の代わりに自動的に実行するプログラムの総称。コンピューターウイルスの一種で、悪意ある攻撃者による指令を、外部から自由に実行できるようにするプログラムや、サーチエンジンのデータベースを作成する専用ソフトウエアであるサーチボットなどがある。ほかに、オンラインゲームをプレーヤーの代わりに自動的に操作するプログラムも意味する。
問合せ先などメールアドレスを設定しなければならない場合など、このボットにメールアドレスを収集されてしまう恐れがあります。また、その収集されてしまった自分のメールアドレスをからスパムメールが送付されてしまったりすると大変ですので対策は必要となります。
メールアドレス収集ボット対策は、プラグインの「Email Address Encoder」で対策することができます。この「Email Address Encoder」はサイトに載っているメールアドレスを暗号化してくれる収集なアドインなのです。「Email Address Encoder」をインストールしメールアドレス収集ボット対策を実施します。
メールアドレスの暗号化
WordPressの管理ウィンドウから、[プラグイン] → [新規追加] をクリックします。また、「Email Address Encoder」を検索し[今すぐインストール]をクリックします。
「Email Address Encoder」のインストール後、[有効化] をクリックします。有効化されるとメールアドレスは暗号化されます。
「Email Address Encoder」の設定を追加したい場合は、WordPressの管理ウィンドウから、[プラグイン] → [インストール済みプラグイン] をクリックします。また、「Email Address Encoder」の [Settings] をクリックします。
基本的にはデフォルトの設定でOKです。
メールアドレス暗号化の確認
「Email Address Encoder」のサイトから、自サイトのメールアドレスが暗号化されいるかを家訓んすることができます、「Email Address Encoder」のサイトに接続し、メールアドレス暗号化の確認を実施します。
「Email Address Encoder」の [Setting] 画面から、[Open Page Scanner] をクリックします。
「Email Address Encoder」のサイトが表示されます。自サイトのURLを入力し [Scan Page] をクリックします。
「No email addresses found」が表示されました。メールアドレス暗号化の確認ができました。
バックアップの対策(復旧)
セキュリティー対策しているにも関わらず、悪意のあるものにサイトに侵入されてしまい、データを書き換えられた場合、また、何かのトラブルでサイトのファイルを削除してしまった場合、サイトを復旧することができず、今までの苦労が水の泡となります。
そんな最悪な時でも活躍してくれるのが、バックアップとなります。
何かのトラブルの原因のうちの1つですが、自分自身で誤って必要なファイルを削除してしまった場合(俗にヒューマンエラーと呼ばれています。)でも、データを復旧することができるという側面もありますので、バックアップはとても重要なことです。
バックアップ対策については、プラグインの「BackWPup」で対策することができます。この「BackWPup」はサイトのデータ(ファイルやデータ、また、プラグイン情報など)をバックアップすることができます。「BackWPup」を導入しバックアップ対策を実施します。
BackWPupの設定
WordPressの管理ウィンドウから、[プラグイン] → [新規追加] をクリックします。また、「BackWPup」を検索し[今すぐインストール]をクリックします。
「BackWPup」のインストール後、[有効化] をクリックします。
[BackWPup] が有効化されると、WordPressの管理ウィンドウのメニューに [BackWPup] が表示されますので、[BackWPup] をクリックします。
「BackWPup」のダッシュボードが表示されます。
前編にてBasic認証(基本認証)設定を実施しましたので、「BackWPup」の認証方法を変更します。なお、Basic認証設定を行っていない場合は不要となります。
「BackWPup」の設定をおこなうため、WordPressの管理ウィンドウのメニューから [BackWPup] → [設定] をクリックします。また、[サイトネットワーク] をクリックし、認証方法を表示します。
デフォルトでは [認証方法] が [なし] となっていますので、[Basic認証] に切り替えます。
[Basic認証ユーザー名] 入力欄と [Basic認証パスワード] 入力欄が表示されますので、Basic認証の許可ユーザーと、そのユーザーのパスワードをそれぞれ入力します。
バックアップの作成
バックアップを実施するジョブ(バックアップを実行するための設定)を作成します。
WordPressの管理ウィンドウのメニューから、[BackWPup] → [ジョブ] をクリックします。[一般] にて、ジョブの名前やバックアップ対象、バックアップ保存方法などを設定します。
ジョブ名 | |
---|---|
このジョブの名前 | バックアップジョブ名を任意で設定します。 |
ジョブタスク | |
このジョブは… | 実施するバックアップを設定します。
|
バックアップファイルの作成 | |
アーカイブ名 | 置換パターンからバックアップファイル名を設定します。 |
アーカイブ形式 | アーカイブ形式を設定します。
|
ジョブの宛先 | |
バックアップファイルの 保存方法 |
バックアップファイルの保存方法を設定します。 |
ログファイル | |
ログの送信先 メールアドレス |
ログの送信先メールアドレスを設定します。 |
エラー | チェックを設定した場合、エラーが発生した時にメールが送信されます。 一度だけ、送信されましたが、翌日は正常にバックアップができていました。 |
[スケジュール] にて、バックアップを実行する日時を設定します。
ジョブスケジュール | |
---|---|
ジョブの開始方法 | ジョブの開始方法を設定します。
|
実行時間をスケジュール | |
スケジューラーの種類 | スケジューラーの種類を設定します。
|
スケジューラー | バックアップをスケジュール実行する場合、バックアップのスケジュール間隔やバックアップの時間を設定します。 |
[一般] の [ジョブタスク] にて、「データベースのバックアップ」を設定した場合のみ設定します。[DBバックアップ] にて、バックアップ対象のテーブルを設定します。
データベースのバックアップの設定 | |
---|---|
バックアップするテーブル | 基本的にはすべてのテーブルをバックアップします。 |
バックアップファイル名 | データベースのバックアップファイル名を設定します。 |
バックアップファイルの圧縮 | バックアップファイルの圧縮を設定します。
|
[一般] の [ジョブタスク] にて、「ファイルのバックアップ」を設定した場合のみ設定します。
[ファイル]にて、バックアップ対象のファイルを設定します。
バックアップするフォルダー | |
---|---|
WordPressをインストールした フォルダーをバックアップ |
WordPressをインストールしたフォルダーのバックアップを設定します。また、除外ページについて設定します。 |
コンテンツフォルダーを バックアップ |
コンテンツフォルダーのバックアップを設定します。また、除外ページについて設定します。 |
プラグインのバックアップ | プラグインのバックアップを設定します。また、除外ページについて設定します。 |
テーマのバックアップ | テーマのバックアップを設定します。また、除外ページについて設定します。 |
uploads フォルダーを バックアップ |
uploads フォルダーのバックアップを設定します。また、除外ページについて設定します。 |
バックアップする その他のフォルダー |
上記以外のバックアップフォルダを絶対パスで設定します。複数ある場合はカンマ(,)区切りで設定します。 |
バックアップから除外 | |
uploads 内のサムネイル | サムネイルのバックアップを設定します。 |
バックアップから除外する ファイル / フォルダー |
バックアップから除外するファイルやフォルダーを設定します。複数ある場合はカンマ(,)区切りで設定します。 |
特別なオプション | |
特殊ファイルを含める | 特殊ファイルを含めるかを設定します。 |
[一般] の [ジョブタスク] にて、「インストール済みプラグインの一覧」を設定した場合のみ設定します。
[プラグイン] にて、プラグイン一覧が出力されるファイル名を設定します。
プラグイン一覧の ファイル名 |
プラグイン一覧を出力するファイル名を設定します。 |
ファイルの圧縮 | プラグイン一覧ファイルの圧縮を設定します。
|
[一般] の [バックアップの保存先] にて、「フォルダーへのバックアップ」を設定した場合のみ設定します。
[宛先: フォルダー] にて、バックアップを格納するフォルダーを設定します。また、すべての設定が完了した場合、[変更を保存] をクリックしジョブを保存します。
バックアップ設定 | |
---|---|
バックアップを 格納するフォルダー |
WordPressをインストールしたサーバー内のフォルダーを設定します。 |
ファイルを削除 | バックアップとして保存するファイル数を設定します。 |
バックアップの実行
バックアップジョブの動作確認を実施します。
WordPressの管理ウィンドウのメニューから、[BackWPup] → [ジョブ] をクリックします。実行するジョブの [今すぐ実行] をクリックし、バックアップの動作確認を実施します。
バックアップが正常に完了しました。
バックアップファイルを確認します。
WordPressの管理ウィンドウのメニューから、[BackWPup] → [バックアップ] をクリックします。バックアップファイルが作成されていることを確認します。
バックアップファイルも作成されていましたので、バックアップ対策は完了となります。
バックアップファイルの退避
バックアップ元のサーバー内にバックアップファイルを作成した場合、バックアップ元のサーバー内に侵入されたり、バックアップ元のサーバーが大規模障害で使用できなくなったりと、せっかくバックアップファイルを作成しても無駄になることも想定されます。その対応として、バックアップファイルを別の場所へ保管いたします。
DR対応
DR(ディザスタリカバリ)を、簡単に説明しますと、致命的なシステム障害に備えて遠隔地にデータを保管(予防措置)することです。
例えば、東京のとあるデータセンターに構築したサイトのバックアップファイルを、DR対応で大阪のとあるデータセンターに退避しておくことで、仮に東京で大きな災害が発生しサイトが運営できなくなったとしても、大阪のデータセンターに保管したバックアップファイルからサイトを復旧することで、数日から数か月後にはサイトを復旧することができるかもしれません。
同様に、悪意のあるものにサイトに侵入されてしまった場合、同じサーバー内にバックアップファイルがあれば、バックアップファイルも削除されてしまうはずです。「バックアップだけは削除せずに残しておいてあげよー」なんてことにはならないと思います。と、いうわけで、バックアップファイルを別の場所に保管します。
「BackWPup」では、バックアップファイルを別の場所へ保管する機能がありますので、何例か紹介したいと思います。
Dropboxへのバックアップ設定
はじめに、「Dropbox」へのバックアップです。
「Dropbox」は無料プランでも2GBのストレージを使用することが可能ですので、一番現実的なDR対応だと思います。
では、「Dropbox」へのバックアップを設定してみます。なお、「Dropbox」への登録は完了していることが前提となります。
WordPressの管理ウィンドウのメニューから、[BackWPup] → [ジョブ] をクリックします。設定を変更するジョブの [編集] をクリックし、[一般] にて、[バックアップファイルの保存方法] に [Dropboxにバックアップ] を設定します。
[宛先: Dropbox] を選択すると、[認証] に「認証されていません!」と、注意が表示されます。「Dropbox」との認証を設定するため、[Dropbox のアプリへのアクセス] の [Dropbox のアプリ認証コードを取得] をクリックします。
「Dropbox」に接続されます。
「Dropbox」に登録した「メールアドレス」と「パスワード」をそれぞれ設定し、[ログイン] をクリックします。
「Dropbox」へのアクセスをリクエストしていますので、[許可] をクリックします。
「Dropbox」のアプリ認証コードが表示されます。表示された「Dropbox」 のアプリ認証コードをコピーします。
[Dropbox のアプリへのアクセス] の入力欄に「Dropbox」のアプリ認証コードを貼り付けます。
しばらくすると「Dropbox」から認証され、下図の通り「認証済み!」と表示されます。
Dropboxへのバックアップの実行
バックアップジョブの動作確認を実施します。
「Dropbox」を確認します。バックアップジョブの実行後、「Dropbox」にバックアップファイルが作成されていることを確認します。
バックアップファイルが作成されました。
Microsoft Azure Blob Storageへのバックアップ設定
続いて、「Microsoft Azure Blob Storage」へのバックアップです。
「Blob Storage」は、無料プランだと12ヶ月のみ「Blob Storage」(5GB)を利用することが可能です。ですので、12ヶ月のみ無料でDRすることは可能ですが、12ヶ月以降は有料となるため、あまり有効なDR対応ではないと思います。
では、「Blob Storage」へのバックアップを設定してみます。なお、「Microsoft Azure」へのアカウント登録が完了し、また、「Blob Storage」が設定済みであることが前提となります。
WordPressの管理ウィンドウのメニューから、[BackWPup] → [ジョブ] をクリックします。設定を変更するジョブの [編集] をクリックし、[一般] にて、[バックアップファイルの保存方法] に [Microsoft Azure にバックアップ (Blob)] を設定します。
[宛先: MS Azure] を選択し、[アカウント名] と [アクセスキー] をそれぞれ設定します。[アカウント名] と [アクセスキー] が正しい場合、[コンテナ選択] に「Microsoft Azure」に設定済みの「Blob Storage」の「コンテナ」が表示されます。
バックアップファイルを保管するコンテナを選択し、[変更を保存] をクリックします。
なお、[アカウント名] と [アクセスキー] は、「Microsoft Azure」の「ポータルサイト」から取得してください。
Microsoft Azure Blob Storageへのバックアップの実行
バックアップジョブの動作確認を実施します。
「Blob Storage」を確認します。バックアップジョブの実行後、「Blob Storage」にバックアップファイルが作成されていることを確認します。
バックアップファイルが作成されました。
セキュリティー診断
最後にセキュリティー診断がおこなえるサービスがありますので、そのうちいくつかを紹介したいと思います。
紹介したサービス以外にも、セキュリティー診断が可能なサイトはありますので、試してみてはいかがでしょうか。
WPSEC
「WPSEC」では、サイトのアドレスを入力し脆弱性を確認できます。
Sitecheck
「WPSEC」と同様に、「Sitecheck」でも、サイトのアドレスを入力し脆弱性を確認できます。
まとめ
いかがでしたでしょうか?
後編の今回は、データ保護の観点でのセキュリティー対策についてまとめました。
前回と同様に、データ保護の観点でも対策することはたくさんあると思います。ですが、安心してサイトを運営していくためには、バックアップにてデータの保護を実施することも重要になってきますので、「打てる手はすべて打つ」という考え方で、セキュリティー対策を実施しましょう。
また、セキュリティー対策には終わりはありません。新しい技術はどんどん出てきますので「定期的な見直し」は必須です。新たにセキュリティー用プラグインがリリースされましたら、試してみるのもよいと思います。また、新たな対策として導入してみてもよいと思います。
最後までお読みいただきありがとうございました。
では。