自社サーバー設置にあたって、昨今はクラウドを検討するのが普通になっています。VPSはそんな需要に応える仮想サーバーのサービスで、小規模でもコストが安く済み、自由度が高いのがメリットです。
今回はVPSの概要、またVPSの利用するときの必要なセキュリティ対策を説明します。
また、LRMでは企業がやるべきセキュリティ対策をまとめた14分野30項目のチェックシートを無料で配布しています。貴社での対策は万全か、あとは何が必要なのか、ご確認ください。
VPSの概要
VPS(Virtual Private Server)とは、仮想専用サーバーを提供するクラウドサービスを指します。1台の物理サーバーをシステム的に分割(仮想化)して、同じサーバー内に個々の契約者ごとに専用サーバーを構築できます。
VPSは事実上サーバーのみの契約と同じになり、契約者にはサーバーの管理者権限が付与され、初期設定から環境構築、日常的なメンテナンス、セキュリティ対応にいたるまでサーバーの管理全般を自ら行わなくてはなりません。
VPSでは1台の物理サーバーを共有しますが、仮想化処理により他者のOSやアプリと干渉せず、CPUやメモリも仮想サーバーごとに割り当てられ、他のユーザーの利用状況の影響を受けにくいとされます。
ただ、VPSは物理的に完全な専有環境ではないので限度があり、物理サーバーを共有する他のユーザーにアクセスが集中すると影響を受けることがあります。
VPSと共用サーバーの違い
VPSと同様に、1台の物理サーバーを共有する方法として、共用サーバーが広く使われています。VPSと共用サーバーの違いとは一体何でしょうか。
VPSの場合、1台の物理サーバーの内部に、ユーザーごとのゲストOSが用意されています。
このゲストOSとは、物理サーバーにインストールされている共用OSを土台にしてインストールされており、1台の物理サーバーの内部に、仮想的に複数のサーバーを構築するような形になっています。
このゲストOS同士は基本的に干渉し合うことはなく、メモリやCPUも、それぞれのゲストOSに割り当てられるため、他のユーザーによって障害が発生したり動作が重くなったりすることはありません。
さらに、ユーザーはゲストOS内に自由にソフトウェアなどをインストールできます。
一方、共用サーバーはホストOSにインストールされたアプリケーションをユーザー全員で利用します。1台の共用サーバー内でCPUやメモリなどを共有するため、ほかのユーザーが負荷のかかる使い方をしていると、自分の環境に影響が発生しますし、自分の使いたいソフトウェアを自由にインストールすることもできません。
VPSのメリット
専用サーバーと同様の使い勝手ながら、VPSはサーバーを仮想的に分割して他のユーザーと共有するため、専用サーバーよりも非常に安価です。
OSなどの各種リソースが独立して割り当てられるため、環境的な自由度が高く、利用できるプログラムやアプリに制限はありません。
VPSを提供しているベンダーは、ゲストOSとして使用できるOSを選択して利用できます。
使用したいアプリケーションの種類やバージョンによって、最適なゲストOSは異なるため、より快適なWebアプリケーションを動作させたい場合にも、VPSは有力な選択肢となります。
VPSのデメリット
VPSのデメリットはサーバー運用の技術的な知識がいる点です。
共有サーバーはサーバーの運用管理まで契約に含まれますが、VPSは環境構築からメンテナンスまですべて自分でまかないます。さらにVPSは決められたスペックの仮想サーバーを1台ごとに契約し、構成の変更や拡張に制限があります。
またVPSの利用料は専用サーバーよりも安価ですが、共用サーバーよりは高価です。
共用サーバーでは使用できないソフトウェアが必要な場合や、サーバーの設定を細かく調整したい場合はVPSがおすすめですが、共用サーバーで事足りる場合は共用サーバーを契約した方が、コスト面では有利になります。
VPSのセキュリティ設定は契約者自身で
VPSは自由度が高く、サーバーのセキュリティ設定も契約者に任されています。
共有サーバーでは事業者により最低限の設定がされており、契約後のデフォルト状態でもある程度のセキュリティ対策がされています。しかし、VPSはデフォルト状態ではセキュリティが十分ではありません。
VPSで適切な設定を行わないと、次のようなセキュリティリスクが生じます。
- パスワード解析によるサーバー乗っ取り
- OSの脆弱性を突いたサイバー攻撃
- 開放ポートを侵入経路とする不正アクセス
- Dos攻撃/DDoS攻撃
- SQLインジェクション
このようなリスクを回避するため、VPSではサーバーを構築する前に適切なセキュリティ設定が必要です。
そこでVPSに必要なセキュリティ設定について詳しく解説します。
VPSのセキュリティ設定
VPSを契約したらすぐに、不正アクセスによるサーバー乗っ取りや、マルウェアの感染などを防ぐため基本的なセキュリティ設定を完了させましょう。
ここではVPSに必要とされる基本的なセキュリティ設定項目とその理由を簡単に説明します。
管理者権限でのリモートログインの停止
多くのVPSでは、デフォルトでroot権限(管理者権限)によるリモートログイン設定が有効になっています。
もしrootアカウントのパスワードが知られてしまった場合、rootアカウントによるリモートログインにより、VPSが乗っ取られる恐れがあります。
そのためVPSを契約したら、速やかにrootのリモートログイン設定を無効化しましょう。これはLinux系のVPSとWindows系のVPSによって設定が異なります。
Linux系の場合、「rootユーザーのSSH接続の無効化」を行い、Windows系では「リモートデスクトップでの接続を制限」を実行します。
Linux系ではこれに加えて、新たなユーザーを作成し、そのユーザーがrootユーザーとしてログインできる設定を行います。迂回する形でrootユーザーとしてログインすることで、管理者権限の乗っ取り、ひいてはサーバー乗っ取りのリスクを下げます。
サーバーOSのアップデート
VPSを契約すると、ゲストOSをいくつかの選択肢から選ぶことができます。
ただ、VPSサービス事業者が提供するゲストOSのバージョンが最新でないことがあります。
古いバージョンのOSの場合、既知の脆弱性が解消されていないことがあるため、サーバーのログイン設定を変更したら、すぐにOSのアップデートを実行しましょう。
ポート番号の変更
サービスを一般に提供せず、社内専用や検証用程度に利用するのであれば、標準のポート番号から別の番号に変更する方法が採られることが多々あります。
特定のポートを使うシステムの脆弱性を狙った攻撃を回避するため、エンドユーザーの利用に問題がなければポート番号を変更しリスクを減らします。
代表的なものに、Linux系OSのサーバーログイン時の「SSH接続」の標準のポート番号(22番)の変更があります。22番ポートは正常な接続以外に、攻撃者の不正アクセスの経路としても使われます。したがって、任意のポート番号(特定の範囲の番号に限る)に変更することで、サーバー乗っ取りのリスクを回避します。
不要なポートの閉鎖
VPSサービス事業者により、デフォルトで余分なポートが閉鎖されている場合もあります。
そうでない場合は、開放されているポートを確認し、不要なポートを閉鎖しましょう。これにより気づかぬうちに未使用のポートやソフトの脆弱性を狙った脅威が侵入してくることを防止します。
Linux系のOSでは、iptables、firewalldで設定するのが一般的であり、Windows系の場合は、Windowsファイアウォールにて設定で不要なポートの閉鎖ができます。
もし何らかのサービスを追加したり、ソフトを利用したりする場合はその都度ポートを開けるようにします。ただし、ポートの開け忘れには注意が必要です。ポートが閉じていると、サーバーが正常稼働しているのに、提供するサービスが利用できない事態になっていまいます。
公開鍵認証の設定
Linux系においてはパスワード認証に代えて、公開鍵認証(鍵ファイルを作成し認証する方式)の仕組みを利用することもあります。
以下の3つの段階を踏み、公開鍵認証の設定を行います。
- 秘密鍵の作成
- 鍵ファイルのダウンロード・保存
- パスワードによるSSH接続の禁止
これで鍵ファイルをもつ管理者のみがVPSサーバーにアクセスできるようになります。
なお、鍵ファイルは紛失・漏えいしないよう十分に注意を払い、厳重に保管します。
VPSのセキュリティで留意すべき点
VPS設置時のセキュリティで留意すべき点は以下です。
- 定常業務の発生
- 事業者提供のセキュリティサービスの活用
- OS・パッケージ更新による設定消失の可能性
VPS契約者はサーバーの運用管理全般の責任があるため、日常的なログチェックや、サーバーOS・アプリの更新チェックのような細々した作業もこなさなくてはなりません。また独自にセキュリティシステムを導入してもよいですが、事業者が提供するサービスの活用も一つの方法です。
ほかに、OS・パッケージ更新により、設置時に施したセキュリティ設定がデフォルトに戻る可能性があります。念のため設定内容は控えておくといいでしょう。
柔軟性や性能を求めるならVPSよりIaaSやSaaS
現在、社内のIT環境の更改・整備を検討中という企業もあるかもしれません。サーバーや業務システムに関しては、今はVPSだけでなく「IaaS」や「SaaS」が利用できるようになっています。
IaaSとは「Infrastructure as a Service」の略で、ITのインフラ環境をクラウドで提供するもので、拡張性や柔軟性に優れています。利用規模が大きくても処理に安定感があるので安心です。
一方、SaaSとは「Software as a Service」の略で、クラウドのアプリを提供するサービスのことで、システムの運用保守、セキュリティサービスがすべて提供されます。
ECサービスなど、広くWebサービスを提供したいと考えているのであれば、サーバーの展開やリソース拡張、トラフィック急増に対応可能なIaaSが適しています。独自システムでなく、一般的な業務アプリで事足りるのであれば、管理の手間がかからないSaaSに乗り換える方法もあります。
まとめ
VPSは運用の自由度が非常に高いものですが、セキュリティ対策なども自分で行わなければなりません。
そのようなVPSの煩雑な運用の手間やコストを省きたい、また自由度よりも利便性を求めるならば、IaaSやSaaSのクラウドサービスがおすすめです。