WordPress以前のお話。パソコン、ネットワーク、FTP接続やサーバーのセキュリティ対策
WordPressサイト攻撃されてしまう理由には様々な要因が存在しますが、WordPressより先に基本的なセキュリティ対策ができているかを確認してみましょう。ハッキングやサイト改ざんなどの被害は、WordPressそのもの脆弱性が原因では無く、接続元のパソコンの状態や、パスワードが弱かったり、FTP接続時に問題がある場合が多いです。WordPressのセキュリティに入る前に、WordPress以外のセキュリティの基本についてチェックすることが先決なのです。OSのアップデートを実行する
WindowsであればWindows Updateを、Macであればソフトウェアアップデートを忘れずに行いましょう。これらのOSアップデートは、OSのバグや脆弱性の修正を含むセキュリティ強化が必ず含まれています。新しい更新が準備されると通知が来るので、再起動なども面倒くさがらずに更新を実行しましょう。セキュリティソフトを導入する
Macユーザーにはあまり縁の無いウィルスソフトではですが、Windowsユーザーにとっては導入必須項目のひとつ。ノートンアンチウィルス、ウイルスバスター、マカフィーなどの大手の物であれば内容はそこまで変わらないので、気に入ったセキュリティ(ウィルス対策)ソフトを導入しましょう。ファイアーウォールを有効にする
外部からの攻撃や不正アクセスからパソコンを守ってくれるのがファイアーウォールです。パソコンの持つ唯一の玄関がインターネット接続であるため、不審なアクセスから身を守るためには、ファイアーウォールの有効化が必須。必ずONになっているかを確認しましょう。Windowsの場合は、ファイアーウォールが無効だと警告が表示されるので、警告が見られなければ問題ありません。Macの場合は、有効であろうと無効であろうと何も通知されないので、しっかりと確認すること。ソフトウェアのバージョンを最新に保つ
ソフトウェアのアップデートは、OSのアップデートと同じくセキュリティ強化が必ずと言ってもいいほど含まれています。アップデートを確認すべきプログラムをリストアップするので、最新のバージョンを利用しているか確認してみてください。- インターネットブラウザ(Chrome、Firefox、IEなど)
- FTPクライアント(FFFTP、Filezillaなど)
- セキュリティ、ウィルス対策ソフト
- ルーターを利用している場合は、ルーターのファームウェア
- Adobe Flash Player
- Javaランタイム
安全の確認できない公共のWiFiの利用は避ける
私の個人的な経験なのですが、iPhoneのWiFiをOFFにするのを忘れて出かけると、何故か認証もしていないのにWiFi接続になっていることがあります・・・認証無しイコール、セキュリティはゼロ。非常に危険な状態でのインターネット接続になってしまいます。特に都内の繁華街であれば、iPhoneのWiFiメニューを開くと数えきれないほどのWiFiステーションが表示される。もしかするとこの中のどれかはハッキング目的のWiFiステーションかもしれないので、注意が必要です。 そして公共でWiFiを利用するのであれば、自身で契約しているポケットWiFiや、スマホのテザリング、大手通信企業のWiFi Spotなど、安全かつ信頼できる回線だけにしましょう。セキュリティの基本まとめ
WordPress以外のセキュリティ対策に目を通していただけましたでしょうか?基本的なことではありますが、これらを抑えることで、これから紹介するWordPressセキュリティの効力も一段とアップすると思います。WordPressのセキュリティに進む前にセキュリティの基本を下記にまとめてみたので、復習しておきましょう。- OSアップデートを実行する
- ウィルス対策ソフト、セキュリティソフトを導入する
- ファイアーウォール有効化の確認する
- 各種ソフトウェアのバージョンを最新にする
- 安全の確認できない公共のWiFiの利用は避ける
FTP接続とサーバーのセキュリティ
WordPressの普及により、多くの方が利用し始めているFTP(FTPはファイル転送プロトコルの略)。使い勝手は良いものの、安全を確認せずに利用してしまうと無防備な接続になってしまったり、アップロードしたファイルが悪用されてしまう可能性があります。 FTP接続と合わせて、サーバー上のセキュリティも確認していきましょう。FTPSの利用を心がける
会員制サイトなどでは、httpにsを加えた(secureのs)httpsというプロトコルが利用されているのと同じで、FTPにもsが加わったftpsが存在します。sなしのFTPだと、通常のhttpと同じで通信が暗号化されずに接続されてしまうため、セキュリティが甘くなります。どのレンタルサーバー会社でもFTPSにてFTP接続を行うことができると思うので、是非取り入れてみてください。ファイルパーミッションが適切か確認する
ファイルパーミッション(ファイルの権限)とは、ファイルやフォルダごとに定義された、読み出し・書込みなどのアクセスに対する許可情報です。※Wikipedia レンタルサーバーが用意している「簡単インストール」にてWordPressをインストールした場合は、サーバー会社が判断した適切なファイルパーミッションがファイルとフォルダに適用されているはずですが、FTPを使った手動インストールを行った場合は気をつけなければなりません。この権限が不適切だと、勝手にファイルが書き換えられてしまったり、不本意にファイルが実行されてしまう可能性があるなど、セキュリティ上あまり好ましくないのです。 WordPressが勧めている適切なファイルパーミッション(番号)は下記の通りなので、FTP手動アップロードで行った方は、念の為に確認しておきましょう。 ファイル(.phpなど)は 644 -rw-r–r— フォルダ 755 -rwxr-xr-x FTPプログラムにもよりますが、ファイルパーミッションがアップロードするファイルの拡張子別に個別に設定されている場合があります。 備考:プラグインのインストール(W3 Total Cacheなど)にてwp-contentフォルダの権限を777に変更する必要がある場合は、インストール時だけ777に設定し、インストールが終わったら忘れずに755に戻すようにしましょう。 備考2:決して777に設定されたファイルがないこと確かめましょう。777はサーバー業界において、魔の777と呼ばれ、セキュリティが一切無い状態を示すことになってしまいます。PHPのバージョンを出来るだけ最新バージョンに設定する
WordPressの動作に必要なPHPは、現行のバージョンだと最低でPHP5.3以上のPHPバージョンが求められています。 PHP5.3だけしか選択出来ないのであればそこまで気にする必要はありません。ですがバージョンが高ければ高いほどセキュリティ強度も高いので、7.0や7.2が選択可能であれば、進んで最新バージョンを利用することをお勧めします。 バージョンアップにセキュリティ強化対策が含まれていることはこれまでに繰り返し述べてきていますが、PHPもその他ソフトウェアと変わらず同類です。 PHPのバージョン設定はレンタルサーバーのコントロールパネルから変更できますが、もしやり方がわからなければ、サーバー会社のFAQで確認したりサポートに問い合わせてみてください。 警告:もしWordPress以外のPHPプログラムが同じサーバー内にある場合は、PHPのバージョン変更を行う前に必ずプログラム開発者に確認することを忘れずに!ヘタすればPHPで書かれたその他のプログラムが動作しなくなってしまう場合があるので、くれぐれも要注意です。WordPressセキュリティの基礎3つ
セキュリティプラグイン導入を早速行いたいところなのですが、プラグインでのセキュリティ強化を図る前に、基礎的なWordPressセキュリティ対策を行い、基盤を固めることが重要になってきます。パスワードを強力かつ個別に設定する(WPログイン、データベース、FTP全て)
パスワードを設定するときは、覚えやすいからと言って簡単なものに設定したり、他のサイトでも利用しているパスワードを流用するのは好ましくありません。 パスワードをより強力にするには、大文字と小文字、数字や記号などを混合し、12桁以上にすれば大丈夫。 パスワードジェネレーター:http://www.graviness.com/temp/pw_creator/ 有料ソフトとはなってしまうが、パスワード管理アプリの「1Password」を使えば、沢山のパスワードを安全に管理出来るだけでなく、パスワード生成機能なども付属し、重宝します。 WordPressのセキュリティのためだけでなく、サイト管理などの仕事効率アップにも繋がるので、是非利用してみてください。ユーザー名をadmin以外に設定する
上記のパスワードを強化することに加え、WordPressのユーザー名(ID)をadmin以外のユニークなものに設定することを心がけましょう。 WordPressでは、インストール時のユーザー名がデフォルトでadminとなっているため、大半のWordPressサイトのログインIDが全く同じになってしまっています。そのためハッカー達には、adminというユーザー名が多く存在する事実を逆手に取られてしまうのです。 adminユーザー名を使いブルートフォースアタック(パスワード自動生成ログイン攻撃)が行われる前に、パスワードとペアであるIDもユニークなものしておきましょう。wp-config.php内のデータベーステーブルの接頭辞の変更
WordPressの手動インストールのみで行えるセキュリティ対策、それはWPデータベーステーブルの接頭辞の変更です。 これをユニークな文字列に変更することにより、データベース内の標的を見つけにくくすることができます。ほぼ全てのWordPressサイトがデフォルトのwp_にてデータベースが生成されているため、この統一性もハッカーの対象となってしまうのです。データベーステーブルの接頭辞も忘れずに変更するようにしましょう。 wp_ → unique_table_prefix_name_ 接頭辞の文字列の最後は、アンダースコア(_)で終わるようにしましょう。 WordPressのセキュリティを最強にしたければ、上記の接頭辞変更なども踏まえ、自動インストールではなく手動でのインストールをおすすめします。WordPressセキュリティ関連プラグインを導入する
Akismet – 悪質なスパムコメントを駆除
URL: https://wordpress.org/plugins/akismet/ Akismet(アキスメット)は、WordPressに付属しているスパム駆除プラグインです。 Akismetを有効化するには、Akismet APIキーが必要になりますが、サイトの規模によって料金が発生してしまいます。しかし個人的なサイトや小規模サイトであれば、無料でもAPIキーを入手できるので、面倒くさがらずに取得し、設定してみてください。 ハッカーやスパマーは何を目的としてスパムコメントを送りつけているのかわかりませんが、それらのコメントにWordPressセキュリティの脆弱性を狙ったコードやアタックがないとは限りません。WordFence Security – WPセキュリティ対策パッケージ
URL: https://ja.wordpress.org/plugins/wordfence/ 万能セキュリティプラグインです。このプラグインでは多岐にわたるセキュリティの確認と強化ができますが、機能や設定項目が多すぎるため、使い方に関しては別の記事にて取り上げようと思っています。インストールしても損はないので、使っていない方は取り急ぎ導入しておきましょう。Stealth Login Page – ログイン画面をステルス化
URL: http://wordpress.org/plugins/stealth-login-page/ ステルス化とは言っても、消えて隠れてしまうわけではありません。IDとパスワードの他に、もう一つの秘密鍵を設定し、セキュリティを強化するというものです。 秘密鍵無し、もしくは秘密鍵が間違ってログインボタンを押した場合は、ユーザーは強制的に別サイトへとリダイレクトされてしまう(リダイレクト先URLは任意に設定可能)連続したパスワードクラッキング攻撃にはもってこいのプラグインです。Google Authenticator – ログインのセキュリティを更に強力に
URL: https://wordpress.org/plugins/google-authenticator/ ログイン画面にGoogleの最先端認証システムを取り入れてしまうのがこのプラグイン。 上記のStealth Login Pageプラグインのように、ログイン画面に新たな秘密鍵入力欄を追加するタイプのセキュリティプラグインです。 仕組みは、セキュリティ情報が組み込まれているQRを、スマホ(iOSまたはAndroid)のGoogle Authenticatorというアプリにて読み込みます。そうすると、アプリ上だけで秘密鍵が生成され、さらに秘密鍵が30秒ごとに全く新しいコードに変更されるようになっています。 正しく究極のログイン画面強化を施すことが出来るのです!Simple Login Log – ログイン履歴を記録
URL: https://wordpress.org/plugins/simple-login-log/ セキュリティ対策をここまでやって不正ログインがあったら笑い話ですが、一応ログイン履歴を記録するプラグインが存在します:Simple Login Logです。 使い方はいたってシンプルで、プラグインを有効にしたら履歴一覧画面へアクセスするだけ。 このプラグインが記録する情報は、ログイン時刻、ログイン元IPアドレス、ユーザーエージェントなど。記憶にないアクセスログがあれば、パスワード変更などの処置をすればよいし、社内でWordPressを数人で管理しているなどの状況においても役に立ちます。常に監視すべきセキュリティチェックリスト
- WordPressを最新のバージョンに保つ
- プラグインを最新のバージョンに保つ
- パスワードを定期的に変更する
- WordPressのログイン履歴を確認する
- Windows Updateや、Macのソフトウェアアップデートを常に最新のバージョンに保つ
- ウィルス対策ソフトを最新のバージョンに保つ
- インターネットブラウザを最新のバージョンに保つ
- その他利用しているプログラムのバージョンを最新に保つ
セキュリティ関連リンク集
最後にセキュリティ関連ツールやサイト、プログラムなどの紹介をしたいと思います。数点しかありませんが、どれもセキュリティ強化に関わるものなので、機会があれば利用・導入していただければと思います。1Password
URL: https://agilebits.com/onepassword 英語のプログラムになってしまうのですが、クロスプラットフォーム(WinまたはMac)で使えるパスワード管理ソフト: 1Passwordです。 弊社のようにWeb制作を行っていると、管理・保守を依頼されているウェブサイトの数が数えきれないほどあり、管理画面へのログイン情報も同じ数管理しなくてはなりません。テキストやドキュメントで管理するのは漏洩してしまう危険があるだけでなく、サイトへログインする度にファイルを探すのは効率が悪いです。 しかし1Passwordを使えば、ログインが必要なサイトURLとID・パスワードを個別に管理できます。各サイトへログインしたい場合は、1Passwordをインストールした際に設定したマスターパスワードを入力すればログインURL一覧が表示され、ワンクリックでそのサイトへログインすることが出来るのです。 おまけにパスワード生成機能も付属しており、新たなWordPressサイトを作成する際にも強力なパスワードを設定できます。 ログイン情報を安全かつ効率よく管理したいのであれば、1Password導入は必須と言えるでしょう。パスワードジェネレーター
URL: http://www.graviness.com/temp/pw_creator/ パスワードは覚えやすいものを設定したり、別のアカウントでも使用しているパスワードを流用したくなるのが人間の癖。とは分かっていてもどうやって新しいパスワードを作ればいいかわからない方が多いと思います。 そんな時はパスワードジェネレーター(パスワード生成プログラム)を活用してみましょう。このサイトではパスワードに含む文字の種類や、文字数の設定など、強力なパスワードをランダムに生成してくれる便利なサイトです。 前に紹介した1Passwordにも付属しているパスワード生成機能だが、知っておいて損はありません。サイトのウィルス感染チェッカー – https://www.virustotal.com/ja/
URL: https://www.virustotal.com/ja/ WordPressのセキュリティ強化について書いたこの記事ですが、もう既にあなたのサイトにウィルスやマルウェアが感染しているかもしれません。 ウィルス感染チェッカーを使って、あなたのサイトの安全性を確認してみましょう 。記事のまとめ
WordPressのセキュリティ強化を隅々まで行き届かせるには、多岐にわたる知識を活用しなければなりません。WordPressは今後右肩上がりでシェアが増えていくと想定されているだけに、同じくWordPressを狙った攻撃も後を絶たないと予想されます。 あなたのサイトとビジネスを守るためにも、いち早くセキュリティ対策を行い、安心してWebサイトを運営していただきたいと思っています。 以上でWordPressのセキュリティ対策完全版の記事を終えたいと思いますが、最後に全てのセキュリティ対策項目をリストアップしておきます。復習や今後の活用のために役に立てていただければ嬉しいです。- OSのアップデート(Windows UpdateまたはMacのソフトウェアアップデート)の実行
- セキュリティソフト(Norton、ウィルスバスター、マカフィーなど)の導入
- 各種ソフトウェアのバージョンを最新に保つ
- パソコンのネットワーク接続にファイアーウォールを有効化する
- 安全の確認できない公共WiFiの使用を避ける
- WiFiを利用しない場合は、WiFi(無線LAN)機能をOFFにする
- FTP接続には、FTPSを利用することを心がける
- FTPでアップロードしたファイルのファイルパーミッションが適切であるか確認する
- PHPのバージョンを出来るだけ新しいバージョンに設定する
- WordPressログイン、データベース、FTP接続などのパスワードは強力にする
- 強力なパスワードを作るには、パスワードジェネレーターを活用する
- WordPressのユーザー名にはadminを使わない
- wp-config.php内のデータベーステーブルの接頭辞をユニークな文字列に変更してWPをインストールする
- 各種セキュリティ強化プラグインの導入
- Akismet
- iThemes Security
- Stealth Login Page
- Google Authenticator
- Simple Login Log
- WordPressを最新のバージョンに保つ
- プラグインを最新のバージョンに保つ
- パスワードを定期的に変更する
- WordPressのログイン履歴を確認する
- ウィルス対策ソフトを最新のバージョンに保つ
- インターネットブラウザを最新のバージョンに保つ