2.3 接続を実現するソフトウェア
2.3.1 リモートアクセスサーバーの機能

2.2.1で述べたVPNによる接続のために必要な機能、および、2.2.5で述べたモバイルでの接続で、ダイヤルアップで直接アクセスするために必要な機能を実行するサーバーをリモートアクセスサーバーと名付けています。この2つの接続形態では、リモートのクライアントが扱うIPパケットは内部ネットワーク形式のIPパケットになります。このため、内部ネットワークのIPアドレスをリモートのクライアントに設定する機能、内部ネットワークのDNS(ドメインネームサーバー)のIPアドレスを通知したりする機能が必要になります。
 
リモートアクセスサーバー上の接続を実現するソフトウェアの機能は、
  ・ VPN制御機能(トンネリング制御、暗号化と復号化):2.3.2で説明します
  
・ ダイヤルアップ制御機能:2.3.3で説明します
  
・ 認証とIPアドレス設定のプロトコル実行機能:2.3.4で説明します
 
になります。
 以下これらの機能について説明します。
 

コース (A  B  C  D  E)



2.3.2 VPN制御

2.2.1で述べたVPNによるリモートアクセスを実現するために、オフィス内で利用しているプライベートアドレス体系によるパケットをインターネット上ではカプセル化してデータとして運ぶ方式をトンネリングといいます。
 
代表的なトンネリング用ソフトウェアとして、PPTP、IP-SEC、SSL-VPN、SSHなどがあります。

 
PPTP(7.6.7参照)は、ダイヤルアップ接続や専用線接続で用いられている第2層(ネットワークインターフェース層)のプロトコルであるPPP(Point To Point Tunneling Protocol)をインターネット経由でも利用可能にするためにトンネリングするもので、WindowsXP、Windows Vistaなどで標準サポートされています。

 
IPsec(7.6.6参照)IPパケット部だけをトンネリングするもので、第2層のプロトコルであるPPPはトンネリングしません。なお、IPsecには、トンネリングのためではなく、データ部の暗号化のために使用されるトランスポートモードもあります。IPsecはWindows Vistaで標準サポートされました。

 
SSL-VPN(7.6.3参照)は内部形式のIPパケットをTCPポートにトンネリングします。クライアント側では、ブラウザで利用しているSSLソフトをトンネリングのソフトウェアとして利用し、TCPポートを利用してSSLで暗号化して内部形式のパケットを送受信します。

 
SSH(Secure Shell)(7.6.2参照)UNIX系のOSでよく用いられているVPNで、アプリケーション層のポート転送という機能を使って内部形式のIPパケットをトンネリングし、暗号化します。

 
以上説明した4つの方式は、トンネリングする階層(インターネット層かトランスポート層かアプリケーション層か)と、トンネリングする部分(第2層ヘッダーもトンネリングするか、IP層以上だけか)の相違で方式が別れていますが、使用する目的は同じです。
 

コース (A  B  C  D  E)



2.3.3
ダイヤルアップ制御

ダイヤルアップでリモートアクセスを受け付けるための機能です。
 基本的な機能は、数チャネル〜数十チャネルのモデムまたはISDNの一次群速度インターフェース(23B+D)を接続して(モデムを内蔵しているものもある)公衆通信網、PHS網(AIR-EDGEなど)、携帯電話網などによるアクセスを可能にします。接続後、後述するPPPを用いて認証とアドレスの設定などを行い、リモートアクセスが可能となります。
 
公衆通信網はインターネット発足当初は主流のアクセス方式でしたが、ADSLや光ネットワークなどの高速な常時接続方式が主流になり、最近はほとんど使われていません。PHS網や携帯電話網は、モバイル(持ち運びしながらの使用)に用いられていますが、インターネットプロバイダーによるモバイル用のインターネットアクセスサービスが普及し、このサービスを利用してリモートアクセスを実現することが多くなってきました。この場合は、インターネットに接続した後は、VPNやNAT、プロキシなどでリモートアクセスしますので、リモートアクセスサーバーにはダイヤルアップ制御機能は必要ありません。
 
ダイヤルアップで直接アクセスする方式は、専用のモバイル端末によるフィールド業務の支援システムなどで用いられています。
 

コース (A  B  C  D  E)



2.3.4 認証とアドレス設定のプロトコル
(1) PPP(Point to Point Protocol)とPPPoE、PPTP

ポイントツーポイントとは、2つの地点を直結している通信をいいます。
 
ポイントツーポイントを実現するPPPはパソコンなどを公衆通信回線または専用線を利用してインターネットや企業内のネットワークに直結する場合のネットワークインターフェース層プロトコルとして開発されました。
 PPPは、インターネット層の情報をリモートアクセスサーバー(PPPサーバー)との間で送受信する機能(Encapsulation:カプセル化)、接続したときのユーザー認証機能(LCP:リンクコントロールプロトコル)、IPアドレスの設定機能(NCP:ネットワークコントロールプロトコル)とを持っています。
 LCPではPAP(Password Authentication Protocol)やCHAP(Challenge Handshake Authentication Protocol)を使ってユーザー認証(7.1.2参照)を行うことができます。

 
ダイヤルアップしたユーザーは、PPPによって認証され、IPアドレスやDNS(ドメインネームサーバー:ドメイン名をIPアドレスに変換するサーバー)のアドレスを設定して始めてインターネットなどとの通信が可能になります。この通信を利用して、TCP/IPが動作します。
 

PPPoE(PPPオーバーイーサーネット)は、PPPをADSL(Asymmetric Digital Subscriber Line)やFTTH(Fiber To The Home)またはCATV(Cable TV)による常時接続でも利用できるように拡張したものであり、PPPと同じようにネットワークインターフェース層で認証やIPアドレスの自動設定などを行います。
 ADSLやFTTH、CATVはブロードバンド(広帯域:1Mbps以上の通信速度)と言われ、ダイヤルアップすることなく、パソコンが起動されていれば常時インターネットに接続されているため、常時接続といわれます。日本で急速に普及し、その普及率は世界一とも言われている接続形態です。
 PPPoEはこの接続形態で多用されているプロトコルで、パソコンを起動するとこのプロトコルが働いてユーザー認証とIPアドレスやDNSのアドレスなどの設定を行います。このプロトコルを実行するためのクライアントソフトウェアは、Windowsで標準サポートされています。
 
また、PPPoEは複数のプロバイダを使い分ける機能ももっており、1本のADSL回線に家庭内LANで複数のパソコンが接続されているとき、パソコン毎に別のプロバイダを使うことも可能になります。

 2.1.2トンネリングのところで述べたPPTPもPPPの拡張系です。常時接続環境のパソコンからインターネットへ接続するためのPPPがPPPoEであり、さらにインターネットの先のオフィス内ネットワークまで延長してPPPが使えるようにしたものが、PPTPといえます。
 
PPTPもトンネリングと暗号化の機能以外にクライアント認証、アドレス設定の機能も持っています。
 

(2) IPsec、SSL、SSH
 IPsecとSSLおよびSSHは、トンネリングと暗号化の機能以外にクライアント認証の機能も持っています。後述するデジタル証明書(7.5.1参照)を利用した認証を行うことができます。インターネット層で認証を行います。
 
(3) DHCP(Dynamic Host Configuration Protocol)

DHCPはクライアントのIPアドレスを動的に割り付けるためのプロトコルおよびそのソフトウェアです。インターネット層で認証を行うソフトウェアとペアで使用します。
 LANの中で各パソコンのアドレスを自動設定するために開発されました。DHCPサーバーはIPアドレスをプールして持っており、パソコンの電源を入れるとIPアドレスが割り付けられ、パソコンをシャットダウンすると開放されます。
 
インターネットの個人ユーザ−も通常、動的な割付を利用しています。ここでもDHCPが利用可能ですが、多くのプロバイダは、前に説明したPPPoEを利用しています。
 
リモートアクセスでは、トンネリングにより、オフィス内ネットワークに接続された時に内部ネットワークのプライベートアドレスを動的に割り付ける時に使われます。ただし、動的割付を行うと、内部アドレスが分からなくても接続できてしまうため、セキュリティ面からあえて固定割付を行うこともあります。
 DHCPでは、クライアントのIPアドレスだけでなく、オプションとしてクライアントが使うDNSのIPアドレスや接続されているルーター(デフォルトゲートウェイという)のIPアドレスなどを動的に設定することもできます。また設定内容の有効期間(リース期間)を設けることもできます。
 DHCPはIPアドレスがまだ設定されていない状態で動くプロトコルですから、ブロードキャスト(同報通信)を利用してクライアントとサーバー間の通信を行います。
 DHCPを利用する利点は、利用者はIPアドレスやDNSアドレスを設定する手間が掛らないこと、アドレス設定ミスによるトラブルを回避できること、および、IPアドレスの一括管理ができることです。
 問題点は、固定割付に比べて多少セキュリティ面で低下することです。
 認証されますと内部ネットワークのアドレスが自動的に割り付けられますので、内部ネットワークのアドレスを知らなくても通信が出来てしまいます。不法侵入に関して関門が一つ減ることになります。多少面倒でもリモートのパソコンで利用する内部アドレスは固定的に割り付けて関係者以外には知らせない方が安全といえますが、ワンタイムパスワードなどにより強固な認証システムを構築すれば、動的な割付の利用も可能になります。
 

コース (A  B  C  D  E)



2.3.5
ファイアウォール

外部からの不正なアクセスを防止するメカニズムがファイアウォールです。ファイアウォールのメカニズムの主なものに、パケットフィルタリングとアプリケーションゲートウェイがあります。これらの機能を持った数多くのファイアウォール製品が提供されています。
 ファイアウォールの機能として次のようなものがあります。
 

(1) パケットフィルタリング

IPパケットの送信先アドレス、発信元アドレス、ポート番号などの組み合わせに対して、許可や禁止を設定することによってアクセスを制限します。様々なプロトコルやアプリケーションに対して柔軟な対応はとれますが、複雑なコントロールができないため、セキュリティの強度が比較的低いという欠点があります。
 
パケットフィルタリングはルーターでも提供しているものがあります。高速で、しかも比較的安価に構築できます。
 

(2) アプリケーションゲートウェイ(プロキシサーバー)
 ファイアウォールの機種によっては、2.1.4で述べたプロキシ機能を内蔵できるものがあります。アプリケーションレベルでの中継サービスによって不正アクセスを防ぎます。IPパケットを直接中継しないため、内部ネットワークに侵入することが難しくなります。また、内部のアドレスを外部に対して秘匿することができます。しかし、アクセスするクライアント台数が増加すると、オーバヘッドが大きくなりレスポンス劣化にもつながるため、専用のプロキシサーバーを検討する必要があります。
 
(3) NATとNAPT
 多くのファイアウォールが2.2.2で述べたNATとNAPTの機能を提供しています。多くのルーターでもこの機能を提供しています。NATとNAPTについては、2.2.2で説明しています。
 
(4) DMZ(非武装地帯)の提供
 ファイアウォールの機種によっては、DMZ機能を提供しています。DMZについては次のページで説明します。
 

DMZ(DeMilitarized Zone : 非武装地帯)

 DMZ(DeMilitarized Zone、非武装地帯)は、ファイアウォールによって外部ネットワーク(インターネット)からも内部ネットワーク(オフィス内LAN領域)からも隔離された区域のことです。各企業は外部に公開するサーバーをここに置いておけば、ファイアウォールによって外部からの不正なアクセスを排除でき、万が一公開サーバーが乗っ取られた場合でも、内部ネットワークにまで被害がおよぶことを防げます。
 
(5) その他
 ファイアウォールでもVPNサーバー機能を持っているものもあります。
 

コース (A  B  C  D  E)



2.3.6
プロキシサーバー(Webプロキシの例)

Webサーバーをプロキシサーバーとして用いる時は、通常のWeb機能に加えて次のようなプロキシ機能を利用します。
 
通常プロキシサーバーは、オフィス内のパソコンがインターネットのWebにアクセスする時に内部のアドレスを隠蔽する目的で用いますが、ここでは、逆に、外部のパソコンがオフィス内のWebサーバーにアクセスするための手段として用います。
 
上図の場合リモートのパソコンは、DMZにあるWebサーバー1にアクセスし、このサーバーのプロキシ機能により内部ネットワークのWebサーバー2のもつ機能を利用することができます。
 Webサーバー1を利用するためのデータの中にオフィス内のWebサーバー2の機能を利用するデータがあり、プロキシはこれを解釈して社内のWebサーバー2へこのデータを中継してWebサーバー2の機能を利用します。
 
Webサーバーのプロキシ機能の一つとして、ファイル転送を中継するためのFTPプロキシの機能を持つものもあります。

 
Webサーバーでは、CGI(Common Gateway Interface)やSSI(Server Side Include)、ASP(Active Server Pages)などを利用してWebページにリンクしたアプリケーションプログラム(AP)を作成し、このアプリケーションプログラムが、リモートで行う業務をサポートします。Webコンピューティングとも言われ、SFAなどの構築に多く使われています。
 
Webサーバー上のアプリケーションプログラムはコーディングレベルまでセキュリティに注意して、XSS(Cross Site Scripting)(4.3.2参照)やボットネットなどの脅威に対処して構築する必要があります。IPAが発行している「安全なウェブサイトの作り方」(改訂第2版)が参考になります。
 

コース (A  B  C  D  E)