セキュリティ対策例

Web

先日、Wordpressで採用サイトを制作する際にネックになるのがセキュリティだと先輩から聞かされました。多くの企業でWordpressが採用されていますが、慎重な企業も多く、これが担保できれば、クライアントに提案しやすいとのこと。どんなウェブサイトでも100%のセキュリティを確保するのは難しいですが、その中でWordPressが狙われる理由は世界のウェブサイトの3割を占め、攻撃の研究が容易であることが大きいようです。下記、参考。

WordPressのセキュリティを強化するには?対策やおすすめのプラグインまで
WordPressは世界中で人気のCMSですが、その一方でセキュリティ面の脆弱性が指摘されています。 WordPress…

一方で、アメリカのホワイトハウスは2017年から公式ウェブサイトにWordpressを採用しました。間違いなく世界中のハッカーから狙われるであろうウェブサイトであり、絶対情報流出させてはいけないウェブサイトですから、セキュリティにも万全の対策を施していると考えられます。実際にどのようなセキュリティ対策がホワイトハウスのウェブサイトで講じられているのかはわかりませんが、Wordpressを使用しながらも、セキュリティを強化する方法があるはずだと思い、その方法を調べてみました。せっかくなので、調べた内容をシェアします。万全ではありませんが、現時点で、これらに対応するだけでも情報流出のリスクを下げることができるかもしれません。

攻撃されるリスクを下げる方法

攻撃されるリスクを下げる方法をいくつか見つけました。

ログインアドレスの変更

WordPressの脆弱性の原因の一つに、誰もが簡単にログイン画面にたどり着ける仕様があります。それを回避するため、SiteGuard WP Pluginなどのプラグインでログイン画面のURLを変更し、総当たり攻撃の可能性を減らします。

ログインユーザー画面の排除

ユーザー名を知られるとログインのIDが特定されるので、ログインユーザー画面を無くし、特定されることを防ぎます。プラグインやfunctionsに記述することで対策できます。下記参照。

ユーザー名が「/?author=xx」で知られるのを防ぐには
管理者名に「admin」の利用は脆弱なため使わないように言われています。が、WordPressでは「admin」を利用し…

デフォルトのユーザー名の変更

デフォルトで使用される「admin」を削除し、新たなユーザー名を登録。それにより、特定されたログインIDを減らします。下記参照。

WordPressのユーザー名(admin)を変更・削除する方法
WordPressのユーザー名(admin)を変更・削除する方法のご紹介です。

wp-config.phpの保護

データベースへのアクセス情報が記載された各種設定ファイルであるwp-config.phpに外部からアクセスできないようにします。.htaccessに下記を記述します。下記参照。

<files wp-config.php>
Order allow,deny
Deny from all
</files>

パーミッションの設定変更

.htaccessのパーミッションを「604」か「606」に。wp-config.phpのパーミッションを「400」か「600」に変更すると良いそうです。下記参照。

WordPressで推奨されるパーミッション設定について - 株式会社ネディア │ネットワークの明日を創る│群馬
以前、WordPressをインストールしたらまず行うセキュリティ対策 という記事を書きました。 今回は、WordPres…

ヘッダーのバージョン情報を削除

バージョン情報が攻撃の手段を示唆する可能性があるので、その情報を削除します。functionsに以下を記述。

remove_action( 'wp_head', 'wp_generator' );

バージョン管理とプラグイン管理

WordPressのバージョンを最新の状態に保持し、不要なプラグインを削除します。この対応により、SQLインジェクション攻撃・ゼロディ攻撃・クロスサイトスクリプティングなど脆弱性につけこんだハッキングをかわす狙いです。サーバー会社が用意しているWAFを用いて対策することもできます。

検索結果及び404ページをnoindexに

検索結果や404ページを悪用したスパム。それを防ぐ対策です。大手企業でも被害を受けているので、盲点の一つのようです。これ自体は大事に至らないようですが、他人にウェブサイトを操られていることが何か嫌ですよね。下記参照。

サイト内検索画面は検索エンジンに対してnoindexにすること - はるかのひとりごと
こんにちは。鈴木はるかです。今回は、かなり重要な事をお知らせします。WordPressでは、標準のインストールで検索結果…

コメントをオフにする

設定のディスカッションにある「新しい投稿へのコメントを許可」のチェックを外す。これでコメントスパムに悩まされません。

攻撃を受けた後の影響を最小限にする方法

攻撃後の影響を小さくする方法をいくつか見つけたのご紹介します。

コーポレートサイトのサーバーと切り離す

コーポレートサイトのサーバーに侵入されるリスクを避けるため、採用サイトを別サーバーとして用意するのが良いでしょう。ランニングコストはかかりますが、もし採用サイトに侵入されてもコーポレートサイトを守ることができます。

セキュリティに力を入れているサーバー会社を選択

ある程度、セキュリティ対策しているサーバー会社を選択するべきでしょう。ネットで調べてみた感じでは、WAFを提供しているサーバー会社が良いそうです。ちなみに、有名なサーバー会社でもスキをつかれ、約8500件のWordpressサイトの改ざんを許すことになりました。いかに漏れの無い対策が難しいかがわかります。下記参照。

第三者によるユーザーサイトの改ざん被害に関するご報告 - ロリポップ!レンタルサーバー
ロリポップ!レンタルサーバー 2013年08月29日 10時57分 新着情報「第三者によるユーザーサイトの改ざん被害に関…

WordPress内で個人情報を管理しない

エントリー者をWordpressで管理していた場合、SQLインジェクション攻撃などでハッキングされると、個人情報が流出する可能性があります。管理していなければ、流出するのは登録されたユーザーの名前やメールアドレスくらいですから、最低限の被害に防げます。設定画面で苗字や名前を入力しなければ、メールアドレスだけで済みます。

その他の方法

上記方法以外の方法です。当たり前と言えば、当たり前ですが、念の為、記載しておきます。

SSL対応

通信内容の盗聴・改ざん、第三者によるなりすましを防ぎます。加えて、Webサイト表示の高速化を図ることが可能。サーバー会社によっては無料で対応できます。下記参照。

知る/活用する | JPDirect
JPDirectからドメイン名お申し込み方法の変更やサービスの変更、障害情報、メンテナンススケジュール等のお知らせをご案…

FTPを使わない

サーバーにデータをアップロードする際、FTPを使用すると暗号化されていない状態でサーバーと通信することになります。暗号化された状態で通信するにはFTPS・SFTP・SCPなどが知られているそう。ちなみに私はWinSCPを使っています。下記参照。

プロなら絶対使わない、本当は怖い「FTP」 知らずに使っていませんか? | コビトブログ
ブログを運営していると、「FTP」という文字を、見たことがある方も多いと思います。昔から、ファイルの転送に使われるプロト…

IDとパスワードを使い回わさない

複数人でウェブサイトを管理する場合、一つのIDとパスワードを複数人で使い回すケースが想定されます。その場合、どこからIDとパスワードが漏れるかわかりません。漏れるリスクを考えると、多少手間でも個々人で管理するべきだと思います。

コメント