中小企業でWEBサイト(WordPressで作る)を用意するときに「セキュリティ対策」が気になる会社は多いと思います。特に情報システム部門があると「セキュリティ対策」の問題が解決しないとなかなかGoサインがもらえないということもあるでしょう。
WEBサイトがハッキングされたり、サーバーがハッキングされて情報が流出したというニュースを耳にすることもあります。セキュリティ対策のプロが関わっているであろう政府や行政、大企業などでさえハッキングされてしまう時代です。中小企業がセキュリティ対策のプロに依頼せずに自力で対策できる範囲はたかが知れているかもしれません。
だからといって、セキュリティ対策をなにもしないというわけには行きません。できる対策は可能な限りやっておくべきでしょう。
※自分はセキュリティ対策のプロではないので、間違っている箇所があったらご指摘ください。というか専門の方に寄稿して頂きたい!セキュリティのプロからのご連絡をお待ちしております!
なぜセキュリティ対策が必要なのか?
そもそもなぜセキュリティ対策が必要なのでしょうか。答えはハッキングされてしまうからなのですが、ではハッキングされるとどんなことが起こるのでしょうか。
WEBサイトが改ざんされてしまうと訪問者が悪意のあるページヘ自動で飛ばされてしまったり、ウィルス付きのメールが自動送信されたり、ウィルスが仕込まれて、WEBサイトからウィルス感染させられてしまうことがあります。
2013年にはロリポップを利用している約8,000件のWordPressのWEBサイトがハッキングに遭いWEBサイトが改ざんされたこともありました。
ハッキング被害の多くは「WEBサイトの改ざん」か「不正アクセスによる情報流出」と言われています。ハッキングの手法としては「クロスサイト・スクリプティング」「SQLインジェクション」が多いようです。
クロスサイト・スクリプティング
クロスサイト・スクリプティングと呼ばれる手法では、悪意のあるスクリプト(プログラム)をWEBサーバーに仕込み、WEBサイトを閲覧したら悪意のあるWEBページ(フィッシングページなど)へ飛ばすなどの被害を発生させます。
スクリプトについて詳しくは→スクリプトとは何ですか | スクリプト センター
SQLインジェクション
SQLインジェクションと呼ばれる手法では、データーベースの操作するプログラムに対して悪意のあるSQL(攻撃コード)を実行させることでWEBサイトを改ざんさせたり、情報を抜き取られる等の被害を発生させます。
SQLについて詳しくは→とりあえずこれだけ知っとけSQL
WordPressでのセキュリティ対策でやるべきこと
WordPressで作られていなければ安全ということは全くありませんが、WindowsとMacを比べてWindowsにウィルスが多いように、世界中で使われているWordPressは攻撃対象となりやすいといえるでしょう。
WordPressはレンタルサーバーなどで簡単にインストールできてしまうため、素人がWordPressで、WEBサイトやブログを作っていることも多く、ハッキングの被害にあうことも少なくありません。
今回は、WordPressでのセキュリティ対策について重点的に取り上げておきたいと思います。
WordPressのインストール時に接頭辞を変える
WordPressをインストールする際に「接頭辞」を変えることもセキュリティ対策になります。(簡単に言うとWordPressをデフォルトのまま使わないということです)
デフォルトでは「wp_」となっていますが、ここを任意の接頭辞に変えましょう。
すでにWordPressをインストールしてしまった方は手動で変更することもできますが、データーベースやwp-config.phpの書き換えなどが必要で、下手にいじるとWEBサイトが表示されなくなることもあるので、できる人に頼むことをお勧めします。
Acunetix WP Security(後述あり)というプラグインを使うと接頭辞を変更することができますが、十分に注意して使ってください。
ユーザーIDとパスワードを複雑にする
WordPressのユーザーIDをデフォルトの「admin」のままにしている人がいますが、これは今すぐ止めましょう。
ハッキングする側もWordPressのデフォルトは「admin」であることを知っていますので、不正ログインを試みる(ブルートフォースアタックという手法)ときにユーザーIDで「admin」を試さないわけがありませんよね。
ユーザーIDが「admin」になっているユーザーアカウントは削除して、簡単にはわからないユーザーIDのアカウントを新たに作成しましょう。
またパスワードも「強力」と表示されるようなパスワードを設定しましょう。決して123456やqwertyなどにしないようにしてください。
WordPressのログイン画面でのアクセス制限
WordPressではデフォルトでURLのあとにwp-login.phpと付けると、誰でも「ログイン画面」にアクセスすることができてしまいます。
ログイン画面にアクセスできるので、手当たり次第にユーザーIDとやパスワードを試されて、ログインできてしまう可能性もあります。(だからこそユーザーIDととパスワードは重要なわけです)
ブルートフォースアタックのハッキング対策として、ログイン画面にアクセスできるIPアドレスを制限しましょう。
特定のIPアドレスだけにアクセスを許すようにするには、自分のIPアドレスをアクセス情報【使用中のIPアドレス確認】などで調べて、.htaccessファイルに記述をしてFTPソフトを使って「wp-admin」フォルダの中にアップロードする必要があります。(作業に不安がある場合はできる人に依頼した方が安全です)
またIPアドレスが変わってしまう(固定IPアドレスではない)とログインできなくなり、再度.htaccessファイルを修正する必要があります。
サーバーやFTPもIPアドレスでアクセス制限をする
WordPressのログイン画面だけでなく、サーバーやFTPもIPアドレスでアクセス制限をすることもできます。
ただし、レンタルサーバーを利用している場合は、サーバーへのアクセス制限を設定するにはレンタルサーバー会社が対応してくれないとできません。
FTPに関しては、ログイン画面のIPアドレス制限と同じように「.ftpaccess」をサーバーのルートディレクトリ直下に置くことでIPアドレスでのアクセス制限を設定することができます。
またFTPソフトを使ってサーバー接続するさいは、FTP接続はHTTPと同じくSSL化(暗号化)されていませんので、FTPS接続を利用しましょう。FTP接続はHTTPと同じくSSL化(暗号化)されていません
FTPS接続の方法は各FTPソフトによってことなりますが「暗号化」や「FTPSで接続」などの設定があると思います。
FTPSとは、TCP/IPネットワークでのファイル転送に使うFTP(File Transfer Protocol)に、伝送路を暗号化するSSL/TLSを組み合わせたプロトコル。
引用元:FTPSとは|FTP over SSL/TLS – 意味/定義 : IT用語辞典
できるだけ情報を非表示にする
WordPressのログイン画面でユーザーIDやパスワードを間違えた場合にデフォルトではエラー表示がされますが、エラー表示もハッキングする側にとっては有益な情報になってしましますので、エラー表示がされないように設定しておきましょう。
またWordPressの管理画面内に表示されるWordPressのバージョン情報なども非表示にしておくと良いでしょう。
これらの設定は「functions.php」をいじる必要があるので、WordPressでWEBサイトを構築できる人にお願いをしたほうが賢明です。
ファイルのパーミッションを設定する
サーバーにある「ファイル」のアクセス権をパーミッションといいます。このアクセス権をファイルごとに「読むことができる」「書き込むことができる」「ファイルを実行することができる」とそれぞれ設定することができます。
不正ログインによって、ファイルのなかを覗かれたり、書き換えられないようにパーミッションを設定しておきましょう。
WordPressのアップデートをする
すでにWordPressを使用している方はお分かりかと思いますが、WordPressでは頻繁にアップデートが行われます。
機能面でのアップデートが多いですが、アップデートをせずに古いバージョンをいつまでも使用していると「脆弱性(プログラムの不具合や設計上のミスが原因のセキュリティ上の欠陥)」の対応ができず、ハッキングされやすくなってしまいます。
WordPressのアップデートをするとWEBサイトでエラーがでるなどのトラブルが起こることもあるので注意が必要(アップデートしないほうがいいときは「しないほうがいいよ」という記事を誰かが書いてくれていたりします)ですが、基本的にはアップデートはしておくべきでしょう。
プラグインのアップデートをする
プラグインのアップデートもWordPressのアップデートと同じです。アップデートの通知が来たら早めにアップデートしておきましょう。
またプラグインによっては脆弱性が見つかることもあるので、セキュリティ対策を重視する場合には、なるべくプラグインを使わないでWEBサイトを構築するほうがいいでしょう。
更新が止まっているプラグインを使わない
またプラグインによっては、そのプラグインの作成者がアップデートをしなくなっている場合もあります。プラグインをインストールするさいに「最終更新」がいつ行われたのか、今のWordPressのバージョンと互換性があるのかなども確認しておきましょう。
すでにインストールしているプラグインは、プラグイン一覧から各プラグインの「詳細を表示」をクリックすると最終更新が確認できます。
Webアプリケーションファイアウォール「WAF」を有効にする
WEBサイトのセキュリティ対策の1つとして「WAF(ワフ)」と呼ばれるファイヤーウォールがあります。ロリポップやさくらサーバーなどレンタルサーバーでは導入されていることが多いので、有効化しておきましょう。
WAF(ワフ)はWeb Application Firewallの略で、Webアプリケーションのぜい弱性を悪用した攻撃からWebサイトを保護するセキュリティ対策です。Webサーバーの前段に設置して通信を解析・検査し、こうした攻撃からWebサイトを保護し、不正ログインを防ぐ役割で用いられます。
引用元:WAFとは?|SiteGuard|キヤノンITソリューションズ
WEBサイトをSSL対応する
WEBマスターの手帳もSSL対応していますが、SSL対応もサーバーとの通信を暗号化するので立派なセキュリティ対策です。
セキュリティ対策を考えるなら、中小企業であっても、問い合わせフォームだけでなく、WEBサイト全体をSSL対応しておくことをお勧めします。
次のページでは「WordPressのセキュリティ対策に使えるプラグイン」をご紹介します。