II-7-3. FTPサーバの設定

FTPの概要を説明し、FTPサーバへのアクセスとサーバの動作について解説する。さらにLinuxで動作する代表的なFTPサーバを紹介する。FTPサーバのインストールと設定、運用管理の手順について解説する。

【学習の要点】

* FTP(File Transfer Protocol)サーバはネットワークに接続しているコンピュータ間でファイルの送受信を行うためのサーバである。

* FTPは制御ポートとデータポートの2つのポートにより接続を行い、データポートはFTPサーバが設定するが、「Passive モード」を利用するとクライアントから設定することもできる。

* 一般的なFTPサーバとして、vsftpdのインストールおよび設定を行う。

* FTPの使用状況の確認や不正アクセスの監視を行うため、定期的にログファイル等の確認を行う必要がある。

図II-7-3. FTPの概要

【解説】

1) FTPとは

FTP(File Transfer Protocol)はコンピュータ間で明示的にファイルを指定して転送するプロトコルである。

FTPの特徴としては以下のような点が挙げられる。

* 異機種間接続機能

LinuxとWindowsなど異なるファイルシステムの間でファイルの転送ができる。

* 匿名による認証のサポート

不特定多数のユーザにファイル転送サービスを提供できる。

2) FTPによるファイル転送

FTPは制御ポートとデータポートの2つのポートを利用して接続を確立する。

クライアントからFTPの接続要求が来ると、制御ポートにて接続および認証を行う。その後制御ポートにてコマンドの送信と応答が行われ、データの転送が必要になるとデータポートの接続を行いデータポートにてデータの送信を行う。

データポートの接続では、サーバからクライアントへ使用するポート番号を通知し、クライアントがこのポート番号でサーバへ接続を行う。ファイアウォールなど制限されたネットワークではサーバが通知したポート番号が使用できない場合がある。この場合はクライアントから接続するポート番号の候補を通知し、その中から使用するポート番号をサーバから通知を行う「Passiveモード」にて接続を行う。

FTPで転送するデータタイプとしては、ASCIIコード、EBCDICコード、バイナリデータなどがあり、転送モードとしてはストリームモード、ブロックモード、圧縮モードが指定できる。

3) FTPサーバの設定

LinuxではvsftpdサービスによりFTPサーバを利用することができる。

vsftpdの設定は「/etc/vsftpd/vsftp.conf」、「/etc/vsftpd/ftpusers」によって行い、主な設定項目は以下の通り。

・ 匿名FTPサーバの設定

・ ユーザログインの設定

・ FTPコマンドでのデータの書き込みの設定

・ 転送ログ出力の設定

・ ユーザのUMASKの設定

・ アクセス拒否ユーザの設定

・ tcp_wrappers利用の設定

4) FTPのセキュリティ

匿名FTPサーバとして設定した場合、不特定多数のユーザからのアクセスが行われるため、オプションの設定により十分なセキュリティを確保する必要ある。

FTPでは認証時のログ、ファイル転送に関するログ、vsftpdの動作に関するログを出力する。これらのログを定期的に解析し統計情報を作成することにより、不正なアクセスの有無の調査や使用状況の確認を行う必要がある。

OSS Course Naviのコンテンツは IPA OSS モデルカリキュラムを基としています。