Leopardのホームディレクトリ設定(追記:Web共有の設定) Leopard で個人のホームディレクトリの場所を変更する方法について、以前の記事(Leopardのホームディレクトリ設定、および[追記])で紹介しました.その際にWEB共有で個人のホームディレクトリのコンテンツにアクセスする場合の設定変更について記述するのを忘れていましたので、WEB共有の設定変更について追記しておきます. Mac OS X 10.5 LeopardのWEB共有は Apache 2 によって実装されていますが、Apache 2の設定ファイルは /etc/apache2 に置かれています.設定ファイルの詳細な中身は各種の文献や本を参照していただくとして、個人のホームディレクトリ上のWEBコンテンツを公開するための設定ファイルは次のようになっています. まず、/etc/apache2 ディレクトリのファイルリストを見てみましょう. sh-3.2# pwd /etc/apache2 sh-3.2# ls -laR total 136 drwxr-xr-x 9 root wheel 306 Dec 20 23:06 . drwxr-xr-x 88 root wheel 2992 Dec 20 10:58 .. drwxr-xr-x 13 root wheel 442 Sep 24 10:11 extra -rw-r–r– 1 root wheel […]
Windows XP サプリカントの設定 前回の記事で、Windows XP に標準で備わっているサプリカントを使えるようにするために、サーバ側とクライアント側の証明書に拡張オプションを付け加える方法を紹介しましたが、今回は実際にWindows XP のネットワーク設定を行って802.1X認証による接続を検証してみます. Windows XPの標準で備わっているサプリカントは、EAP-TLSとEAP-PEAP にしか対応しておらず、またWPA2 にも対応していません.このままでは機能が貧弱ですので、WPA2とEAP-TTLS に対応させる方法についても紹介します. WPA2 への対応 Windows XP では最新版のサービスパック(SP2) とWindows Updateで全てのパッチを当てた状態でも、WPA2 には対応していないようです.WPA2に対応させるには、自分でMicrosoft のダウンロードサイトからWPA2対応パッチ[Update for Windows XP (KB893357) ]をダウンロードしインストール必要があるようです.このパッチを当てることによってWPA2に対応できるようになります. 【Windows XP SP3 では標準で WPA2 に対応しているようです】 EAP-TTLS に対応させる Windows XP のサプリカントは、標準ではEAP-TTLS には対応していませんが、サードパーティー製のモジュールをWindows XP にインストールする事で、Windows XP のサプリカントを EAP-TTLS 対応させることが可能です.このEAP-TTLS プラグインモジュールは “SecureW2 TTLS for Windows” という名前で、フリーソフトウェアとして配布されています. 標準状態 WPA2パッチ適用後 標準状態 SecureW2インストール後 […]
RADIUSサーバに Free RADIUS を用いる場合、EAP-PEAP, EAP-TLS を Windows XP の標準サプリカントに対応させるには特別な Extension が必要になります.
サーバ、クライアントへの証明書のインストールが済みましたので、今回はサプリカント側の設定を行って、802.1X認証がきちんと動作するか検証してみます.サプリカントとしては Mac OS X 10.4(Tiger)とWindows XP Pro (SP2) + クライアントマネージャ3(バッファロー製)の組み合わせで実験しました.
証明書をサーバとクライアントにインストールする 今回はOpenSSLのコマンドを用いて作成したサーバ証明書とクライアント証明書をインストールする手順について紹介します.作成したサーバ証明書は一般的なSSL証明書として使用可能ですので、RADIUSサーバの認証用途以外にもWEBサーバ(Apache 2)やOpenDirectoryのSSL通信用途としても使用可能です.Leopardサーバでは、サーバアプリケーション用の証明書は “/etc/certificates” に置くのが慣例の様ですので、予め作成した証明書や秘密鍵ファイルを適当な名前を付けてこのディレクトリに置いておきます. RADIUSサーバの設定 RADIUSサーバに設定するには “ServerAdmin” の”RADIUS”ペーンを選択し、”RADIUS Certificate” のプルダウンメニューから “Custom Configuraion” を選びます.ファイルへのパスと秘密鍵のパスフレーズを入力し”OK”ボタンを押します.ダイアログ右下の”Save”ボタンを押して設定を書き込みます. RADIUS関係の設定ファイルに設定した項目がきちんと書き込まれていれば問題ないのですが、何度か設定変更を繰り返していると、”ServerAdmin”を通じて変更を加えても上手く設定が反映されず、中途半端な設定となってしまい、RADIUSサーバがエラーとなって上手く起動しない事が多々ありました.このような場合は一旦”Default” の証明書に戻してから、再度設定し直すと上手く行った事がありました.RADIUSのログを見ると、”ServerAdmin” は “radiusconfig” というコマンドを発行して、RADIUS関係の設定ファイルを更新しているようです. 2007-12-10 01:45:33 +0900 – radiusconfig -installcerts /etc/certificates/server2.home.yoko.key.pem /etc/certificates/server2.home.yoko.cert.pem /etc/certificates/cacert.crt 2007-12-10 01:45:33 +0900 – command: /usr/bin/openssl rand -out **** 512 2007-12-10 01:45:33 +0900 – openssl command output: unable to write ‘random state’ 2007-12-10 01:45:33 +0900 – radiusconfig […]
PKI証明書の運用 IEEE802.1X認証システムを起ち上げるには、PKIによる証明書を準備しなければなりません.Mac OS X サーバの場合はGUIベースの”Server Admin”ツールから比較的簡単に自己署名形式のサーバ証明書を組み込むことが可能です.また、Mac OS X では標準で組み込まれている”Keychain Access” ユーティリティーによって、各種PKI証明書をハンドリングできるようになっています. 今回は、PKI認証の仕組みを理解しやすくするため、敢えてこれらのGUIベースのツールを使わずに、OpenSSL のコマンドラインから各種の証明書を作成し、802.1X認証システムを運用してみることにします. OpenSSL OpenSSLはオープンソースベースのPKI認証システムとして最も広く使われており、Mac OS X でもこのOpenSSLが使われています.PKIの仕組みを理解するのは結構大変なのですが、PKIの仕組みについては書籍などを参考にして貰うとして、ここでは簡単にPKIの仕組みを説明しておきます. PKIと証明書 PKI(Public Key Infrastructure)では、公開鍵と秘密鍵という一対の暗号鍵を利用しています.これらの2つの鍵のうちのどちらか一方で暗号化された文書は、もう一方の鍵でしか復号化できないという性質があります.データの所有者が片方の鍵(秘密鍵)で暗号化し、もう一方の鍵(公開鍵)を公開します. 秘密鍵で暗号化されたデータは、対になっている公開鍵でしか復号化できないので、そのデータの出所を証明することになります.通常、証明書にはユーザの情報(公開鍵の情報や有効期限など)を認証局(CA : Certificate Authority)の秘密鍵で暗号化した情報が書き込まれています.通常、認証局の公開鍵はルートCAとしてMac OS X やWindowsの中に組み込まれていますので、このルートCAの公開鍵で復号化することによって、この証明書が認証局によって署名・発行されたものであることが証明されます. グローバル証明書とプライベート証明書 外部公開WEBサーバなどを運用する場合は、グローバル証明書と呼ばれるVerisignやRSAなどのきちんとオーソライズされた認証機関により署名されたサーバ証明書を手配する必要がありますが、これらのサービスは有料で高価なうえ、証明書取得のための手続きも面倒で厄介です.無線LAN等の認証用途に使うのであれば、これらのオーソライズされた証明書でなくても、自分で勝手に認証局を起ち上げて、証明書に署名するだけで簡単にPKI認証システムの運用が可能です.このように組織の内部だけで運用するような証明書をプライベート証明書と呼んでいます. OpenSSLによるPKIシステムの構築 Mac OS X の場合、OpenSSL関係のファイルは “/System/Library/OpenSSL” 配下に置かれています.Mac OS X Serverでは サーバ関係の証明書は “/etc/certificates” 配下に置かれています. プライベート認証局(CA)の作成 認証局を作成するというと何か特別なサービスを提供するというイメージがありますが、単にCA証明書を作成するだけです.”/System/Library/OpenSSL/misc”というディレクトリに “CA.pl”と”CA.sh”という2つののスクリプトがあります.これらのスクリプトは認証局を作成したり証明書を作成するために用意されています.Perlスクリプトとshellスクリプトのどちらを用いても処理内容は同じです. sh-3.2# cd /System/Library/OpenSSL/misc sh-3.2# ls -la total 56 […]
IEEE802.1X認証方式 : EAP-TLS, EAP-PEAP, EAP-TTLS IEEE802.1Xの基本的な仕組みを押さえた上で、今度はサプリカントと認証サーバとの間で行われる認証方式について簡単に説明しておきます.IEEE802.1X認証方式として、EAP-TLS, EAP-PEAP, EAP-TTLS などがあり、これ以外にも EAP-MD5, EAP-LEAPなど様々な方式がある.EAP-MD5, EAP-LEAPはセキュリティー的な問題から現在では使われなくなって来ている. ・EAP-TLS サプリカントと認証サーバが相互に認証局(CA)によって発行された証明書を 交換・検証し合うことで認証を行う方式 セキュリティー的にはこの方式が一番堅固であるが、クライアント側にも証明書を インストールしなければならないので、管理・運用面で膨大な手間が掛かる. ・EAP-PEAP サーバ側だけに証明書を持たせた方式で、SSL暗号方式で暗号化された通信路内で、 ユーザをユーザIDとパスワードで認証する方式. ユーザ認証の方法としては、MSCHAPv2というチャレンジレスポンス方式が用いられる. ・EAP-TTLS 正式名称は EAP Tunneled TLS Authentication Protocolで、EAP-PEAPとほぼ同じ 仕組みである.
IEEE802.1X の概要 IEEE802.1Xは Institute of Electrical and Electronics Engineers(通称 アイトリプルイー)が定めた”Port-Based Network Access Control”という名称の規格で、LANに接続したユーザを認証することによって、ネットワークへの接続を許可・不許可するという目的で作成されたものです. 802.1Xの場合、クライアント側のPC、ネットワークスイッチや無線LANのアクセスポイントなどのネットワーク装置、RADIUSサーバなどの認証システムが絡んでおり、さらに認証のためにPKI(公開鍵基盤システム)が絡んでくるため、802.1Xの仕組みをきちんと理解していないと、802.1X認証システムを構築するのは困難です.そこで今回は、802.1Xのおさらいという意味も含めて、802.1Xの概要を説明したいと思います. まず、802.1Xの基本であるサプリカント、オーセンティケータ、認証サーバの関係を把握しておきましょう.サプリカントは無線LANやネットワークスイッチに接続し、認証を受けてネットワークを利用する側のクライアントソフトウェアの事です.通常はWindowsやMac OS X などのOSの中に最初から組み込まれている場合が殆どですが、ハードウェアのベンダ側で専用の接続ソフトウェアを用意している場合もあります.オーセンティケータはサプリカントを接続させる側のネットワーク装置の事で、認証スイッチや無線LANのアクセスポイントが相当します.認証サーバは個々のユーザ認証して通信を許可するかどうか判定するサーバで、一般的にはRADIUSサーバが用いられる. 次の図に示すように、サプリカントがオーセンティケータを介して認証サーバと交信することになる.オーセンティケータはサプリカントと認証サーバの間を取り持ち、サプリカントとオーセンティケータの間はイーサネットフレーム(MACフレーム)内にEAPパケットと呼ばれる認証情報をやりとりするための一連のデータを埋め込んで伝送する.オーセンティケータと認証サーバの間はUDPのRADIUSパケット内にEAPパケットを埋め込んで伝送している. EAPは Extensible Authentication Protocol の略で、従来のPPPプロトコルの機能拡張で、PPPプロトコル上で各種の認証方式が使えるようにしたものである. EAP認証の流れを簡単に示す.まず、サプリカントがオーセンティケータにつながると、サプリカントと認証サーバとの間で認証方式のネゴシエーションを行う.その後、EAP-TLS, EAP-PEAP, EAP-TTLSなどの認証プロトコルに従ってサプリカントのユーザ認証を行い、その結果によって認証サーバが許可か不許可の通知をオーセンティケータに送る.オーセンティケータは許可された場合はサプリカントが通信可能となるようにゲートを開ける.この際に、認証VLANなどではユーザが所属するVLAN番号が通知され、オーセンティケータはサプリカントがつながっているポートのVLANを変更する.無線LANの場合には、暗号通信用のキーを配布するメッセージ(キー・フレーム)がオーセンティケータからサプリカントに送られる.
Leopard Server のRADIUS Leopard Server で新たにRADIUSサーバが標準でインストールされるようになりましたが、このRADIUSサーバがどのようにLeopard Serverにインプリメントされているか、ちょっと覗いてみました. Leopard Server のFreeRADIUSでは、GUIベースで管理できる項目は極わずかで、実質的にAirMacベースステーションと組み合わせて使うという前提でインプリメントされているようです.勿論、Free RADIUSですので、自分で各種設定ファイルを編集すれば普通のRADIUSサーバとして使用可能です. Leopard Serverで使われているRADIUSサーバは “Free RADIUS” で、オープンソースベースのものとしては一般的に良く用いられているものです.インストールされているFree RADIUSのバージョンは OSXServer 10.5.1 (Build 9B18)で最新版のVersion 1.1.7のようです. sh-3.2# /usr/sbin/radiusd -v radiusd: FreeRADIUS Version 1.1.4, with security changes through 1.1.7, for host apple.com, built on Sep 23 2007 at 22:52:02 Copyright (C) 2000-2007 The FreeRADIUS server project. Free RADIUS 関係の設定ファイルは /etc/raddb […]
LeopardサーバにインストールされたRADIUSサーバとAirMac(AirPort)ベースステーションを組み合わせると、比較的簡単に無線LANに802.1x 認証機能を持たせることができます.