Linuxで安全に無線LAN
KoedoLUG発表資料
Linuxで安全に無線LAN
無線LANを安全に使うには
54Mbpsで通信可能なIEEE 802.11gやIEEE 802.11aに対応したコンシューマ向けルータを購入すると、セキュリティの設定の項目として、WEPとWPAを選択できるようになっている。2006年、現在では公衆無線LANサービスでよく使われている、11Mbpsの通信速度を持つ802.11bの時代に規定されたWEP(Wire Equal Privacy)という規格は、通信速度の向上や計算速度の向上などのよって、すでにその気になればだれでも容易にのぞき見できるという意味で、安全ではなくなっている、というのが常識だ。
そこで、WPA/WPA2というIEEE 802.11iにより規定された新しい規格が登場する。コンシューマ向けには、TKIPとAESという2つの規格がある。TKIPとはWEPをその下層通信手段として利用するものの、一定時間ごとに秘密鍵を変更・交換することで、盗聴のリスクを下げようというものだ。AESとは、次世代暗号化の標準規格のことで、現在では推奨される設定だ。マニュアル類やルータの箱には、WPA(TKIP), WPA-PSK, WPA-PSK(AES), WPA2などと標記されているはず。確認してみよう。
必要なもの
- ハードウエア
- 無線LANカード - CardBUSかPCIのもの、内蔵が推奨。USB接続はうまく利用できないでしょう。
- ソフトウエア
- kernel ドライバ
-
Atheros の場合はmadwifi
-
Intelの場合 ipw2100/ipw2200
-
prism54 ドライバなど
-
wireless-tools
-
iwconfig, iwlistなどのコマンド群 -WEPだけだったらこれだけで十分。でも、WEPはお勧めしません。
-
WPA supplicant - WEP/WPA/WPA2などのセキュリティをサポートする常時起動のデーモンとクライアント
-
Network Manager - いま注目のWPAにも対応可能なGUI。
設定法
WEPだけの場合は、wireless-toolsはifupdownと統合されているので、
/etc/network/interfacesに
auto eth1 inet dhcp
wireless-essid Home
wireless-key1 s:key
wireless-keymode restricted
というようにする。
/etc/wpa_supplicant/wpa_supplicant.conf
ctrl_interface=/var/run/wpa_supplicant
network={
scan_ssid=1
key_mgmt=WPA-PSK
proto=WPA WPA2
pairwise=CCMP TKIP
ssid="Linksys_travel"
#psk="The firefox is wonderful browser and the linux is excellent OS"
psk=f39d85e79d26055c3162d1d080891c3009d8f180a710601dd7ede77b7653a78d
priority=1
}
このpskの作り方ですが、
wpa_passphrase ssid “pass phrase” >> /etc/wpa_supplicant.conf
のようにすることで、生成される。
最新のwpa supplicantでは、 ifupdownと統合されています。/etc/network/interfacesに次のように記述しておく。
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# This entry denotes the loopback (127.0.0.1) interface.
auto lo
iface lo inet loopback
# This entry was created during the Debian installation
iface eth0 inet dhcp
iface eth1 inet manual
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
wpa-action /etc/wpa_supplicant/wpacli-action-dhclient
これでは、無線の設定をしたら、dhcpでアドレスを取得することを指定している。
Wpacli-action-dhclientは、debianの場合には、/usr/share/doc/wpasupplicant/exampleの下に入っているので、場所を移しておく。
コンパイルの注意点
wpa_supplicantをコンパイルする場合、一部注意する点がある。たとえば、madwifiと組み合わせて両方をコンパイルする場合、wpa_supplicantのmakefileを修正して、madwifiのソースの場所を指定する必要がある。また、wpa_supplicantは日進月歩で進歩しているので、あなたの使っているディストリビューションでは、バイナリパッケージでは、うまくいかないかもしれない。
IPWのインターフェースのバージョン
IPW2200のっっxバージョンからは、kernelのwireless extensionインターフェースを使うようになっている。過去のIPW2200ドライバの場合は、wpa supplicantにIPWインターフェースを指定するが、現在ではwextインターフェースを指定する必要がある。