PureFTPd Manager は、Mac OS X 10.6 Snow Leopard に対応しました。この FTP サーバー パッケージは、シンプルなグラフィカル インターフェースと強力で安全な FTP サーバー エンジンを組み合わせ、ニーズに応じて特定のフォルダまたはコンピュータ全体へのリモート ファイル アクセスを提供します。
PureFTPd Manager 1.8は、以前のリリースと同様に、必要なサーバーソフトウェアのインストールと設定を自動的に行います。ソフトウェア開発者はこのパッケージを無償で提供していますが、価値あるツールだと感じる方には寄付をお願いしています。
インターネット黎明期から古くから利用されてきたFTPを使う理由は、FTPではアカウントベースのアクセスを個別のデータコレクションに許可できるため、ユーザーがドライブの内容や他のアカウントのデータを閲覧できないからです。また、FTPは帯域幅が貴重だった時代に開発されたため、非常に効率的です。
サーバー側に適切なソフトウェアがあれば、特定の時間帯のみ使用可能、スループットとストレージ容量が制限され、特定のフォルダの内容にのみアクセスできるアカウントを簡単に作成できます。WebDAVとWebサーバーを使えば、これらの機能の一部またはすべてを実現できますが、まず頭を悩ませることになるかもしれません。
PureFTPd Managerは、BSDベースのPureFTPd FTPサーバーで利用可能なアクセス制御とセキュリティのための多くの機能へのグラフィカルインターフェースを提供します。PureFTPdサーバーは、古いパッチを何度も適用したシステムで悪用可能な脆弱性が繰り返し発見されたことを受けて、安全なFTPサーバーを構築するためにゼロから設計されたものです。
これらの欠陥は今や歴史に埋もれてしまいましたが、pureftpdはAppleがMac OS Xで使用しているtnftpd(以前は最初の開発者にちなんでlukemftpdと呼ばれていました)の強力な代替手段であり続けています。tnftpd自体に問題があるわけではありませんが、AppleはMac OS XとMac OS X Serverの両方でtnftpdを適切に設定しておらず、Appleの選択を覆すことも事実上不可能にしています。そして、信じてください、私は実際に試してみました。(FTPの限界とその代替手段については、最近出版した「Take Control of Sharing Files in Snow Leopard」で詳しく説明しています。PureFTPd Managerについては、
執筆時点で開発者がSnow Leopard対応版をリリースしていなかったため、本書では取り上げていません。)
私は長年PureFTPd Managerのファンです。Mac OS Xに内蔵されているtnftpdの弱点を解決し、pureftpdを使うために必要な技術的な知識を必要とせずに済むからです。pureftpdサーバーの設定は、設定ファイルではなく、非常に長いコマンドラインフラグのシーケンスを必要とするため、自分で行うのは避けたいものです。
PureFTPd Managerは、ユーザーに特定の制限やその他の設定項目を簡単に設定できるだけでなく、セキュアFTPモードの有効化も簡単に行えます。FTPは本質的に安全性の低いファイル転送プロトコルであり、パスワードは暗号化されずに送信されます。Wi-Fiホットスポットなどの公共の場所で、VPNを使用してデータを保護せずにFTPを使用すると、誰でもFTPアカウント名とパスワードを盗み見ることができる可能性があります。多くの人にとって、そのユーザー名とパスワードは、ISPやホスティングアカウントの他の部分へのアクセスにも利用され、場合によっては銀行やeコマースサイトにもアクセスできてしまう可能性があります。
FTP を暗号化でラップするか、FTP ではない SFTP、FTP over SSH、FTP over SSL/TLS の 3 つの一般的な方法のいずれかで FTP をシミュレートすることができます。
- SFTPは、FTPとは全く異なるプロトコルを使用するSSHコンポーネントに依存しており、FTPのようなアカウント管理やプロビジョニングツールは一切備えていません。ユーザーが既にSSH経由でターミナル経由で完全なアクセス権を持っているマシンにアクセスするには適していますが、アクセス制限が必要なアカウントには適していません。Mac OS Xでは、システム環境設定の「共有」で「リモートアクセス」をオンにすることでSFTPが有効になります。(Bare Bones SoftwareのRich Siegel氏は、SFTPとFTPには3つの共通点があるものの、それ以外は共通点がないと述べています。)
- FTP over SSH は、一般の人にとって設定が面倒な上に、制御チャネル、つまりアカウント情報やコマンドを送信するトランザクション部分のみを暗号化します。ファイルの送信やダウンロードに使用するデータチャネルは暗号化されません。
- FTP over SSL/TLS の設定も一般の人にとっては難しいものですが、PureFTPd Manager が役立ちます。FTP over SSL/TLS は、安全な Web トランザクションで使用されるのと同じ暗号化技術を採用しながら、ファイルの移動には FTP を使用します。FTP の管理機能と制限機能のメリットをすべて享受しながら、セキュリティをさらに強化できます。
PureFTPd Managerでは、パッケージをインストールし、簡単な初期設定アシスタントを実行した後、プログラムの設定画面を開き、「SSL/TLSセッション」をクリックします。この画面で「証明書の作成」をクリックし、既にコンピューターで使用している既存のSSL/TLS証明書をインポートするか、自己署名証明書を作成します。
自己署名とは、証明書の真正性を外部の証明機関が検証しないことを意味します。しかし、個人使用やワークグループでの使用であれば、自己署名証明書でも十分な場合が多いです。StartComのStartSSLサービスから、pureftpdで使用できる無料の証明書を入手できます。(SSLとTLSの詳細については、Chris Pepperの「SSL/TLSによる通信のセキュリティ保護:概要」(2007年6月25日)をご覧ください。)
PureFTPdマネージャの「TLSセッション」ポップアップメニューを「TLSのみ」に設定すると、FTPでSSL/TLSをサポートするFTPクライアントのみが接続できるようになります。例えばInterarchy 9では、標準FTP接続はデフォルトでセキュアリンクの作成を試みます。自己署名証明書が見つかった場合、Interarchyはその旨をトランスクリプト(「ウィンドウ」>「トランスクリプト」)に記録しますが、それでも接続は行われます。(未検証の証明書の使用を無効にするには、「Interarchy」>「環境設定」の「詳細」タブで「サーバー証明書の検証」にチェックを入れます。)
FTPは世界から見過ごされているように見えるかもしれませんが、ファイル転送のニーズにおいてFTPが最適なソリューションとなるケースは依然として多く、選択肢となるクライアントソフトウェアパッケージも数多く存在します。Fetch、Captain FTP、Interarchy、Transmitなどは、FTPを中心に構築された、あるいは他のプロトコルの中でもFTPをサポートするソフトウェアパッケージのほんの一例です。PureFTPd Managerを使えば、FTPのメリットを最大限に活かしながら、セキュリティも確保できます。