ハッキングとは・・・コンピューターに関しての深い知識と高度な技術をもった専門家が、他人のコンピューターに不正に侵入して、データの改ざんや不正ファイルの設置、また他サイトへの攻撃(大量アクセス)や不正アクセスをするといった行為のことです。
最近の事例としては、レンタルサーバーで有名な「ロリポップ」内の「Wordpress」を利用しているサイト向けに大規模なハッキングが行われて、
大量のサイトに「ファイルの改ざんや、不正ファイルの存在」が確認されました(詳細は、下記)
・【ロリポップ(Wordpress利用者)への「大規模なサイト改ざん事例」から、lolipopの緊急時対応を評価してみる】)
今回の記事では、上述している事件にて実際に被害にあわれた方の「当時の状況と、復旧方法」を綴った記事の紹介についてと、
サイトを運営していく上で「ハッキング」から自分のサイトを守るために行うべき事を、「10」にまとめて解説していきます。
実際にハッキングに遭った被害状況と復旧方法について
今回ご紹介する記事は、実際にハッキングに遭った当時の状況と復旧手順を分かりやすくまとめている、りくまろぐさんの「ハッキング被害に遭いました。ヘコみまくりつつやった調査&作業まとめ」です。
上記を確認することで、ハッキングされた事による被害内容や、ブログを運営している者としては”他人事で済ませてはいけない”と感じさせる、当事のりくまろぐさんの状況や「これ、やっておけば良かった~」といった後悔内容、、、等教訓にすべき事がたくさん含まれています。
もしあなたのサイトが、明日開いたとき「画面が真っ白」だったら、、、想像するだけでも恐ろしいですよね、、、
これを他人ごとで済ますのではなく、「リアルに自分にも起きてしまうかもしれない」といった危機感を持ってもらうために、今回上記の「身近な実話」を紹介しました。
では、以降「ハッキング」の被害に遭わないために、ブログ運営者が行っておくべき事を10にまとめましたので、順に解説していきます。
ハッキング対策1:「ID・パスワード」は分かりにくい文字列にし、使い回さない
普段使っているwebサービスでも、当たり前のように言われている事ですよね。
「パスワードは特定されにくい文字列にしてください」とか
「パスワードは8文字以上にしてください」とか、、、
これだけ「不正アクセス問題」が話題になっている昨今において、誰もが認識している当たり前の事です。
ですが、この”当たり前”の事が、超重要なのです。これさえやっておけば、ある程度のセキュリティは担保されます。
パスワードに設定すべき文字列は、英単語のような意味のあるものではなく、ランダムに文字(アルファベットと数字、大文字も含ませる)を羅列しただけの文字列にしておきましょう。
決して「パスワードなんて変更しても意味ないよー」なんて、思わないで下さい。
特にブログを運営している方が、このような認識では致命的です。早急に認識を改めてください。
またブログを運営している場合は、ブログのアカウント以外にも、下記の「ID・パスワード」にも注意が必要です。
- ローカルPC
- サーバー(レンタルサーバーの場合は、レンタルサーバーの管理画面)
- FTP
- データベース
※Wordpressを利用の方は、(初期値の)ID:admin のアカウントは削除して、新たなアカウントを作成してください(「使用しない」だけではダメで、削除をすることが重要です)
また、もう一点注意すべきなのが「ID・パスワード」を使い回さない事です。
要は、Wordpressでもアメブロでも同じ「ID・パスワード」を使っている方は、早急に直すように!って事です。
例えばあなたが、上記のようにWordpressとアメブロで「ID・パスワード」を使い回しているとします。この時、アメブロを提供している会社から個人情報が漏れてしまったとします。この個人情報を入手した第三者は、あなたのアメブロアカウントだけではなく、WordPressのアカウントにもアクセスできてしまいますよね。
これが、「ID・パスワード」を使い回す最大のリスクです。
実際に、パスワードが流出してしまったケース→【1万人分以上のHotmailパスワードが流出(主にヨーロッパのユーザーとのこと)】
「ID・パスワード」を設定する際は、必ずユニークなものに設定しましょう。
ハッキング対策2:サイト管理画面・サーバー・FTP・データベースへのアクセスを特定の(グローバル)IPのみに制限する
昨今、ハッキングで最も多い手法は「総当り攻撃(ブルートフォースアタック)」です。
「総当り攻撃(ブルートフォースアタック)」とは・・・ログイン画面にて「ID・パスワード」に、たくさんの単語パターンを入力して不正ログインを試みる方法です。ツールを利用して自動でログインを試し続けるため、簡単なID・パスワードの場合は、すぐに不正ログインされてしまいます。
この対策として、まずは上述しているように「ID・PW を特定されにくい文字列にする」ことです。
あとは、そもそもログイン画面にアクセスさせない事です。管理者が使用しているPCのみアクセスを許可して、あとはアクセスを制限します。
当ブログでも、自宅と会社のパソコンからのみアクセスを許可する設定をしています。
アクセス制限するのは、主に下記4つを対象におこなえば十分でしょう。
- サイト管理画面とログイン画面
- サーバー
- FTP
- データベース
順にアクセス制限する手順を、解説していきます。
※当章での「IP」とは、「グローバルIPアドレス」の事です。
サイト管理画面とログイン画面をIPアクセス制限する手順
今回は、例としてWordpressの管理画面と、ログイン画面へのアクセスをIP制限する手順について解説していきます。ですが、専用のプラグインを使用しない手順ですので、Wordpressを利用しない場合でも参考にしてください。
まず、IP制限をするためには「.htaccess」というファイルが必要です。
そしてログイン画面は、Wordpressルートディレクトリ直下の「wp-login.php」というファイルで、管理画面は WordPressルートディレクトリ直下の「wp-admin」というディレクトリにまとめられています。なので、管理画面をアクセス制限するには、「wp-admin」ディレクトリをまるごとアクセス制限してあげる必要があります。
なので今回は、ログイン画面と管理画面、2つの「.htaccess」ファイルが必要になります。
では、「.htaccess」ファイルを作成していきます。
まずは、ログイン画面「wp-login.php」の方から作っていきましょう。
メモ帳等のエディタを開いてください。そして、下記をコピペしてください(赤文字部分は、自宅PC等の許可したいグローバルIPアドレスに変更してください。グローバルIPアドレスの確認手順は→【グローバルIPアドレス】と【プライベート(ローカル)IPアドレス】の違いと、確認方法についてまとめてみた)
order deny,allow
deny from all
allow from 11.11.11.11
allow from 22.22.22.22
</files>
編集を終えたら、保存時「.htaccess」とファイル名を設定して保存してください。
保存したらこの「.htaccess」を、サイトを公開しているサーバーのWordpressルートディレクトリ直下に置いてください。
これでログイン画面へのアクセスは、上記で設定したIPのパソコン以外からのアクセスは制限されます。
次に、管理画面「wp-admin/」の.htaccessファイルを作成していきます。
先ほどのようにエディタを開いて、下記をコピペしてください(赤文字部分は、自宅PC等の許可したいIPアドレスに変更してください)
deny from all
allow from 11.11.11.11
allow from 22.22.22.22
編集を終えたら、「.htaccess」とファイル名で保存し、「wp-admin」ディレクトリ直下に置いてください。
これで、「wp-admin」以下の階層のディレクトリ・ファイル全てにアクセス制限が掛けられます。
要するに、「管理画面」全体がアクセス制限されることになります。
※上記設定をして、自宅PCからアクセスできなくなった場合は、自宅PCのIPが、”(プロバイダによって)一定間隔ごとに変化”しているためです。こちらの対策については→【自分のPCのみアクセス許可したいが、プロバイダによってグローバルIPが一定間隔で変化してしまう場合の対処法】
上述している通り、ログイン画面と管理画面への不正アクセス対策は、「IP制限」してやれば問題はないかと思います。当ブログでもIP制限のみで、その他の対策は行っていません。
ですが、IP制限の他にも様々な対策があるので、紹介します(下記)
- 【2段階認証】・・・認証チェックを二回おこなうことで、セキュリティレベルを高めます
普通であれば、「ユーザー名」と「パスワード」を入力してログインする一段階の認証プロセスですが、それに加えて、(上図のように)認証キーを入力する認証プロセスを追加する事で、セキュリティレベルとグッと高める事ができます。
- 【ワンタイムパスワード】・・・パスワードを一回限りの使い捨てにすることで、特定されにくくなる効果があります
実は、上述している「二段階認証」と「ワンタイムパスワード」を、同時に満たしてくれる認証サービスを、Googleが無料で提供しています。
それが「Google Authenticator」というサービスです。
WordPressを利用であれば、「Google Authenticator」というプラグインも用意されていますので、こちらをインストール・設定するだけです(設定手順についてはこちら→【Google Authenticatorで、ワンタイムパスワードをWordpressログイン時に適用する手順】)
- 【ログイン回数制限】・・・「同じIPで、3回以上ログインに失敗したら、3時間はログイン画面にアクセスできない」といった制限をすることで、「ブルートフォースアタック」の対策になります。
※実際は「ブルートフォースアタック」は、ログイン試行のたびに、IPを変更してくる場合がほとんどなので、あまり意味はない、、、
- 【画像認証】・・・画像にある文字列を入力必須にすることで、自動ツールからのログインを回避できます(機械では画像に表示されている文字列を認識できないため)
WordPressを利用であれば、「SI CAPTCHA Anti-Spam」という便利なプラグインがあります。
こちらを導入することで、Wordpressのログインに画像認証を取り入れる事ができます。
導入手順については、こちらで解説しています→【画像認証(CAPTCHA)を、WordPressログイン時に適用する手順】 - 【トラフィック確認】・・・ログイン試行をしているIPをログとして残しておき、管理者はこのログを確認することで、どのIPから頻繁にアクセスがあるのかを特定することができます。
WordPressをご利用であれば、「Crazy Bone」というプラグインがオススメです。
このプラグインを利用することで、”どのIPから・どこの国から・どのユーザー名で・・・”といったアクセス情報を確認することができます。
「Crazy Bone」のインストールと設定手順については、こちらで解説されています→【WordPressのログイン履歴を表示するプラグイン「Crazy Bone」】
以上、IP制限以外の5つの対策案でした。
Wordpresを利用している方であれば、上述している通り、全て「プラグイン」が用意されているので、プラグインを導入してやるだけで簡単に対策することができます。
ですが、プラグインを多く入れる事によって、それだけ、動作時にメモリを喰うので、動作が遅くなりますし、プラグイン自体に脆弱性がある場合は、セキュリティの問題にもなります。また導入したプラグインが原因でサイトの挙動がおかしくなる。といった事例も多々あるので、これらを考慮した上で、プラグインを導入する必要があるでしょう。
当ブログでは、最低限必要なプラグインしか入れない方針なので、「ログイン・管理画面への不正アクセス」対策については、IP制限のみで十分と判断しています。
サーバーをIPアクセス制限する手順
こちらは、自分でサーバーを立ち上げている人は注意が必要ですが、レンタルサーバーのように外部のサーバーを借りている場合は、レンタルサーバーを提供している会社の範疇なので、どうしようもないです。
個人ブログを運営している場合は、ほとんどがこのレンタルサーバーでしょう。
当ブログも、レンタルサーバーなので、ココに関してはレンタルサーバー提供会社に任せています。
なので大事なのは、セキュリティがしっかりしていて、サポート体制もちゃんとしている提供会社を選定することです(こちらに関しては後述しています)
もし、自分でサーバーを立ち上げて運営している方は、開放するポートを必要最低限に絞って、開放しているポートに関しては、IP制限や認証等のアクセス制限を施すことが必要になります。
FTPをIPアクセス制限する手順
FTPとは・・・ファイルを送受信するための仕組みです。ブログを運営している方であれば、ブログを公開しているサーバーに、ファイルやフォルダをアップロードする際に使用しています。
当ブログのようにレンタルサーバーを利用している方は、レンタルサーバー専用のFTPツールを利用する場合が多いと思いますが、「FFFTP」などのフリーソフトを利用して、ファイルやフォルダをアップロードすることもできます。
FTPは広く利用されていて非常に便利なのですが、サイトを運営している場合は、細心の注意が必要です。
もし、サイトを公開しているサーバーのFTPに不正アクセスされたら、ファイルの改ざんや削除、不正ファイルの設置等、非常に重大な損失に繋がる恐れがあります。
なのでFTPに関しても、特定のグローバルIP(自宅PC等)以外のIP制限をする必要があります。
では、手順解説に入ります。
まず、FTPのIP制限をするためには「.ftpaccess」というファイルが必要なので、作成していきます。
メモ帳等のエディタを開き、下記をコピペしてください(赤文字部分は、自宅PC等の許可したい(グローバル)IPアドレスに変更してください)
Order Allow,Deny
Allow from 11.11.11.11
Allow from 22.22.22.22
Deny from all
</Limit>
編集を終えたら、保存時「.ftpaccess」とファイル名を設定して保存してください。
保存したらこの「.ftpaccess」を、サイトを公開しているサーバーのルートディレクトリ直下に置いてください。
これで、特定IP以外のFTPアクセスを制限することができます。
データベースにアクセスできるホストを制限する手順
基本的にデータベースのセキュリティレベルは高く、デフォルト設定でも「DBを使用している(サイトの)サーバー」からのみアクセスを許可する設定になっているはずです。
なので特に意識する必要はないのですが、念のため「どこからのアクセスを許可しているのか・・」といった事を確認してみます。
各DBサービス(MysqlやOracle等)には、「DBに登録されているアカウント(ホスト名・ユーザー名等)」を一覧表示するクエリ(SQL)があります。要するに「DBへのアクセスが許可されているホスト」を特定することができるのです。
ブログを公開している方は、ほとんどがDBにMysqlを利用していると思います。なので、今回は「Mysql」を例に解説していきます。
「phpMyAdmin」等の、Mysql管理ツールを利用して、下記クエリを実行して下さい。
すると下記のような、アカウント情報の一覧が表示されます。
| user | host |
+——-+—————–+
| root | 127.0.0.1 |
| root | localhost |
| root | 11.11.11.11 |
+——-+—————–+
上記に表示されている「host」からのみアクセスを受け付け、さらに、ログインできるのは(上記に表示されている)userのみである。といった事が確認できます。
ちなみに、上記のhost「127.0.0.1」と「localhost」は、DB設定しているサーバー自身の事を意味します。なので実質、外部からのアクセスを許可しているのは「11.11.11.11 」のhostのみとなります。
※また、ロリポップ等のレンタルサーバーを利用してる方は、上記クエリが使用できないみたいです。
下記のようにエラーが起きて、実行できません、、、(どうやら権限がないと怒られてるみたいです)
なので、別の方法で試す必要があります。
ロリポップしか確認してないのですが、どうやらレンタルサーバーを利用している場合、DBの詳細な構成情報は、レンタルサーバー側で独自に設定しているみたいです。そして、その設定情報が1つのデータベースに格納されています。ロリポップでいえば、それが「information_schema」というDBになります。
このDBに、「DBに登録されているアカウント(ホスト名・ユーザー名等)」が設定されているテーブルが存在します。
テーブル名は、セキュリティ的に公開しませんが、気になる方は探してみてください。
ちなみに、確認したところ「サイトを公開しているサーバー」のみ、アカウント登録されていて、アクセス許可されていました。
ハッキング対策3:重要なファイルやフォルダへの権限(パーミッション)は厳しく設定する
パーミッションとは・・・簡単にいうと「ファイルやフォルダに設定されているアクセス権限」のことで、「-rwxr–r–」や「744」といった表記で表すことができます。これら表記の意味など、詳細についてはこちらで解説しています→【パーミッション(Permission)とは?表記(数値と記号)の意味と、変更手順のまとめ】
例えば、DBへの接続情報であったり、重要な構成情報が記載されたファイルは、パーミッションを高く設定しましょう。
例として、Wordpressをご利用の方は「wp-config.php(DBの接続情報等)」のような、他人に知られたらヤバイファイルは、パーミッションを「400」に設定しておく事をオススメいたします。
また基本的に、重要な情報を保持しているファイルは「444」以上のパーミッションに設定しておきましょう。
それ以外のファイルに関しては、基本的に「644」で、ディレクトリは「755」を設定しておけば良いでしょう。
ハッキング対策4:ブラウザ上から、ファイル一覧を閲覧できないように設定する
実は、ブラウザ上で上図のように、スラッシュ(/)終わりのURLを入力しアクセスすると、そのディレクトリにあるファイル一覧が表示されることがあります(下図)
これは、ハッカーからしたら格好の獲物になってしまいます。
なぜなら、ディレクトリ内のファイル一覧を確認できる事によって、そのサイトの脆弱性の発見がより容易になるからです。
では、なぜこのようにファイル一覧が見えてしまうのか・・・それは、ディレクトリ内に「index.html」or「index.php」が存在していないからです。もし、「index.html」が存在している場合は、スラッシュで終わるURL(ディレクトリ)を開いても、自動的に「index.html」が表示されます。
なので、対策としてはサイト内の全ディレクトリ内に「index.html」を置いておけば良いですが、非常に手間の掛かる事です。
なので一般的には「.htaccess」に下記を記載してやることが、有効な対策手段です。
これで、ファイル一覧が表示されることはなくなります。
また、レンタルサーバーをご利用の方は、デフォルトで「ファイル一覧が表示されない」設定になっている場合がほとんどです。ですが、念のため確認してみるのが良いでしょう。
ハッキング対策5:サイト(ブログ)の管理画面とログイン画面をSSL通信に設定する
SSL通信とは、データを暗号化して通信します。
サイト(ブログ)の管理画面とログイン画面を「SSL」対応させる事で、通信内容を第三者から傍受されていても、暗号化されているので、ログイン(アカウント)情報を特定されることはありません。
もし「SSL」対応してなくて、第三者から傍受されていた場合、ログイン情報が筒抜けとなり、容易に不正ログインがされてしまいます。
ですので、なるべく管理画面とログイン画面は、「SSL」対応しておきましょう。
対応手順に関しては、こちらで解説しています(Wordpressを利用している方が対象)→【「WordPress HTTPS(SSL)」プラグインで、WordPressの管理画面をSSL通信に設定する手順】
ハッキング対策:Web独自の攻撃手法(SQLインジェクションやクロスサイトスクリプト等)対策
Webサイトを公開している場合は、Web独自の攻撃に対しても対策をとっておかなければなりません。
「Web独自の攻撃」で主だったものは、下記があります。
- SQLインジェクション
- クロスサイトスクリプティング(XSS)
- Dos攻撃
- HTTPヘッダインジェクション
各攻撃の仕組みや、対策については下記にまとめています。
- クロスサイトスクリプティング(XSS)とは?仕組み・脅威から対策についてのまとめ
- Dos攻撃とDDos攻撃の違いと対策についてまとめてみた
- 【HTTPヘッダインジェクション】の仕組みと対策のまとめ記事
- SQLインジェクションの基本と対策
また、上記に挙げている攻撃に対して有効な「WAF(Webアプリケーションファイアウォール)」という仕組みもあります。
「WAF」は、Webサイトへの攻撃に特化したファイアーウォールになり、各レンタルサーバーでも採用されています。
「WAF」の詳細は仕組みについては、こちらで解説しています→【WAF(Webアプリケーションファイアウォール)とは?ロリポップで【WAF】がちゃんと機能しているか確認してみた】
「SQLインジェクション」や「クロスサイトスクリプティング」は、現在、最も一般的な攻撃手法になっているので、必ず対策しておきましょう。
ハッキング対策6:セキュリティソフトの導入
こちらは当たり前の項目ですね。
ブログを運営しているのであれば、サーバーに入れるのはもちろん、ローカルで使用するPCにもちゃんとセキュリティソフトを入れて下さい。
ローカルPCに不正侵入されて、サーバーのFTP情報が抜かれる、、、なんて事にならないために。
オススメのセキュリティソフトは、「ESET」です(下記)
特に、ESETの「ファミリー・セキュリティ版」がオススメで、マルチプラットフォーム対応(Windows、Mac、Android)で、5台分のライセンスが付与されます。
「体験版」もあるので、セキュリティソフト導入を検討している方は、ぜひ。
また大事なのが、「ウィルス定義ファイル」は常に最新にしておいてください。
なぜなら、ウイルスや不正プログラムは日進月歩で進化しているからです。
新種のウィルスが発見される度に、セキュリティソフト提供会社は「ウィルス定義ファイル」をアップデートして、対策をとっています。
なので、新たなウィルスの被害に遭わないようにするためにも、「ウィルス定義ファイル」は常に最新版にしておきましょう。
さらに定期的に、PC内のスキャンは行っておきましょう。
最低でも、1週間に1度はしておく必要があります。
※レンタルサーバーを利用の方は、サーバーのセキュリティチェックは範疇外(提供会社が管理しているので)ですが、ローカルPCのセキュリティに関しては細心の注意を払いましょう。
ハッキング対策7:利用しているPCやツールは、常に最新の状態にする
普段私達が使っているPCだったり、ブラウザだったり、何かしらのツールは、定期的にアップデートがなされています。
それは、「もっと便利に」だったり「機能追加」といった目的だけではなく、『脆弱性』に対しての対策でもアップデートされています。
なので、常に最新版を利用していないと、『脆弱性』を含んだものを利用している事になるので、非常にリスクのある状態なわけです。
これが、「最新版を使用してください」とよく言われる理由です。
ブログ運営者に関しては、下記を最新版に保っておくよう心がけましょう。
- 【ローカルPCのOS】・・・Windowsの方であれば、必ず「WindowsUpdate」は行いましょう
- 【サーバーのOS】・・・レンタルサーバーを利用の方は、提供会社の範疇ですが、自分でサーバーを管理している方は、最新にしておきましょう
- 【Webサーバー】・・・ブログを運営している場合、「Apache」を利用している方が多いと思います。
「Apache」は定期的にアップデートしているので、都度更新していきましょう。レンタルサーバーを利用の方は、提供会社の範疇なので、任せましょう - 【データベース】・・・ブログを運営している場合、「MySQL」を利用している方が多いと思います。
「MySQL」も定期的にアップデートしているので、都度更新していきましょう。レンタルサーバーを利用の方は、提供会社の範疇なので、任せましょう - 【ワードプレス等のCMSと、付随するツール】・・・ワードプレス等、オープンソースのCMSを利用している方は、標的にされやすいです。
なぜなら、オープンソースなのでディレクトリ構造やソースコードを誰でも見ることができ、その分、脆弱性を特定しやすくなっています。
最初に述べたロリポップサーバー内への大規模ハッキングも、全てWordpressを利用しているサイトが対象となっています。
ですのでWordpressを利用の方は、なるべく最新Verにしておきましょう。
また、Wordpressを利用しているのであれば、「テーマ」や「プラグイン」もインストールして利用するかと思いますが、これらも最新のVerにしておく必要があります。
「テーマ」や「プラグイン」に脆弱性があった場合は、そこが原因になってハッキングされた。といった事例も多々ありますので、注意しましょう。また、公式にサポートされてない「テーマ」「プラグイン」はインストールせず、使ってない「テーマ」「プラグイン」は削除しておく事が賢明です。
ハッキング対策8:セキュリティ対策やサポートがしっかりされているサーバーを選ぶ
結論から言うと、下記3つの観点で、最もオススメなレンタルサーバーは、「X Sever」です。
- 「セキュリティ対策」
- 「サポート体制」
- 「価格が安価」
まず、「セキュリティ対策」についてですが、
「X Server」は、管理体制が厚く、サーバーも24時間、常に監視してくれています。
その上、”急にサイトのデータ転送量が著しく増えたり” といった不穏な動作を検知したら、すぐに監視員から連絡がくるそうです。
また、セキュリティ的な脅威に対して敏感で、対策も素早いです。
例えば、2013年に入って
「国外IPから、Wordpressへのブルートフォースアタック」が流行ってきた時も、いち早く「WordPress国外IPアクセス制限」機能を追加しました。
このように、対策スピードが早いと、利用者としても安心ですよね。
また「サポート体制」も厚く、電話サポートと24時間のメールサポートが付いています。
価格も「月々:約1000円」なので、コスト・パフォーマンスも高いです。
※「XSever」について、詳しくは・・・Xserver:公式サイト
と、まぁ「Xサーバー」を推してきましたが、当ブログでは「ロリポップ」を採用しています。
「なんでや!!」ってなるかもですが、理由は2つです。
まずは、当ブログがそこそこ有名になり、アクセスが伸びてきたら「Xサーバー」に移行すると決めてました。
要するに、段階的に「ロリポップ」 → 「Xサーバー」とステップアップしていこうと。いうことです。
もう一つは、「サーバーの移行」が経験できるからです。
例え、苦労する事になっても、良い経験になるはずだし、記事のネタにもなるだろうと見越しました。
このように、サーバーを段階的に選定する。といった選択でも良いかと思います。
レンタルサーバーの選定で迷ってる方は、下記(2記事)も参考にしてください。
以上です。
ハッキング対策9:バックアップをとっておく
まず大前提として、Webサイトを公開している場合、ハッキングを100%防ぐことは不可能です。
日々、ウィルスや不正プログラムは進化していますし、そもそもシステムというのは(既知・未知含め)何かしらの脆弱性を含んでいるものです。
なので、もしもハッキング被害に遭った時のために、バックアップをとっておく事は必須です。
バックアップすべきなのは、下記2つになると思います。
- ブログのフォルダ・ファイル一式
- ブログで利用しているデータベース
順に、バックアップ手順を解説していきます。
ブログのフォルダ・ファイル一式をバックアップする手順
ブログのフォルダ・ファイル一式があるのは、サーバーなので、サーバーにFTPでアクセスする必要があります。
レンタルサーバーを利用の方は、レンタルサーバーが提供している「FTPツール」を利用してもイイですが、フリーソフトの「FFFTP」を利用することをオススメします(レンタルサーバーの「FTPツール」だと、フォルダ単位でダウンロードできない。といった制限があったりするので)
下図のように、「FFFTP」でサーバーのディレクトリ(フォルダ)にアクセスします。
そして、ブログのファイルが全て入っているフォルダを見つけ、右クリック→「ダウンロード」をクリックします。
これでローカルPCに、ブログのフォルダ・ファイル一式を保存する事ができます。
ですが、これだけではまだ不完全で、データベースの方もバックアップしてやる必要があります。
ブログで利用しているデータベースをバックアップする手順
ブログを運営している方であれば、ほとんどの方がデータベースにMySQLを採用していると思います。
Wordpressを使うなら、MySQLは必須だし、各レンタルサーバーも必ず対応しています。
なので、今回解説するのは「MySQL」です。他のDBを利用している方は対象外ですので、注意してください。
まず、バックアップするのに必要なツールが「phpMyAdmin」というツールです(下図)
「phpMyAdmin」は、MySQLを管理するためのツールとして、広く普及しています。ほとんどのレンタルサーバーでもこの「phpMyAdmin」が採用されていますしね。
「phpMyAdmin」を開いて、ブログで利用しているDBを確認したら、メニューから「エクスポート」をクリックします(下図参考)
エクスポートする際の、各オプションは下図を参考に設定してください。
最後に「実行する」ボタンをクリックすると、データベースのバックアップが行われます。
下記のように、拡張子が「.sql」のファイルがダウンロードされます。
以上で、データベースのバックアップは終わりです。
WordPressをご利用の方
WordPressをご利用している方は、上記二つの他に、もうひとつバックアップすべきデータがあります。
それは、Wordpress管理画面からエクスポートできる「各記事・固定ページ・カテゴリ・タグ等の情報(XML形式)」です。
こちらも定期的にバックアップをしておきましょう。
以下、手順になります。
まず、Wordpress管理画面のメニュー「ツール」から「エクスポート」をクリックします(下図参考)
そして、「エクスポート」画面が開いたら、「すべてのコンテンツ」を選択して、「エクスポートファイルをダウンロード」ボタンをクリックしてください。
これで、下図のように「xmlファイル」がダウンロードされたら、バックアップ完了です。
またWordpressには、バックアップを行ってくれるプラグインも複数存在しています。
「WP-DB-Backup」や「BackWPup」なんかが有名で、入れている方も多いでしょう。
こちらの良いところは、自動でバックアップを行ってくれるところです。
最初に、「週に一回」といった周期を決めておけば、あとはその通りにバックアップを行ってくれます。
非常に便利ですよね。
ですが、当ブログではこれらのプラグインを利用していません。
理由は二つあって、一つは、プラグインを入れれば入れるほど、メモリの消費量も増えていくので、ブログを表示する速度が落ちてしまうからです。
もう一つは、プラグイン自体に脆弱性がある可能性があることです。
このため、当ブログでは「バックアップ関連のプラグイン」は入れていませんし、できれば手動で定期的にバックアップを取っていく事を推奨しています。
リストア(復旧)手順について
上述で、バックアップする手順についてはまとめてきました。次はバックアップしたデータをもとに、サイト(ブログ)をリストア(復旧)させる手順についてです。
こちらについては、下記で解説しています。
リストアとは?ブログ(Wordpress)のバックアップデータを使って、復旧してみた
ハッキング対策10:Wordpressの設定
当ブログもWordpressを利用していますが、もしあなたもWordpressでブログを構築している場合は、別途「Wordpressのセキュリティ対策」をしておく必要があります。
なぜなら、「WordPress」はオープンソースで提供されているため、ハッカーのターゲットになり易いからです。
WordPressでセキュリティレベルを上げるためには、いくつかやっておくべき事があります。
それについては、こちらでまとめていますので確認しておいてください→【Wordpressのセキュリティ対策でしておくべき10の項目】
まとめ
今回の記事では「ハッキング」から自分のブログを守るために行うべき事を、10にまとめて解説しています。
ブログを運営している方は、「ハッキングの脅威」を他人事にはしないでください。
現に、上述している通り、「ロリポップ」内のサイト向けに大規模なハッキングが行われて、大量のサイトが被害を受けている。といった事例もあります。
なので、大事なのは「自分で自分のサイトは守る事」です。
事前にハッキング対策をしておくことで、最小限にリスクを抑えたブログ運営をしていきましょう。