注意事項 :
2002年7月、Kondara Project は突然の解散を宣言し、 わずか2週間の猶予期間を残しただけで7月15日に kondara.org ドメインのサーバが停止されました。 極めて有用な財産が失われたことはとても残念です。

このページでは Kondara MNU/Linux 2.1 を紹介していましたが、 上記の理由により新規の利用者は期待できないと思われるので、 歴史的な記録としてこのページをしばらく保存することにします。 なお、混乱を避けるために、kondara.org ドメインへのリンクは外しておきました。


Since: Apr 21, 2002
Last update: Jul 16, 2002

Kondara MNU/Linux 2.1 で作る「ユーザ認証機能付き無線LANシステム」


はじめに

公共の場に設置される無線LANシステムやイーサネット・ジャックでは、 セキュリティの確保のために、ユーザ認証とアクセス制限の機能がしばしば必要になります。 このセキュリティの問題については下記ページを参照してください。

上記の文書で紹介した「認証ゲートウェイ」を使用することによって、 広く普及している廉価な無線LAN製品を使いながらも、 ユーザ認証・アクセス制御機能を有する無線LANシステムを構築することができます。 無線LANアクセスポイントと イーサネット・ジャックを混在させることもできるので、 利用者への負担も小さく、 非常に自由度の高いネットワーク構成が可能です。

この文書では、Kondara MNU/Linux 2.1 (Asumi)を使った 認証ゲートウェイの構成の手順を紹介します。 Kondara MNU/Linux 2.1 のディストリビューションには Webmin が含まれており、 Webmin によってシステムの様々な設定ができます。しかしWebmin では、 かえってわかりにくくなったり、手が出せないような設定もあるので、 ここでは Webmin に依存しないような説明にしてあります。

なお、設定方法は Linux kernel 2.4 を想定して書かれています。 前バージョンの Kondara MNU/Linux 2.0 でも同様の設定により 認証ゲートウェイを構成できます。 Kondara MNU/Linux 2000 では kernel 2.2 が採用されており、これでも 認証ゲートウェイを構成することはできますが、 設定方法が一部異なります。 ファイアウォールの機能も異なっている (ipchainsとiptables) ので、できるだけ Kondara MNU/Linux 2.1 (kernel 2.4 ベース) を使うことをお奨めします。


目次

  1. はじめに
  2. 必要なハードウェア
  3. ネットワーク構成
  4. Kondara MNU/Linux のインストール
  5. 2枚目のNICの設定
  6. DHCPサーバの設定
  7. ゲートウェイ機能と Netfilter の設定
  8. 無線LANアクセスポイントの設定
  9. Heartbeat/Watchdog 機能付き OpenSSH のインストール
  10. Simple Authenticating Gateway for Linux のインストール
  11. 端末側の設定
  12. ユーザの作成
  13. 動作確認
  14. 不要なサービスの停止
  15. サポート用ウェブサーバの設定 (オプション)
  16. その他の有用な機能の設定 (オプション)


必要なハードウェア

パーソナルコンピュータ

認証ゲートウェイとして使用するパーソナルコンピュータ(PC)は、 ネットワークの帯域幅と同時利用ユーザ数にも依りますが、 それほど高速なものでなくても構いません。 ネットワーク・インタフェースが 100BASE-TX ×2 で、 登録ユーザ数が1,000人程度ならば、Pentium 200MHz 程度のCPUで十分でしょう。 Pentium II, 300MHz 以上だと Linux のインストールも楽です。 登録ユーザ数が数千〜数万人という規模で、 ログイン時の認証時間が問題になるような場合は、より高速な CPUが必要になります。

PCのメモリが64MB程度では頻繁にスワップが起こってしまうので、 最低でも96MB、できれば128MB以上にした方が良いでしょう。

ネットワーク・インタフェース (NIC)

ネットワーク・インタフェースは最低でも 上流側と端末側で計2口が必要です。 もし論理インタフェースを使って一つのインタフェースを 共用したら、ネットワークを物理的に分離することができなくなる (ゲートウェイを経由せずにそのまま上流に出て行ける) ので、 認証ゲートウェイを使う意味が無くなってしまいます。 端末側のネットワークが2系統以上必要な場合は、 端末側にその数だけインタフェースを用意します。

無線LANアクセスポイント

このシステムでは、IEEE802.1x に非対応の廉価な無線LANアクセスポイント を使用することを想定しています。IEEE802.1x が利用できる環境ならば、 このようなシステムは不要でしょう。 Wi-Fiに準拠したアクセスポイントで、NAT機能をOFFにできるもの (どれもできると思いますが…) ならば、何でも構いません。

しかし、アクセスポイントを新規に購入する必要があり、 近い将来に IEEE802.1x に対応したサービスを提供するつもりならば、 IEEE802.1x 対応の機器に投資しておくのも良いかもしれません。


ネットワーク構成

ネットワーク構成の例を下図に示します。

Network with Authenticating Gateway

無線LANアクセスポイントやイーサネット・ジャックを収容するための、 小さめのサブネットを用意します。 24ビット・ネットマスクか、それより小さいサブネットが良いでしょう。 無線LANアクセスポイントが1台だけの場合は、PCのインタフェースに クロスケーブルで直接挿しても構いません。接続する機器が多い場合はHUB を使いますが、盗聴やDoS攻撃のリスクを少しでも小さくするために、 ダムHUBではなく、できるだけスイッチングHUBを使うようにします。

用意したPCをゲートウェイとして、上記のサブネットを バックボーン・ネットワーク に接続します。

ここでは、バックボーン側と端末側のネットワーク・アドレスと、 PCのIPアドレスが、 下表のように設定されていると仮定します。
 LAN側端末側
ネットワーク192.168.1.0 /26172.20.1.0 /26
PCのIPアドレス (device)192.168.1.2 (eth0) 172.20.1.1 (eth1)
PCに付ける別名のIPアドレス (device)  -10.0.0.1 (eth1:1)

また、端末側ネットワークのIPアドレスの割り当ては下表のように仮定します。
 IPアドレス
認証ゲートウェイ (PC)172.20.1.1
端末配布用172.20.1.2 - 59
無線LANアクセスポイント172.20.1.60
予備172.20.1.61, 62


Kondara MNU/Linux のインストール

Kondara MNU/Linux 2.1 のインストール方法については、 Kondara MNU/Linux のドキュメントを参考にしてください。

「インストールの種類」を聞かれたら「カスタムシステム」を選択します。

「ファイアウォールの設定」では、「ファイアウォールなし」を選択します。

「パッケージグループの選択」では、 面倒ならば「Everything」を選んで全パッケージを導入しても良いのですが、 余計なサービスが入るのが不安ならば適当なものを選択します。 パッケージの選択の例を以下に示します。

  [*] Network Server
  [*] Web Server
  [ ] News Server
  [ ] NFS Server
  [ ] SMB (Samba) Server
  [ ] Macintosh Connectivity
  [ ] IPX/Netware(tm) Connectivity
  [ ] DNS Name Server
  [ ] SQL Server
  [ ] PHP Server
  [ ] Printing Support
  [*] X Window System
  [*] Configuration Tools
  [*] Perl
  [ ] Ruby
  [*] Mail/WWW/News Tools
  [ ] DOS/Windows Connectivity
  [*] Networked Workstation
  [ ] Authoring/Publishing
  [*] Editors
  [ ] DSL/Dialup Support
  [*] GNOME
  [ ] KDE
  [ ] Sound and Multimedia Support
  [ ] Graphics and Image Manipulation
  [ ] Games and Entertainment
  [ ] Emacs
  [ ] XEmacs
  [*] Utilities
  [ ] Legacy Application Support
  [*] Japanese Support
  [ ] Korean Support
  [ ] Chinese Support
  [*] Software Development
  [*] Kernel Development
  [ ] Commercial Application Installation Tool
  [ ] Everything
上の選択例では /usr だけで約2GBのディスク容量が必要になります。 (カーネルの再構築は不要なので Kernel Development は外しても構いません。 設定の際に GNOME デスクトップを使わないのならば、GNOME も外して構いません。)

セキュリティをできるだけ向上させるために、不要なサービスは できる限り止めておくことが望ましいです。リモートログインや メール、ファイル共有のサービスには、特に気を付ける必要があります。 サービスの起動/停止の設定の例を以下に示します (インストール完了後は ntsysv コマンド (または setup) で変更できます)。

  [ ] FreeWnn
  [ ] adsl
  [ ] alsasound
  [*] apmd
  [ ] arpwatch
  [*] atd
  [ ] auth
  [ ] autofs
  [ ] bgpd
  [ ] canna
  [ ] chargen
  [ ] chargen-udp
  [*] crond
  [ ] daytime
  [ ] daytime-udp
  [ ] dhcpd       -> DHCP設定後に起動する
  [ ] dhid
  [ ] echo
  [ ] echo-uecho
  [ ] exec
  [ ] finger
  [ ] ftp
  [ ] gpm
  [ ] hotplug
  [ ] httpd       -> ウェブサーバ設定後に起動する
  [ ] identd
  [ ] imap
  [ ] imaps
  [ ] ipsec
  [*] iptables     ※ 必ず有効にしておく
  [ ] ircd
  [ ] irda
  [*] keytables
  [*] kondara
  [*] kudzu       -> インストール後に停止する
  [ ] ldap
  [ ] login
  [ ] lpd
  [ ] medusa
  [ ] migemod
  [ ] netfs
  [ ] netplan
  [ ] netstat
  [*] network
  [ ] nfs
  [ ] nfslock
  [ ] nscd
  [ ] ntalk
  [*] ntpd
  [ ] ospf6d
  [ ] ospfd
  [ ] pcmcia
  [ ] pop2
  [ ] pop3
  [ ] pop3s
  [ ] portmap
  [ ] postfix
  [*] random
  [*] rawdevices
  [ ] reconfig
  [ ] ripd
  [ ] ripngd
  [ ] routed
  [ ] rstatd
  [ ] rusersd
  [ ] rwalld
  [ ] rwhod
  [ ] sgi_fam
  [ ] shell
  [ ] skkserv
  [ ] snmpd
  [ ] snmptrapd
  [ ] squid
  [*] sshd
  [ ] swatch
  [*] syslog
  [ ] systat
  [ ] talk
  [ ] telnet
  [ ] tftp
  [ ] time
  [ ] time-udp
  [*] webmin      -> 設定作業が終わったら停止する
  [ ] xfs
  [ ] xinetd
  [*] xinetrc
  [ ] ypbind
  [ ] yppasswdd
  [ ] ypserv
  [ ] ypxfrd
  [ ] zebra

認証ゲートウェイでは、Secure Shell (SSH) 以外のリモートログイン のサービス (telnetd, ftpd, rshd, rlogind, rexecd) はセキュリティホールになるので、 必ず停止してください。または、管理者の計算機からのみ利用できるように、 /etc/hosts.allow と /etc/hosts.deny でアクセス制限を掛けてください。

X の設定を行うと、 デフォルトのログイン画面をテキストにするか、 グラフィックスにするかを聞かれます。ここではテキストを選んでおきます。 テキスト・ログインを選択すると起動時に run level 3 に、 グラフィカル・ログインを選択すると run level 5 になります。

もし誤ってグラフィカル・ログイン (run level 5) にしてしまった場合は、 後で /etc/inittab を編集して、下のように run level を変更しておきます。

  (変更前)  id:5:initdefault:

  (変更後)  id:3:initdefault:


続きへ
All Rights Reserved, Copyright (C) Hideaki Goto 2002