経済学部と自宅を結ぶ暗号化経路の試み
PPP over TCP over SSH
安田伸一
yasudas@cc.saga-u.ac.jp

1. はじめに

2. 全体像

自宅のインターネット接続を ISDN ダイヤルアップ接

ここで紹介する方法は、工藤智行「SSH の話（その続から ADSL 常時接続に替えました。“すぐに使えるイン４）」（FreeBSD サイト管理風雲録 第 19 回、Software

ターネット” のまま、電話代を節約しようという目論見でDesign 誌 2001 年 3 月号、技術評論社）で紹介されていす。しかし、電子メールで手間を増やしてしまいました。

た PPP over SSH の方法を、経済学部と自宅を結ぶ例に学外からインターネット経由で学内の電子メールを読応用したものです。

む方法として、SSL で暗号化された webmailer を使うか、まず、経済学部と自宅の二つのネットワークは、PPP

SSH などで POP や IMAP の通信を暗号化する、などのover TCP で相互に通信します。PPP over TCP は方法がありますが、使い慣れたメール・リーダを利用す

FreeBSD などにインストールされている ppp（ユーザ ppp、るには SSH を使うことになります。この方法では、POP やiij-ppp）に組み込まれている機能で、シリアル・ポートのIMAP のポート・フォワーディングを行うために TeraTerm代わりに TCP/IP を経由して point to point のネットワーでログインするなどといった、事前の準備が必要となりまクを作ります。そして、この PPP over TCP の通信を SSHす。このため、大学の電子メールが “すぐに使えるインのポート・フォワーディングで暗号化します。

ターネット” でなくなっていました。

経済学部 LAN は 133.49.52.0/22 のサブネットで、自また、ときどき、研究室の PC と ftp でファイル転送して宅 LAN は NAT の中にある 192.168.1.0/24 のサブネッいますが、大学にダイヤルアップするときと違い、商用トです。今回、紹介する暗号化経路は、この二つのサブのプロバイダ経由では暗号化経路を用意しないと ftp をネットを接続します。ただし、単純な二つのサブネットの使いたくありませんよね。

接続ではなく、二つの点で変則的です。まず、自宅

そこで、佐賀大学 LAN と自宅 LAN を接続する暗号化LAN がプライベート・アドレスで構成されているので、暗経路を用意します。自宅と学内との間のすべての通信号化経路の出口も NAT を経由してアドレス変換を行いを自動的に暗号化経路を経由させることで、“すぐに使ます。したがって、経済学部と自宅の二つのサブネットえる安全なインターネット” を実現します。POP/IMAP もは、二つのネットワークが対等に接続されているというよ

ftp もパスワード盗聴の心配なく、すぐに利用できます。

りも、NAT 内に構成している自宅 LAN から経済学部

また、暗号化経路さえ用意できれば、学部 LAN のLAN にダイヤルアップ接続している構成になります。

NetBIOS over TCP/IP だって自宅から利用できます。

もうひとつの注意点は、自宅 LAN と経済学部 LAN とただし、筆者が経済学部のネットワーク管理者であるの間の通信のうち、SSH の通信だけは、現実のインター関係上、佐賀大学と自宅を結ぶ暗号化経路ではなくて、ネットを経由した通信でなくてはならず、暗号化経路に筆者が実験した経済学部と自宅を結ぶ暗号化経路をルーティングできないことです。今回は、経済学部 LAN紹介します。の中に SSH サーバを設置したので、このサーバを含まない IP アドレスの範囲だけが暗号化経路を経由するようインターネット通信

133.49.52.0/22

192.168.1.0/24
ADSL、NAT
192.168.1.1

SSH サーバ
133.49.55.249
SSH クライアント
192.168.1.4

133.49.52.0/23
PPP サーバ
133.49.52.244

PPP、NAT
192.168.1.4

暗号化通信
図 1

暗号化通信の構成にルーティングしました。経済学部全体が暗号化経路をさせました。

経由するように設定していない点で変則的です。
具体的には、次のように設定しています（図 1）。
zz

経済学部側の SSH サーバは、133.49.55.249

3.1 SSH の設定
SSH の設定は、特に必要ありません。通常の SSH 通のアドレスを持つ FreeBSD マシンです。

信を受け付ける設定ができていれば、そのまま利用でき自宅側の SSH クライアントは、192.168.1.4 のアます。

ドレスを持つ FreeBSD マシンです。
z

自 宅LANで は 、 経 済 学 部 内 の

3.2 PPP over TCP の準備

133.49.52.0/23 の ア ド レ ス に 対 す る 通 信 が

PPP over TCP は、9010 ポートへの接続をきっかけにPPP にルーティングされて、PPP の NAT でアドして PPP が起動するように inetd に設定します。9010 ポレス変換された後、暗号化経路を経由します。

ートを使うのは、お手本の丸写しです。

ここには、SSH サーバの 133.49.55.249 が含ま/etc/services にポート 9010/tcp の名前を登録し、れません。それ以外の通信は、ADSL モデム/etc/inetd.conf に 9010/tcp ポートへの接続で PPP が起にルーティングされ、ADSL モデムの NAT でア動するように指定します。その後、inetd に HUP シグナ

ドレス変換されてプロバイダへ出て行きます。

ルを送信して、設定を更新します。
/etc/inetd.conf

3. 経済学部側の設定
経済学部側には、SSH で暗号化通信を受け付ける機
能と、PPP over TCP で通信を受け付ける機能が必要となります。今回は、同一のパソコンで両方の機能を担当

ssh‑vpn stream tcp nowait root /usr
/sbin/ppp ppp ‑direct ssh‑vpn/etc/services
ssh‑vpn 9010/tcp # PPP over TCP
カーネルに PPP が利用する tun デバイスが組み込まれていて、/dev/tun* が作成済みであることを確認します。そして、/etc/rc.conf に gateway_enable="YES"を追送します。つまり、自宅側マシンと経済学部側マシンと加します。
/etc/rc.confの間で 9010 ポートを相互に SSH で暗号化通信します。
ポート 9010 は、サーバ側で決めた ssh-vpn のポート

gateway̲enable="YES"

番号です。ここで指定したポート番号が特権ポートでは/etc/ppp ディレクトリの ppp.conf と ppp.secret に接続ないので、このコマンドはユーザ権限で実行できます。

を受け付ける項目を作成します。ここでは、ssh-vpn ラベ

また、ログアウトしても動作しつづけます。
> ssh ‑f ‑t ‑x ‑C ‑P ‑L 9010:localhost:9010
133.49.55.249 /bin/cat
shinichi@133.49.55.249's password:> netstat（中略）
tcp4 0 0 localhost.9010 *.* LISTEN

ルで始まる設定でサーバ側の PPP の動作を指定しています。
ユーザ認証には、PAP を利用します。PAP はパスワードを平文で通信しますが、PPP の通信は暗号化経路を経由するので、PAP でも十分です。
point to point で利用する IP アドレスは、クライアント側で指定することにしました。

4.2 PPP over TCP の設定

enable proxy でクライアントの通信の ARP 返答を代行

こちらも、カーネルに PPP が利用する tun デバイスがさせます。なお、よく似た設定の proxyall はクライアント組み込まれていて、/dev/tun* が作成済みであることを側サブネットの ARP 返答の代行です。今回はクライアン

確 認 し ま す 。 同 じ く 、 /etc/rc.conf

ト側が NAT を使うので、proxyall は設定しません。
/etc/ppp/ppp.conf

gateway_enable="YES"を追加します。
/etc/rc.conf

ssh‑vpn:# PPP over SSH for VPN
set ifaddr 0.0.0.0 0.0.0.0
set timeout 0
enable pap
enable proxyに

gateway̲enable="YES"
発呼側の PPP は、/etc/ppp/ppp.conf で設定します。
ユーザ shinichi で ppp の実行ができるようにするには、
network グループへの登録と ppp.conf でのユーザ名の指定が必要となります。allow users は、ppp を実行できる/etc/ppp/ppp.secretnetwork グループのユーザを指定します。default に指YourPAPName YourPAPPassword

定しないと何もできません。各セクションでの指定も必要です。

4. 自宅側の設定

ラベル warmhole は、お手本の丸写しです。
デバイス名に、ローカルの TCP ポート 9010 を指定し自宅側には、PPP over TCP で経済学部側と通信する機能と、この PPP over TCP を SSH で暗号化する機能が必要となります。こちらも、同一のパソコンで両方の機能を担当させました。
また、自宅側は、ユーザ shinichi で設定ができるようにしています。

ます。
authname と authkey で、サーバで指定した PAP のユーザ名とパスワードを指定します。
set ifaddr では、point to point 接続に使う IP アドレスを指定しています。今回は、クライアント側で一元管理することにしましたので、ここで両方を指定します。
add! で、念のために ssh の接続経路を変更しないよ

4.1 SSH の設定
SSH によるポート・フォワーディングは、次のコマンドで実行します。

うに、経済学部側 SSH サーバ 133.49.55.249 への接続
は ADSL モデム 192.168.1.1 を経由するように指定します。正しく動作するようになったら、必要ありません。

クライアント側マシンの 9010 ポートでの通信を経済学

add で PPP で通信する経済学部側のネットワーク部側サーバ 133.49.55.249 の SSH サーバに転送し、133.49.52.0/23 への経路を指定します。SSH サーバ

SSH サーバではこの通信を localhost の 9010 ポートに転133.49.55.249 を含まないようにするため、本来の経済学部のサブネット 133.49.52.0/22 は指定できません。
クライアント側のネットワークがプライベート・アドレス
なので、PPP の NAT でアドレス変換します。これにより、サーバ側から見えるクライアント側のアドレスが一つだけになり、サーバ側で ifaddr 以外の経路指定が必要なくなりました。
/etc/ppp/ppp.conf
default:
allow users shinichi
warmhole:# PPP over SSH
allow users shinichi
set escape 0xff
set device localhost:9010/tcp
set dial
set timeout 0
set authname YourPAPName
set authkey YourPAPPassword
set ifaddr 133.49.52.245 133.49.52.244
add! 133.49.55.249 192.168.1.1 # SSH
connection to eco
add 133.49.52.0/23 HISADDR
nat enable yes
nat log yes
VPN を開始するには、PPP で dial warmhole を実行します。シェルから切り離してバックグラウンドで実行するには、-background オプションをつけます。
> ppp
Working in interactive mode
Using interface: tun0
ppp ON mimizuku> dial warmhole
ppp ON mimizuku>
Ppp ON mimizuku>
PPp ON mimizuku>
PPP ON mimizuku>
または、> ppp ‑background warmhole
これで、自宅と経済学部の間の暗号化通信が開始されました。

例えば、Windows 2000 マシンでは次のようにして、再起動後も有効な経路を登録できます。
C:¥WINDOWS>route ‑p add 133.49.53.0 mask 255.255.
254.0 192.168.1.4
C:¥WINDOWS>tracert ‑d 133.49.53.1
16 ms
3 ms
3 ms 192.168.1.4
2176 ms
125 ms
133 ms 133.49.52.244
3133 ms 1124 ms
131 ms 133.49.53.1
Trace complete.

5. NetBIOS over TCP/IP の設定
Windows が使っているファイル共有でネットワークを越えるホストと通信するには、WINS サーバを使うか、lmhosts ファイルに登録する方法があります。今回の暗号化通信では、自宅側に WINS サーバを用意できませんでしたので、Windows のファイル共有を行うマシンには、lmhosts ファイルを作成しました。
Windows 95/98 では、C:\Windows に LMHOSTS ファ
イ ル を 作 成 し ま す 。 Windows 2000 で は 、
C:\WINNT\system32\drivers\etc に LMHOSTS ファイルを作成します。いずれのフォルダにも、サンプルがLMHOSTS.SAM という名前で用意されているので、参考になります。
例えば、経済学部内の ntp サーバの NetBIOS 名がclock で IP アドレスが 133.49.52.5 のマシンは、次のように指定します。
C:¥WINNT¥system32¥drivers¥etc¥LMHOSTS
133.49.52.5 clock #PRE

6. むすび上のような実験によって、経済学部内の電子メールを読むたびごとに TeraTerm でログインすることなく、すぐに利用できることができます。また、自宅内のどのマシンからも安全に経済学部の Windows マシンの共有ファイルにアクセスできるようになりました。
これを応用すれば、自宅から安全に学術情報処理セ4.3 自宅側サブネット内の経路指定ンターのメール・サーバも安全に自宅から利用できるは自宅側サブネット内の他のマシンでは、暗号化通信ずです。また、技術的には、利用が学内 IP アドレスに限を行っている経済学部の一部 133.49.52.0/23 へ向けたられている附属図書館の百科事典「ネットで百科」など

通信を PPP マシンに振り向けてやることで、PPP マシンとのサービスも自宅から利用できるように設定できるでしょ同様に暗号化通信ができます。

う。しかし、これらの応用は、学術情報処理センターのセキュリティ運用方針や附属図書館の契約形態など、技ダを表示しようとすると困ることになります。遅さの原因が術以外の問題を解決する必要がありますので、実験は仕組み自体なのか、マシンの性能不足なのか、また他慎重にする必要があると思います。に原因があるのかは、これから調べなくてはなりません。

残されている課題として、通信速度とプロトコルのオーバヘッドがあります。

今回は、PPP のパケットが TCP パケットで運ばれ、この TCP パケットが SSH の TCP パケットで運ばれていま現在の設定では通信速度が遅く、Windows のファイす。TCP プロトコルのオーバヘッドを押さえるためには、ル共有は ftp 代わり程度にしか利用できません。ping の

PPP の通信を UDP に変更すれば、通信速度も向上でき平均応答時間は 130 ミリ秒台です。それでも、十分に便るかもしれません。今後、必要があれば調査しようと思い利さを感じていますが、うっかりファイル数の多いフォルます。