5.6. FTPの保護

ファイル転送プロトコル(FTP)はネットワーク上にファイル転送を行なう旧式の TCPプロトコルです。ユーザー認証を含む全てのサーバートランザクションが暗号化されておらず、安全性の低いプロトコルである為、注意深い設定が必要です。

Red Hat Enterprise Linux は3つのFTPサーバーを提供します。

vsftpd FTPサービス設定のセキュリティーガイドラインは次の通りです。

5.6.1. FTPグリーティングバナー

ユーザー名とパスワードを入力する前にグリーティングバナーが表示されます。デフォルトのままではクラッカーがシステムの弱点を発見するのに便利なバージョン情報がこのバナーに含まれています。

vsftpdのグリーティングバナーを変更するには次のディレクティブを/etc/vsftpd/vsftpd.confファイルに追加して下さい:

ftpd_banner=<insert_greeting_here>

上記ディレクティブの<insert_greeting_here>を グリーティングメッセージのテキストに置き換えます。

複数ラインのバナーの場合、バナーファイルの使用が最適です。 複数バナーの管理を簡素化するには、バナーを /etc/banners/という新しいディレクトリに格納します。 この例では、FTP接続のバナーファイルは/etc/banners/ftp.msgになります。 ファイルは下記例のように表示されます。:

####################################################
# Hello, all activity on ftp.example.com is logged.#
####################################################

注記注記
 

項5.1.1.1の説明通りにファイルの各ラインを220で始める必要はありません。

vsftpdのグリーティングファイルを参照するには、次のディレクティブを/etc/vsftpd/vsftpd.confファイルに追加して下さい:

banner_file=/etc/banners/ftp.msg

項5.1.1.1の説明通り、 TCPラッパーを使用して受信接続に追加バナーを送信することもできます。

5.6.2. 匿名アクセス

/var/ftp/ディレクトリの存在が匿名アカウントを有効にします。

このディレクトリを簡単に作成するには vsftpdパッケージをインストールします。 このパッケージが匿名ユーザーに対してディレクトリツリーを設定し、 匿名ユーザーにはディレクトリを読み取り専用とします。

デフォルトでは匿名ユーザーの書き込み許可は無効となっています。

注意注意
 

FTPサーバーへの匿名アクセスを有効とする場合、機密データーの保存場所に注意して下さい。

5.6.2.1. 匿名アップロード

匿名ユーザーのアップロードを許可する場合、/var/ftp/pub/への 書き込み専用ディレクトリの作成をお推めします。

この実行には次を入力します:

mkdir /var/ftp/pub/upload

匿名ユーザーにディレクトリ内を見せないようにするために、 次をタイプして許可を変更して下さい。:

chmod 730 /var/ftp/pub/upload

ディレクトリの長いフォーマット一覧は次のように表示されます。:

drwx-wx---    2 root     ftp          4096 Feb 13 20:05 upload

警告警告
 

匿名ユーザーにディレクトリの読み取りと書き込みを許可する管理者のサーバーは盗難ソフトウェアのレポジトリ化してしまう亊がよくあります。

さらにはvsftpdで、次の行を/etc/vsftpd/vsftpd.confファイルに追加して下さい:

anon_upload_enable=YES

5.6.3. ユーザーアカウント

FTPは安全でないネットワーク上で認証用のユーザー名やパスワードを 暗号化しないまま配信してしまうため、ユーザーアカウントにてサーバーへのシステムユーザーアクセス拒否を設定するようお推めします。

vsftpdのユーザーアカウントを無効にするには、 次のディレクティブを/etc/vsftpd/vsftpd.confに追加して下さい。:

local_enable=NO

5.6.3.1. ユーザーアカウントの制限

項4.4.2.4 の説明通り、PAMリストファイルを使用すると、ルートユーザーやsudo 特権のあるユーザーなど特定のグループアカウントのFTPサーバーアクセスを簡単に 無効にすることができます。 vsftpdのPAM設定ファイルは/etc/pam.d/vsftpdになります。

又、各サービスで直接ユーザーアカウントを無効にすることも可能です。

vsftpdの特定のユーザーアカウントを無効にするには /etc/vsftpd.ftpusersにユーザー名を追加して下さい。

5.6.4. TCPラッパーを利用してアクセス管理をする

項5.1.1 の説明通りTCPラッパーを使用し、 1つのFTPデーモンへのアクセスを 管理して下さい。