Webサイト運用のためには、セキュリティ対策が欠かせません。パソコンのセキュリティ対策と同様、ネットワークやサーバ、アプリケーションなどのセキュリティも完全ということはなく、ネット環境の変化や技術進歩に合わせて常に更新し続けなければなりません。
「自分たちの会社はそこまで大きくないから、サイバー攻撃に遭う心配はない」と思っている方もいらっしゃるかもしれませんが、不正アクセスやサイバー攻撃の被害は、企業の大小に関わらず起こっています。むしろ、大企業はお金や人材をかけて年々セキュリティ対策を強化しているため、セキュリティ対策が甘い中小企業への攻撃が増えています。一度被害を受けてしまうと、顧客からの信頼を取り戻すには相当の時間がかかります。
Webサイトをサイバー攻撃から守るためには、セキュリティ対策をすることが大切です。本記事では、Webサイト運用のために必要なセキュリティ対策について解説します。
Webセキュリティ対策の基本
毎日のように、Webサイトの脆弱性や管理方法の欠点をついた情報漏えい、ページ内容の書き換えなどが頻発しています。
Webサイトを安全に運営するためにはセキュリティ対策を徹底し、常に外部からの攻撃を想定して、アプリケーション等のこまめなアップデートが必要です。
セキュリティ対策を怠ることで想定される被害
もしサイトのセキュリティ対策が不十分な場合は、以下のような被害が想定されます。
データ喪失
外部からWebサイトがサイバー攻撃を受け、サイト内のデータが失われてしまうことです。サイト内のデータが失われてしまうとその復旧に時間がかかり、本来の業務がストップしてしまいます。
データ書き換え
サイバー攻撃によってサイト内のデータが書き換えられることです。サイトデータが書き換えられてしまうと、企業のイメージダウンにつながります。それだけでなく、金銭目的でWebサイトにマルウェアやウイルスを仕込んで閲覧者に感染させたり、自動的に悪意のある外部サイトへ誘導させたり、といったケースも増えています。
サーバデータ漏えい
サーバに入るためのIDやパスワード、サーバ内のサイトデータが外部に流出することです。サーバ内のデータが流出すると、他の攻撃者によって、サーバ内に保管してあるデータが破壊されるリスクが高まります。
通信記録傍受
サイバー攻撃によってネット上での通信記録が傍受されることです。傍受されると、個人情報や企業機密などが外部に漏えいし、事業に多大な損失をもたらします。
このように、サイトのセキュリティ対策を怠ると、データの喪失や情報漏えいなどの被害に遭う可能性が高まります。手始めに中小企業を攻撃し、メールシステムを経由して大企業のシステムへと侵入し、大企業に損害を与えるというケースもあります。
また、企業だけではなく、個人も同様の被害に遭う可能性はあります。事業規模に関係なく、セキュリティ対策を万全にする必要があるのです。
セキュリティ対策の基本の考え方
具体的なセキュリティ対策を行う前に、セキュリティ対策の考え方の基本を理解しておきましょう。
攻撃者はサイトの「脆弱性」をついてくる
攻撃者はサイトの「脆弱性」をついてきます。Webサイトは人間が設計して作ったものであり、人が運用するものです。人間の手によって作り出したものである以上、欠陥が見つかることがあります。攻撃者はその欠陥をついて攻撃をしかけてくるのです。つまりセキュリティ対策を万全にするということは、サイトの欠陥(脆弱性)を補うことでもあります。
頻繁にアップデートをする
Webサイトの脆弱性をなくすためには、サイト運営に使用しているCMSやアプリケーションなどをこまめにアップデートすることが欠かせません。世界的に利用者数の多いWordPressは、そのユーザー数の多さから攻撃対象になりやすいCMSですが、プログラムに脆弱性が見つかるとエンジニアたちによってすぐに修正されます。
配布される最新版に常にアップデートし続けていれば、WordPressの脆弱性をついた攻撃に対処できるというわけです。
サーバ、ネットワーク、アプリケーションごとに対策する
Webサイトのセキュリティを高めるためには、サーバ、ネットワーク、アプリケーションごとにそれぞれ対策を行うことが大切です。攻撃者はさまざまなやり方でサイバー攻撃をしかけてくるので、Webサイト運営に必要な3つの要素すべてに対策を行うことが必要なのです。
具体的なセキュリティ対策の方法
それでは、サーバ、ネットワーク、アプリケーションごとに、セキュリティ対策の具体的な方法にはどのようなものがあるのでしょうか。
サーバのセキュリティ対策
セキュリティパッチを適用する
Webサイトのセキュリティの脆弱性はOSやサーバ、アプリケーションなど、サイトを構成するさまざまな要素のなかに存在している可能性があります。攻撃を防ぐためにも、この脆弱性を改善するためのセキュリティパッチの適用を行いましょう。セキュリティパッチとは、プログラムの脆弱性などを修正するためのプログラムです。
公開Webサーバの管理をしている場合、公開Webサーバの脆弱性に関する情報を常に集めておくことも、忘れないようにしましょう。
不要なファイルやアプリケーションを停止・削除する
利用頻度が低い、または不要なアプリケーションがある場合は削除しましょう。不要なアプリケーションや、特定のユーザーのみが使用しているアプリケーションは、管理が行き届かないことが多いからです。
不要なアカウントを削除し、パスワードを推測されにくいものにする
サーバ運用時に不要なアカウントがあると、それが脆弱性につながります。不要なアカウントは削除しましょう。
また、安易なパスワードでは不正ログインにつながる可能性が高いので、推測されにくい複雑で長いパスワードを設定しましょう。二段階認証が可能なら、設定しておくことをおすすめします。
アクセス制限をかける
第三者がWebサーバのファイルにアクセスできないよう、適切なアクセス制御を行いましょう。
サーバのログを保管する
事故やトラブルが発生した場合に備え、サーバのアクセスログを保管しておきましょう。アクセスログを残しておけば、トラブルが起きた原因を突き止めやすくなります。
物理的な対策を行う
サーバのセキュリティ対策で特に重要なことが、物理的に対策を行うことです。サーバマシンを管理者以外には触らせず、アクセスできる担当者の数をできる限り少なくしましょう。
また、複数人で一つのアカウントを共有すると情報漏えいの可能性が高まるため、担当者が複数いる場合は各自アカウントを作り、サーバを管理するようにしましょう。
ネットワークのセキュリティ対策
不審な通信を遮断する
外部から内部への不審な通信を遮断するために、境界ルータなどのネットワーク機器を使用しましょう。
ファイアウォールを適用し、通信をフィルタリングする
ファイアウォールとは、外部ネットワークからの通信を常に監視し、不正アクセスを防ぐためのプログラムです。ファイアウォールを使って通信をフィルタリングすれば、不正アクセスに遭う可能性は低くなりますが、使用しているソフトウェアもブロックされてしまう場合もあるので、そのような場合は適切な通信のみを通すようにしましょう。
IPSやWAFでサーバへの不正アクセスを遮断
IPS(Intrusion Prevention System=不正侵入防止システム)は不正通信をリアルタイムで監視し、不正通信を遮断したり、不正アクセスを破棄したりするためのプログラムです。
WAF(Web Application Firewall)は、サイトとユーザーの間で行われる通信を検査し、不正通信を検知・遮断するブログラムです。このWAFは以下で述べるXSS攻撃やSQLインジェクションにも対応しており、情報流出を未然に防いでくれます。
XSS対策を行う
XSS(クロスサイトスクリプティング)とは、Webページに存在する「お問い合わせフォーム」などに悪質プログラムを送信し、ページを不正操作する攻撃です。サーバにログインせずにページのレイアウトや動作を変えるので、攻撃を受けると修復に時間がかかってしまいます。
このXSSを防ぐためには、プログラムで悪意のあるタグを無効化するサニタイジングという対策が有効です。また、上記のWAFによってプログラムの文字を無害化するという方法があります。
SQLインジェクション対策を行う
SQLインジェクションとは、「お問い合わせフォーム」などに入力されるデータのなかに、プログラムを動かすための「SQL言語」を注入し、アプリケーションを不正に操作する攻撃方法です。
この攻撃を防ぐためには、SQL言語を一般的な文字列に変換するエスケープ処理や、WAFでアクセスをブロックする方法があります。
CSRF対策を実施する
CSRF(クロスサイトリクエストフォージェリ)とは、ログインユーザーを悪質な別サイトへ誘導し、そこで自動的にユーザーの意図しない処理をする攻撃方法です。CSRFはWebアプリケーションの脆弱性をついた攻撃方法で、不正なリクエストの受信や処理をしないようにすることで対策できます。
アプリケーションのセキュリティ対策
アプリケーションを作るソフトウェアの脆弱性対策をする
アプリケーションは通常、複数のソフトウェアによって構成されており、そこに脆弱性が発見されることもあります。アプリケーションに脆弱性が発見されたとき、直ちにアップデートできるよう、運営するサイトにどのようなアプリケーションが使われているかを把握しておきましょう。
アプリケーションのログを保管する
アプリケーションのログを保管しておけば、トラブルがあったときにその原因を突き止めやすくなります。
アップデートをこまめに行う
アプリケーションのアップデートをこまめに行い、脆弱性をなくすように心がけましょう。
セキュリティ対策は万全に!
今回は、Webサイト運営に必要なセキュリティ対策をサーバ、ネットワーク、アプリケーションごとに解説しました。セキュリティ対策を万全にしておけば、比較的安全にWeb サイトの運営ができるでしょう。万が一、サイトの脆弱性が発覚した場合は迅速に対策し、情報漏えいや不正アクセスを防ぎましょう。
クラウド型CMSを導入するならPattern Style CMS