★阿修羅♪ 現在地 HOME > 掲示板 > IT4 > 964.html
 ★阿修羅♪
次へ 前へ
》SoftEther入門 (Internet Watch) 【セキュリティーホールmemoに出てたメモ】今ホットな話題のSoftEtherです。
http://www.asyura2.com/0311/it04/msg/964.html
投稿者 クエスチョン 日時 2004 年 2 月 11 日 10:24:33:WmYnAkBebEg4M
 

(回答先: 「SoftEtherを危険視するのはおかしいです」――19歳の開発者に聞く (1/2)【IT_Media記事】 投稿者 クエスチョン 日時 2004 年 2 月 11 日 10:15:40)

》SoftEther入門 (Internet Watch) 【セキュリティーホールmemoに出てたメモ】今ホットな話題のSoftEtherです。
http://www.st.ryukoku.ac.jp/~kjm/security/memo/2004/02.html#20040204__SoftEther

(1)SoftEtherとは
(2)SoftEtherを試してみる――その1


SoftEther入門

(1)SoftEtherとは
http://internet.watch.impress.co.jp/static/column/sether/2004/02/02/

TEXT:大和 哲


■恐ろしく簡単なVPNの手段・Soft Ether

 SoftEtherは、Windows 2000/XP/2003 Serverで利用可能な、仮想ネットワーク構築・通信ソフトウェアだ。

 IPAでは、ユニークなアイディアを公募し、優秀なものにお金を出す「未踏ソフト」プロジェクトを実施している。Soft Etherは、その若年版「未踏ユース部門」に採択された開発プロジェクトの開発途中成果物で、一般に公開されている。

 このSoftEtherは現在、β3版という「未完成」の段階でありながら、今現在、もっともホットなソフトウェアと言えるだろう。

 理由は簡単で、「あまりにも簡単に、誰にでも使えるVPNソフト」であるからだ。VPNとは、Virtual Private Network、仮想的な公開されていない専用網、簡単に言えばLANを大規模に拡張したものと考えればいい。たとえば、会社などにはコンピュータのネットワークが構築されているのが普通だが、大企業などでは本社・支社間を専用線で結び、本社のコンピュータも支社のコンピュータも同じ内部ネットワークの一部として扱うことができるようになっていることが多い。そして、専用線を引くほど品質の保障が必要なかったり、安く上げたい場合は、暗号化技術を使って、インターネットを仮想的に専用線と同様に使う技術であるVPNを使うことも多い。

 VPNの設置はそれなりにネットワークに関する知識や対応機器が必要というような敷居があったが、SoftEtherは、これが、ネットワーク管理者などでなく、知識がほとんどなくとも、どんなところでもVPNを構築できてしまう。たとえば、ネットワーク的に離れた場所、たとえばルータやファイアウォールの向こうでも、非常に簡単に、複数のPCを仮想的に同じネットワークに接続させてしまうことが可能だ。VPN対応の高価な機器を揃えたり、プロクシサーバーに特別な設定をしなくても、そこを通ってどんな通信でも簡単に通すことができてしまう。

 ただ、この特長は諸刃の剣ともいえるもので、物議をかもしているのも事実だ。VPNを使いたい人には革命的に便利なソフトウェアなのだが、ネットワーク管理者からすれば、巨大な頭痛の種になりかねないものだからだ。ネットワーク管理者は、ネットワーク内の安全を守るために、外からはウイルスなどの不審なトラフィックが通らないように、一部の許可された操作以外は通信をブロックする、というような設定をファイアウォールで行なっている。

 ところが、SoftEtherをファイアウォールの中と外に入れておけば、ファイアウォール外からのアクセスを許可されていない人でも、ファイアウォールを越えてどんな通信でもできるようにしてしまえる。これは、組織内のシステムのセキュリティ上の「大穴」ともなりかねないわけで、問題になっているわけだ。


SoftEtherのバージョン情報ダイアログ


■SoftEtherの使い方

 SoftEtherの概念は、非常にシンプルだ。

 一言で言うと、他の通信プロトコルの上で「ソフトウェアで仮想のLANカード、スイッチングHUBを実現する」というものだ。たとえば、HTTPSというプロトコルがある。これは、セキュアなWebページデータの転送手段で、普通のWeb閲覧などでもよく使われるものだ。

 SoftEtherでは、2台の仮想LANカードや仮想HUBは、それぞれカード、HUBが流すデータそのものを、HTTPSやSOCKSといったプロトコル上で、エミュレートしてデータをやりとりするわけだ。


SoftEtherはPC内に仮想のハブやネットワークカードを作り出し、HTTPSなどのプロトコル上で仮想のLAN間通信を行なう。これでネットワーク的には離れていても、あたかも同じネットワーク内にいるように扱うことができる「VPN」環境を作るのだ

 たとえば、SoftEtherで、2台のパソコンに仮想LAN、仮想HUBが入っていて、接続されている。この2台はファイル共有や、片方にプリンタが接続されていてこれを共有している。パソコンからは、仮想LAN、仮想HUBを使ってSMB(Windowsファイル・プリンタ共有で使われるプロトコル)でデータをやりとりしているように見える。しかし、実際には変換されたデータがHTTPSでやりとりされている、というようなことが可能になる。

 このSoftEtherを使ったときのメリットは、たとえば、さきほどのファイル共有の場合は、SMBでは、普通ネットワークを越えての共有はできない。が、別のネットワークでも簡単にファイル共有ができてしまう、という点が挙げられるだろう。

 実際に、筆者の場合は、このSoftEtherを使って、非常に快適にファイル共有を利用している。

 自宅がYahoo! BB、作業場がBフレッツ(ISPにBB Excite利用)、さらにモバイルでは@FreeD(ISPにmopera)、とバラバラのネット環境を使っている。当然、ファイル共有などはできようがないのだが、このSoftEtherのHUBを作業場のPCに導入、そして、他のマシンに仮想LANカードを起動している。これで他のネットからでも、作業場にある書きかけの原稿や、資料などを自宅でも、外出先でもアクセスし、またフォルダに戻すということが可能になった。あるいは、プリンタの共有で、作業場で面白いWebを見つけたら、自宅のマシンのプリンタで打ち出すということもできるようになった(簡易的なFAX代わりに使えて、これが結構おもしろい)。

 また、SoftEtherでは、TCP/IP直接接続の他にも、さきほど挙げたHTTPS、Socks、SSHでの経由もできるようになっているので、たとえば、途中でProxyやファイアウォールで通信がブロックされている環境に行なっても、モバイルPCで作業場のマシンのファイルの読み書きができる(ただし、その場合は、モバイルPCが使うネットワークの管理者にSoftEtherを使う許可をもらってからにしなければならないが)。

 また、このSoftEtherは、LANカードそのものをエミュレートしているので、実際の通信はHTTPSや、SSHでも、LANを使ってできる通信ならなんでもプロキシやファイアウォールを越えて利用することができてしまう。たとえば、インターネット電話やNetMeetingなども利用できる。ちなみに、仮想HUBマシンがインターネットに接続しているWindows XPなら、OSのネットワークブリッジ機能を使えば、SoftEtherで接続しているマシンからもインターネットを利用できるようになる。

 他には、たとえば、SoftEtherのサイトではセキュアな無線LANのアクセスのために使う、というような応用も紹介されている。無線LANでは、データ暗号化の手段であるWEPに脆弱性が指摘されるなど、安全面で不安がある場合があるのだが、SoftEtherでは、SSLを利用してデータの暗号化が図られているので、他のPCによる盗聴や、データの改ざんによる成りすましなどを避けることができる、というわけだ。

 ただ、これらの応用は使えれば便利で楽しいのだが、特に安全に使う、ということになるとネットワークの知識がある程度必要だろう。

 次回は、実際にSoftEtherを使って設定の様子を紹介し、Windows XPのネットワークブリッジを利用した、他のネットワークとSoftEtherの仮想LANの接続などを解説する予定だ。
(2004/02/02)
関連情報

■ URL

SoftEther.com(SoftEtherオフィシャルページ)
http://www.softether.com/jp/

■ 関連記事

・ VPN構築ソフト「SoftEther」、SSLを採用した新バージョンを配布開始(2004/01/13)

・ 仮想ネットワーク構築・通信ソフトウェア「SoftEther」が無償公開(2003/12/15)

大和 哲
1968年生まれ東京都出身。88年8月、Oh!X(日本ソフトバンク)にて「我ら電脳遊戯民」を執筆。以来、パソコン誌にて初歩のプログラミング、HTML、CGI、インターネットプロトコルなどの解説記事、インターネット関連のQ&A、ゲーム分析記事などを書く。兼業テクニカルライター。ホームページはこちら。
(イラスト : 高橋哲史)

SoftEther入門

(2)SoftEtherを試してみる――その1
http://internet.watch.impress.co.jp/static/column/sether/2004/02/03/

TEXT:大和 哲


 今回は実際に、SoftEtherを使ってみよう。SoftEtherの設定は、他のVPNソフトに比べると、相当簡単な部類に入る。たとえば、以下のようなネットワークを作ってみるとしよう。

 オフィスと、家、そしてモバイルでPCを使っている。全てのマシンのOSはWindows XP。オフィス、自宅、モバイルはそれぞれ違うプロバイダー経由でインターネットに接続している、つまりまったく別のネットワークに属していることになる。

 オフィスのマシンはファイルとプリンタの共有を行なっていて、同じワークグループのマシンからはファイルの読み書きやプリンタでの印刷ができる。

 違うネットワークに属しているマシンを、すべて同じワークグループ内にあるようにして、このファイルを自宅のマシンや、モバイルPCからも読み書きできるようにしてみよう。

 この場合は、中心となるオフィスのPCにSoftEtherの仮想HUBと仮想LANを動かし、残りのマシンでは仮想LANカードをインストールし、それぞれオフィスマシンに仮想HUBをインストールすれば、全てのマシンを含む仮想LANができそうだ。

 なお、企業などにおけるSoftEtherの利用については、連載の最後に考察するが、オフィスのPCにSoftEtherをインストールする場合は、事前にネットワーク管理者に相談することをお勧めする。


■SoftEtherのインストール

 SoftEtherのインストール自体は非常に簡単だ。

 SoftEtherのダウンロードページより、ソフトをダウンロードし、インストールし、いくつかの設定を行なうだけだ。

 インストールを行なうと、仮想LANカードとハブの両方をインストールするか聞いてくる。これは、すべてのマシンに仮想ハブ仮想LANカード両方を入れてもかまわないし、用途により、仮想ハブと仮想LANカードの両方入れるマシンと、仮想LANカードのみを入れるマシンとに分けてもかまわない。


SoftEhterのインストーラーでは、仮想LANカードと仮想ハブ、それぞれインストールするかを聞かれる。仮想LANの中心となるマシンには仮想LANカードと仮想ハブを、それ以外のマシンには仮想LANカード(用途により仮想ハブも)をインストールしよう

 インストール終了後、再起動を行ない、コントロールパネルからネットワークの一覧を見ると、本物のLANカードを使ったネットワークと同様、SoftEtherの仮想LANカードが認識されていることが確認できる。

 SoftEtherの仮想LANカードは、WindowsからはハードウェアのLANカードなどと同様に操作することが可能だ。たとえば、TCP/IPのプロトコルを見てみよう。ハードウェアLANカードでは、ここでIPアドレスの設定を行なうが、仮想LANカードでもここで、IPアドレスを自動的に取得する(DHCPを使う)か、IPアドレスを主導で指定するか、指定する場合はいくつにするか、などを決めることができる。


1台のマシンに仮想ハブと仮想LANカード、他のマシンには仮想LANカードをインストール。これで、違うプロバイダを利用して接続しているマシン同士でVPNを組んでファイル共有やプリンタ共有を行なってみよう


■IPアドレスとサブネットマスク

 なお、ハードウェアのLANカードと、SoftEtherの仮想LANカード、2つの LANカードのアドレスは別のネットワークになるようにIPアドレスとサブネットマスクを設定する必要がある。

 このため、ネットワークのアドレス設定には注意が必要だ。というのも、(SoftEtherに限った話ではなくネットワークの基礎知識になってしまうが)ネットワークというのは、ネットワークアドレスを、サブネットマスクで、そのネットワークの中(LAN内)かネットワークの外かを区別しているからだ。

 サブネットマスクとは、以下のような数字で表わされる。

 255.255.255.0

 これは、2進数で表わすと以下のような形となる。

 11111111.1111111.1111111.00000000

 この1の部分が同じなら同じネットワーク、違うなら別のネットワークということになる。つまり、この場合、4つのうち左3つの数字の並びが同じなら同じネットワーク内ということになる。

 ちなみに、IPアドレスとネットマスクを簡単に表わすために、「192.168.1.1/24」というような表記の仕方をすることもある。この「24」は2進数でネットマスク左から24桁分「1」になっているということ。つまり、IPアドレスが192.168.1.1でネットマスクが255.255.255.0である、というのと同じ意味だ。

 たとえば、「192.168.0.1」が自分のアドレスであったら、「192.168.0.100」は自分のネットワークの中。「192.168.1.100」は外のネットワークということになる。

 さて、今回の構成で、家のPCがルータからIPアドレス「192.168.1.10」(ネットマスク「255.255.255.0」)というアドレスをもらえるとする。そして、この状況でSoftEther側が「192.168.1.100」(ネットマスク「255.255.255.0」)というようなアドレスを割り振られたしよう。

 それぞれのアドレスの割り振りは一見正しいように見えるが、このマシンから見ると、どちらのLANカードも192.168.1.xxxという同じネットワークに接続しているように見えてしまう。その結果、動作が混乱してしまうことになるわけだ。

 自宅マシンにとっては、ルータ――インターネットとつながるネットワークと、SoftEther――仮想HUBにつながるネットワークは、それぞれまったく別物なので、違うネットワークということをPCがわかるようにIPアドレスを設定する必要がある。

 SoftEtherで仮想ネットワークを構築する前に、自分の使っているネットワーク構成がどうなっているかチェックし、ネットワークのアドレスが重複してしまう場合は、場合によっては仮想LANカードをHUBに接続する前に、設定を直しておこう。

 たとえば、オフィスのネットワークが「192.168.1.x」(ネットマスク「255.255.255.0」)になっていて、こちらは変更できないという場合は、自宅のルータのネットワークは192.168.1.x(ネットマスク「255.255.255.0」)に設定すれば良い。

(つづく)
(2004/02/03)
関連情報

■ URL

SoftEther.com(SoftEtherオフィシャルページ)
http://www.softether.com/jp/

■ 関連記事

・ VPN構築ソフト「SoftEther」、SSLを採用した新バージョンを配布開始(2004/01/13)

・ 仮想ネットワーク構築・通信ソフトウェア「SoftEther」が無償公開(2003/12/15)

大和 哲
1968年生まれ東京都出身。88年8月、Oh!X(日本ソフトバンク)にて「我ら電脳遊戯民」を執筆。以来、パソコン誌にて初歩のプログラミング、HTML、CGI、インターネットプロトコルなどの解説記事、インターネット関連のQ&A、ゲーム分析記事などを書く。兼業テクニカルライター。ホームページはこちら。
(イラスト : 高橋哲史)

》 SoftEther入門 (Internet Watch)
http://www.st.ryukoku.ac.jp/~kjm/security/memo/2004/02.html#20040210__SoftEther

(3)SoftEtherを試してみる――その2
(4)SoftEtherを試してみる――その3
(5)SoftEtherはセキュリティにとって危険か?

日経コンピュータ 2004.02.09 にも SoftEther 話が出ていたのだが、 「フリー VPN ソフトは SoftEther だけじゃないんだぜ」という話は、Internet Watch にも日経コンピュータにも出てきませんね……。 まあ、SoftEther の使いやすさは他を圧倒しているのですが。


SoftEther入門

(3)SoftEtherを試してみる――その2
http://internet.watch.impress.co.jp/static/column/sether/2004/02/04/

TEXT:大和 哲


 さて、今回は仮想ハブを設定してみよう。
 仮想ハブは、その名前のとおりソフトウェアで仮想ネットワークでのハブをシミュレートしており、SoftEtherで構築するネットワークの要となるソフトウェアだ。

 前回説明したのネットワーク構成なら、オフィスPCにインストールした仮想ハブを設定することになる。


■仮想ハブの設定

 マシンにインストールした仮想ハブの設定を行なうには、「仮想HUB管理クライアント」を使う。この管理クライアントは、単純な仮想ハブと接続したTELNETクライアントで、そのため、見かけはWindows のコマンドプロンプトに文字でメニューが表示されているだけのように見える(ただし、これも将来的にはGUIにすることも考えられているそうだ)。このため、とっつきにくいユーザーインターフェイスではあるが、設定自体はさほど難しくない。

 最初に、パスワードを設定して、それから、最小限の設定としては「ユーザーの追加」、「仮想HUB IDの設定」をしておけば良い。

 SoftEtherでは、ソフト的なハブをネット上に置くことになるので、ひとつ間違うと悪意の第3者に勝手にハブを接続されてしまうことにもなりかねない。そこで、物理的なハブと違い、接続にIDとパスワードを設定して、このIDとパスワードがなければ接続できないように設定することができる。

 そのための設定が「ユーザーの追加」だ。

 また、「仮想HUB ID」というのは、SoftEtherでは、1つのマシンに複数の仮想ハブを動かすことができる。そのための番号付けだ。1台だけで使う場合はデフォルトの「0番」を利用することになるので、マニュアルにあるように、ここは何も入力せず、デフォルトのまま設定すれば良い。


「仮想HUB管理クライアント」を使った仮想ハブの設定。とっつきにくそうに見えるが、最低限「ユーザー作成」と「HUB IDの設定」を行なうだけなら、それほど難しくはない


■外部との通信をする場合は、ルータの設定を

 仮想ハブは、動作としては、本当のネットワークインターフェイスのあるポートにデータが来るのを待っている。仮想LANカードからデータが来ると、接続を確立。接続されると、仮想LANカードとデータのやりとりを仲介する、ある種のサーバーのような仕組みになっている。

 もし、SoftEtherを使って外部のネットワークにあるPCと仮想のネットワークを組むのであれば、実際のネットワークでも、外部の仮想LANカードが、この仮想ハブの使っているポートへ接続できるようにしておかなくてはならない。いわゆる「ポートを空ける」という操作をするわけだ。

 たとえば、ブロードバンドルータなどを使ってインターネットに接続している場合、通常、特に設定をしない限りは、ルータから内側のLANには複数のPCを使うことができるようにNATやIPマスカレード機能を利用することで、WAN側では1つのアドレスを、LAN内では複数のアドレスを使っているはずだ。

 このようなアドレスの使い方をしている場合、内部のPCが外部(インターネット)のサーバーにアクセスする際は、ルータが、内部のどのPCが出したリクエストがどの外部からの応答かを見分けて通信を割り振ればいいかを考えればいいだけなので、あまり問題ない。ところが、単純に外部から内部へ「通信をしたい」という要求が来ても、内部のどのマシンにその要求を転送していいかわからない。そこで、ふつう、ルータには、「このポートに要求があったらLANないのどのマシンにその要求を転送する」という設定、「ポートフォワードディング」という機能がある。

 ブロードバンドルータなどを使ってインターネット接続している場合、この機能を使って、インターネットからのSoftEtherの仮想ハブへの接続の要求を、仮想ハブを動かしているマシンに転送するようにしなければならない。

 具体的には、SoftEtherの仮想ハブは、デフォルトでは、TCPポートの7777および443で仮想LANカードからのデータを待っている。したがって、このポート番号を変更していない場合は、TCPポート7777および443へのデータ要求は、仮想ハブマシンへ転送するようにルータの設定をしておこう。


筆者宅でのブロードバンドルータ設定例。SoftEtherが使うTCPポート7777と443への通信はSoftEtherの仮想HUBマシン(ここではShiogohan 192.168.1.4)に転送するようにポートフォワーディング設定している


■リアルと仮想をつなぐブリッジ設定

 現在、仮想LANが入っているマシンに関して考えて欲しいのだが、これには、実際にはLANカードが1枚しか入っていなくても、Windowsからはもう1枚仮想のLANカードが入っているように見える。つまり、1台のマシンに2枚のLANカードが入っていて、それぞれ独立して動いているように見えるわけだ。

 普通、この2枚のLANカードには、それぞれIPアドレスを振って、パソコンは、2つのネットワークに属しているように振舞う。

 Windows XPの場合、「ブリッジ機能」を利用すると、この2つをまとめてひとつのカードとして利用することができる。これは、簡単に言うと、PCの複数のネットワークアダプタを1つのネットワークから、もう1つのネットワークへの橋渡しにする、という機能だ。

 接続した仮想ハブと仮想LANカードはそれだけで立派な仮想ネットワークになっているわけだが、しかし、仮想ネットワークだけでは機能的に足りない部分がいくつかある。

 たとえば、アドレス割り振りの問題だ。普通、LANでは、たとえば、各マシンに「192.168.1.1」、「192.168.1.2」……というように、それぞれ、違うIPアドレスを割り振るのが普通だ。たとえば、ネットマスクを「255.255.255.0」というようにしておくと、PCが通信する際に、最初の3つの数字、「192.168.1」の部分が同じならばLAN内、そうでなければLAN外と判別してルータ越しにインターネットとの通信を行なう。また、「192.168.1.1」への通信が来た、とルータがネットワーク内に通知すれば、自分への通信だ、ということがPCにはわかるわけだ。

 仮想ネットワーク内では、たとえば、DHCPサーバーのような機能はないので、マシンに手動で1台ずつアドレスを割り振るか、さもなければWindows XPのプライベートアドレス割り当てに頼るしかない。

 しかし、リアルなLAN上にDHCPサーバー機能を持つルータを使っている場合は、Windows XPでリアルなLANと仮想LANの橋渡しをしてもらえば、仮想LANのほうにもIPアドレスを割り振ることができる。

 たとえば、このDHCPサーバーがLAN内に「192.168.1.10」から始まるIPアドレスを自動的に振っているとしよう。仮想LANカードを利用しているマシンからこのハブに接続すると、ハードウェアのLANカードはそのネットワークのアドレスがあるが、それとは別に仮想LANカードには、このLAN内に振られる「192.168.1.xx」というアドレスを割り当てられる。これにより、晴れて仮想LANカードをインストールしたマシンもLAN内のマシンとしてふるまうことができる、というわけだ。

 Windows XPのネットワークのブリッジ設定の方法は簡単だ。コントロールパネルのネットワークからブリッジ設定にしたい複数のLANカード(ここでは実際のLANカードと、SoftEtherの仮想のLANカード)を選び、マウスの右クリックで「ブリッジ」メニューを選べば、このWindows XPを2つのネットワークの橋渡しにすることができる。

(つづく)


筆者宅の仮想ハブでは、実際のLANカードとSoftEtherの仮想LANカードをWindows XPの「ネットワークブリッジ」設定でブリッジしている。これで、この仮想LAN上の仮想HUBに接続したマシンにも、ルータの発行するIPアドレスが割り振られる
(2004/02/04)
関連情報

■ URL

SoftEther.com(SoftEtherオフィシャルページ)
http://www.softether.com/jp/

■ 関連記事

・ VPN構築ソフト「SoftEther」、SSLを採用した新バージョンを配布開始(2004/01/13)
・ 仮想ネットワーク構築・通信ソフトウェア「SoftEther」が無償公開(2003/12/15)

大和 哲
1968年生まれ東京都出身。88年8月、Oh!X(日本ソフトバンク)にて「我ら電脳遊戯民」を執筆。以来、パソコン誌にて初歩のプログラミング、HTML、CGI、インターネットプロトコルなどの解説記事、インターネット関連のQ&A、ゲーム分析記事などを書く。兼業テクニカルライター。ホームページはこちら。
(イラスト : 高橋哲史)

SoftEther入門

(4)SoftEtherを試してみる――その3
http://internet.watch.impress.co.jp/static/column/sether/2004/02/05/

TEXT:大和 哲


 SoftEtherのインストールと、ネットワークのIPアドレスの調整、仮想ハブのセッティングを終えたら、つづいて、仮想LANカードのハブへの接続設定を行なおう。

 SoftEtherの仮想LANカードは、Windowsから見える部分はハードウェアのLANカードと同じだが、ハードウェアのLANカードにはない部分がある。その部分の設定はWindowsではなく、付属のツールでしなくてはならない。

 そのためのツールが、SoftEtherをインストールすると使えるようになる「SoftEther接続マネージャ」だ。このツールでは、仮想LANカードをどのアドレスのハブにどのプロトコルで接続するかなどを設定できる。

 また、SSLで使われる暗号化のアルゴリズム、キープアライブパケット設定などもこのツールで行なう。


■接続先を設定する

 接続マネージャを開いてみると、「SoftEther.com Sample HUB」というアイコンが表示される。これはSoftEther の使用方法や特徴をユーザーが体験できるようにするため、期間限定で開発元から提供されている「実験用匿名仮想ハブ」だ。誰でも自由に接続して利用することができる。

 この仮想ハブと同様に、接続設定を作り、ハブ側でも設定を行なえば、仮想ネットワークを作ることができるわけだ。ちなみに、このように設定をいくつも作り、接続する仮想ネットワークを簡単に切り替えられるのもSoftEtherの特徴だ。

 接続を作る際に、まず設定が必要なのは、接続プロトコルの選択と、接続の設定だ。たとえば、今回の場合、仮想ハブに接続するプロトコルには「直接TCP/IP接続」を選び、接続設定としてはハブのあるPCのインターネットアドレスとポート番号(この後ハブ側の設定で説明するが)はデフォルトまま使っているのであれば「7777」を設定する。

 ちなみに、この接続先のアドレスは「217.0.0.1」というようなIPアドレスで指定してもいいし、また、FQDN、つまり文字で書かれた「サーバー名.ドメイン名」のタイプのアドレスでもいい。従って、プロバイダーから動的に「219.42.218.9」というようなIPアドレスが割り振られて、その都度替わってしまうというような環境でもダイナミックDNSサービスを使って(たとえばxxxxxxxxxxxxxxx.dyndns.orgというように)そちらでのアドレスを指定することも可能だ。


■SoftEhterで利用可能な4つの通信経路

 SoftEtherでは、仮想HUBに接続する際に使用するプロトコルとして、以下の4つを選択できる。

・直接TCP/IP接続
・Proxy経由接続
・SOCKS経由接続
・SSH経由接続


仮想LANを仮想ハブへ接続する。接続方法は、「直接TCP/IP接続」、「Proxy経由接続」、「SOCKS経由接続」、「SSH経由接続」から選択可能だ

 今回の想定例では、自宅からは直接TCP/IP接続を選んだが、自宅側からブロードバンドルータなどを経由してインターネットの先にある仮想ハブに接続する場合でもこの設定でいい。

 SoftEtherの最大の特徴は、HTTPSで通信を行ない、Webで使っているプロキシサーバーを通して外部のネットワークに簡単に誰でも接続できてしまう、という点だ。

 つまり、外部のインターネットへの接続は、プロキシを経由したWeb通信しか許していないというような環境でも、SoftEtherの通信経路をプロキシサーバー経由にして、外部の仮想ハブと接続してしまえば、そこからメッセンジャーやIP電話、ゲームなど、なんでも通してしまうことが可能となるわけだ。

 ただし、上記のように接続が制限されている環境では、管理者が制限をかけるのには相応の理由があるはずだ。従って、SoftEtherをプロキシ経由で使うのであれば、管理者の許可を得てからにすべきだろう。

 たとえば、いつもInternet Explorerで接続にプロキシサーバーを利用していて、その設定が以下の場合を考えてみよう。

   アドレス proxy.ochada.net ポート番号 8000

 この場合、SoftEtherを使ってWebプロキシ経由で外部の仮想ハブと接続するには、SoftEtherの仮想HUBに接続するプロトコルに「Proxy経由接続」を選び、Internet Explorerで設定していたのと同様のプロキシ設定を行なう。そして、接続先の仮想HUBのアドレスとして、先ほどの直接TCP/IP接続の場合と同様に仮想HUBのインターネットアドレスを設定すれば接続が利用できる。

 なお、このWebプロキシ経由の場合は、TCP7777ではなく、HUBのTCPポート443を利用する。この443は通常HTTPSで使われているのと同じポート番号だ。したがって、Webプロキシのログを見ても、通常のWebアクセスと変わりないログになる(ただし詳細に比較すると、接続をできるだけ効率的にするためか、長時間接続のキープアライブを利用するなど特徴的なアクセスをしている形跡は発見できる)。

 ちなみに、この仮想HUBのアドレスに、たとえば

    https://virtualhub.hoge.xxx

 というようにブラウザでアクセスした場合、セキュリティ証明書が信頼する会社から発行されていないというメッセージが表示される。そのまま、ページを表示しようとした場合エラーコード403(Forbidden)がサーバーから送られ、Webページは表示されない。

 なお、この接続ではTCPポート443を使っている。他の接続、たとえば直接TCP/IP接続ではTCPポート7777を接続用のポートに使うが、これらは単純にポート番号が違っているだけで、ハブ側から送る通信内容としては、どちらも同じ内容を送って仮想LANと通信している。


HTTPS経由接続の場合は、仮想HUBのアドレスのほかにWebプロクシのアドレスも設定する。Internet Exoplorerで使っているプロクシのアドレスをそのまま使えばよい(ただし、管理者にあらかじめプロクシ利用の許可を得ておくこと)

 SOCKSは、ファイアウォールを利用しているネットワークで、外部のコンピュータとの接続を可能にするためによく使われているプロトコルだ。たとえば、外部にFTPやTELNETで接続するときなどに、SOCKSサーバーを立てて、これらのプロトコルを中継させている。

 SoftEtherの素通しぶりを考えると管理者から許可されるとは考えにくいが、ネットワークによっては、Webプロキシからではなく、SOCKSサーバーからなら外部への接続を許可される場合もあるかもしれない。

 SOCKSでは、SOCKS4およびSOCKS5の2つのバージョンがよく使われているのだが、SoftEtherはSOCKS4にのみ対応しているようだ。このSOCKS経由の接続もSOCKSサーバーのアドレス、ポート番号、必要な場合はユーザー名、そして、仮想HUBのアドレスを指定して接続する。

 SSH経由の接続では、SSHサーバーのポート転送機能を利用して接続ができる。SSHとは、いわゆるセキュアシェルと呼ばれるものだ。TELNETと同様の機能だが、TELNETでは平文がインターネット上に流されてしまうため流れているパケットをキャプチャするとそのままIDやパスワードなども見えてしまう。利用するデータを暗号化し、こうした“盗聴”を防ぐのがSSHだ。

 SSH経由の接続では、SSHサーバーのアドレス、ユーザー名、パスワードと、仮想HUBの アドレスとポート番号を設定する。


■使い方は発想次第、ただしモラルを忘れずに

 ここまで説明したことをまとめると、以下の設定を正しく行ない、仮想LAN側から接続すれば、SoftEtherを利用した仮想ネットワークの構築ができる。

【中心になるマシン】
(1)仮想ハブをインストール
(2)仮想LANカード(接続先は127.0.0.1 TCPポート7777)をインストール
(3)ネットワークブリッジを設定
(4)接続しているルータのポートを開ける


【その他のマシン】
 仮想LANカードをインストール(接続先は仮想ハブが動いているマシンのインターネットアドレス TCPポートは7777か443)

 ネットワークのアドレスやワークグループなどの設定も正しくできていれば、他のネットワークのマシンからネットワーク越しにファイル共有を行なったり、共有しているプリンタを利用することもできる。

 また、WebプロキシでWeb接続程度しか外部への接続を許していない環境でも、前述の通り、プロキシ・仮想ハブマシン経由でメッセンジャーやIP電話やネットゲームなどのアプリケーションを利用することも可能になっているはずだ。

 ただし、くどいようだが、このような利用をする場合は、Webプロキシやネットワークの管理者の了解を得てから利用するようにしてほしい。

(つづく)
(2004/02/05)
関連情報

■ URL

SoftEther.com(SoftEtherオフィシャルページ)
http://www.softether.com/jp/

■ 関連記事

・ VPN構築ソフト「SoftEther」、SSLを採用した新バージョンを配布開始(2004/01/13)
・ 仮想ネットワーク構築・通信ソフトウェア「SoftEther」が無償公開(2003/12/15)

大和 哲
1968年生まれ東京都出身。88年8月、Oh!X(日本ソフトバンク)にて「我ら電脳遊戯民」を執筆。以来、パソコン誌にて初歩のプログラミング、HTML、CGI、インターネットプロトコルなどの解説記事、インターネット関連のQ&A、ゲーム分析記事などを書く。兼業テクニカルライター。ホームページはこちら。
(イラスト : 高橋哲史)

SoftEther入門

(5)SoftEtherはセキュリティにとって危険か?
http://internet.watch.impress.co.jp/static/column/sether/2004/02/06/

TEXT:大和 哲


 SoftEtherは、公開後、ユーザーからは非常に便利なソフトウェアとして、ネットワーク管理者からは新たな脅威として、大きな反響を呼んだ。SoftEtherに限らず、VPNを構築するためのソフトウェアは、いくつもあるわけだが、SoftEtherがネットーワーク管理という面から問題視されているのはおもに以下の点だろう。

・通信を限定できない
・ユーザーが管理者に無断で設置できてしまう
・利用方法が限定できない


 いずれもセキュリティ的には大きな問題となり得る指摘だ。連載最終回となる今回は、これら問題とされる点について述べる。


■通信を限定できない

 通信を限定できないというのは、「このポートとこのポートでの通信だけを通し、それ以外は通信しない」というような設定がSoftEther自体ではできない、ということだ。SoftEtherは、LANカードやハブをシミュレートしているため、普通にネットワークでできる通信はほぼ何でも素通ししてしまう。

 このため、外部からの攻撃のためのパケットであっても、ネットワーク内部に素通ししてしまうことになるわけだ。これはネットワークを守るために働いているネットワーク管理者にしてみれば、由々しき問題ということになるだろう。

 DHCPパケットを通さないなどの設定はハブ側で可能だが、Blaster騒動の時のように、ポートの何番を塞ぎたいというような場合は、各マシンにパーソナルファイアウォールでも入れておくしか方法がない。


■管理ポリシーから外れるという問題

SoftEtherの問題点は、せっかくファイアウォールで制限していた悪意のパケットも素通ししてしまうことだ。パーソナルファイアウォールでも使わない限り、仮想LANカードは、LANカードにできるすべての通信を行うことができてしまう

 「ユーザーが管理者に無断で設置できてしまう」という問題だが、VPNは通常、ネットワーク管理者が厳重に管理した上で、運営するものになっている。

 たとえば、サーバー、ルータ側はシスコやその代理店から対応機器を購入し、ネットワーク管理者がVPNのIDを管理・発行し、VPNクライアントソフトを配布する――というような形態の利用が多いのではないだろうか。

 しかし、SoftEtherは一般のネットワークの利用者でも、無料で非常に簡単に手に入れることができる上に、通信経路もWebプロキシなど、普通にどこのネットワークにもありそうな通り道を利用できる。このため、利用に管理者の目が届かない場合が出てしまう。

 「(組織内のネットワークから)利用をする場合は、Webプロキシやネットワークの管理者の了解を得てから利用するようにしてほしい」とこれまでの回で述べてきた。SoftEtherの場合は、“そもそも利用者から管理者に言わなければ見つからない可能性が高い”という点が問題視されているわけだ。

 「利用方法が限定できない」というのは、SoftEtherがLANカードやハブといったレベルで通信をシミュレーションしているため、TCP/IPでできる通信は全てできてしまう。

 これは、最初の問題ともリンクする話だが、たとえば、外部との接続はメールやWebしか許していないネットワークの場合、外部からの不正なデータはメールやWebデータのウイルスチェックなどを行なえば、かなり確実に防ぐことができる。

 しかし、そうした環境下で、SoftEtherをユーザーが勝手に導入してICQを使ったとしても、管理者側がICQ経由でのウイルス感染などを防ぐことができないし、そもそもクライアントがICQで接続したこと自体わからない、という可能性もあるわけだ。

 ただし、当初はSoftEtherによりユーザーが勝手に通信を行なうのは止めることができないと思われていたが、管理者側の対抗策として、プロキシの工夫などによる方法がいくつか考え出されているようなので、この手の問題のいくつかは解決できるようになるかもしれない。

 その候補として、現在一番知られているのは「One Point Wall」を使う方法だろう。

 この製品は一般的なファイアウォールでは防ぎきれない通信を、コンテンツを判断してブロックするブリッジ型ファイアウォールだ。「One Point Wall」は発売前から(SoftEther自体もベータの段階から)、HTTPS、TCP/IP直接接続、Socksサーバーいずれの経路からも、SoftEtherによる仮想ハブへの接続を遮断する、としている。

 そのほか、同じくSoftEtherの通信を遮断するための手段として、SoftEtherがβ2の段階で、プロキシサーバーとしてよく使われるDelegateでは、通信を遮断できるパッチが配布されていた。β2のSoftEtherでは、仮想ハブに接続するために、ある特定の文字列データをやりとりしていた。そこで、この文字列を見つけた場合には通信を切るという方法で、SoftEtherの通信を遮断することができたのだ。

 しかし、現在配布されているSoftEtherβ3では、全ての通信が暗号化されているため、そのような手段では通信を遮断できなくなっている。

 ただし、他のブラウザのアクセスに比べると、SoftEtherで特徴的な通信がある。たとえば、あまり頻繁に通信が途切れてしまうとSoftEtherでは効率よく回線をシミュレートできないため、サーバーとの接続を「キープアライブ」という方法で長時間ずっと保持しっぱなしになるなど、SoftEtherでは特徴ある回線の使い方をする。

 そこで現在では、これらの特徴を利用して、通信を遮断するパッチや設定が作れないかと研究されているようなので、いずれは、今まで使っているプロキシサーバーでも通信を遮断することができるようになるかもしれない。


OnePointWallのオフィシャルサイト。SoftEtherだけでなく、2ちゃんねるへの書き込みや、WinMXの通信なども防ぐことができる、とされている


■導入前には管理者に相談を

 すでに述べてきたように、SoftEtherは非常に簡単に導入でき、実用性が高いソフトウェアだ。このため、PCやソフトウェアのスキルがさほど高くないユーザーでも手軽に利用できてしまう。しかし、たとえばSoftEtherでファイアウォールを越えて組織内のLANに接続している自宅などのマシンが、万一ウイルスに感染すれば、ファイアウォール内にウイルスをばら撒いてしまう可能性もあるのだ。

 ファイアウォールを越えて通信するということは、ファイアウォールの内側と同じレベルの管理が要求されるということでもある。トラブルが起こってからでは遅いので、管理者のいる環境でSoftEtherを導入する場合は、必ず管理者に相談してから導入することをお勧めしたい。
(2004/02/06)
関連情報

■ URL

SoftEther.com(SoftEtherオフィシャルページ)
http://www.softether.com/jp/

One Point Wall製品紹介
http://www.netagent.co.jp/onepoint/

■ 関連記事

・ VPN構築ソフト「SoftEther」、SSLを採用した新バージョンを配布開始(2004/01/13)
・ 仮想ネットワーク構築・通信ソフトウェア「SoftEther」が無償公開(2003/12/15)

大和 哲
1968年生まれ東京都出身。88年8月、Oh!X(日本ソフトバンク)にて「我ら電脳遊戯民」を執筆。以来、パソコン誌にて初歩のプログラミング、HTML、CGI、インターネットプロトコルなどの解説記事、インターネット関連のQ&A、ゲーム分析記事などを書く。兼業テクニカルライター。ホームページはこちら。
(イラスト : 高橋哲史)

 次へ  前へ

IT4掲示板へ



フォローアップ:


 

 

 

 

  拍手はせず、拍手一覧を見る


★登録無しでコメント可能。今すぐ反映 通常 |動画・ツイッター等 |htmltag可(熟練者向)
タグCheck |タグに'だけを使っている場合のcheck |checkしない)(各説明

←ペンネーム新規登録ならチェック)
↓ペンネーム(2023/11/26から必須)

↓パスワード(ペンネームに必須)

(ペンネームとパスワードは初回使用で記録、次回以降にチェック。パスワードはメモすべし。)
↓画像認証
( 上画像文字を入力)
ルール確認&失敗対策
画像の URL (任意):
投稿コメント全ログ  コメント即時配信  スレ建て依頼  削除コメント確認方法
★阿修羅♪ http://www.asyura2.com/  since 1995
 題名には必ず「阿修羅さんへ」と記述してください。
掲示板,MLを含むこのサイトすべての
一切の引用、転載、リンクを許可いたします。確認メールは不要です。
引用元リンクを表示してください。