ex1-lab

Linux, CentOS, Mac OS X, Windows, 仮想化, Apache等のLinux中心に気になることをメモがわりに・・・

322.4 FTP

    この記事は約3分で読むことができます。

322.4 FTP

重要度 1
説明 Pure-FTPdサービスおよびvsftpd FTPサービスの使用方法と設定上のセキュリティ問題について経験と知識があること。
主要な知識範囲

  • Pure-FTPd 設定 及び重要なコマンドラインオプション
  • vsftpd の設定
  • chroot 環境

重要なファイル、
用語、ユーティリティ

  • SSL/TLS
  • vsftpd.conf

vsftpd.conf

vsftpdの設定ファイル

vsftpd.conf 主なオプション

chroot_list_enable YESに設定した場合は、ログイン後にホームディレクトリへのchrootされるユーザーリストを指定できる。
NOに設定した場合、全ユーザーがchrootされる
chroot_list_file ホームディレクトリ内にchroot jail環境に入れられるユーザーリストを示すファイルを指定する
chtto_local_user YESに設定した場合は、ユーザーは指定したディレクトリへとchrootされる
passwd_chroot_enable chtto_local_userと共にYESに設定した場合、 chroot jail環境のディレクトリはユーザーごとになる。
chroot jailディレクトリは /etc/passwdにある書くホームディレクトリになる

※ chroot_list_enableパラメータはYESに設定された場合のみ有効

FTPS

FTPは古くから利用されているプロトコルのため、通信の安全性の点で劣ります。
匿名FTPなど安全性の必要が低いシステムであれば問題ありませんが、暗号化などの配慮が必要です。

FTPをSSL/TLSで暗号化するプロトコルとして、FTPSがあります。Pure-FTPdやvsftpdも、OpenSSLと組み合わせることで実現できます。
また、サーバだけでなくクライアントもFTPSをサポートしている必要があります。

FTP セキュリティ

FTPはTELNETなどと同様、古くから使用されているプロトコルのため、最初からセキュリティが考慮されているわけではありません。
最もセキュリティを考慮した方法はFTPを使用しないことですが、WebコンテンツのアップロードなどでFTPが多用されています。
このような環境でも、セキュリティを高めるために下記の方法を取る必要があります。

SSL/TLSを利用
通常のFTPの最も大きな弱点は、パスワードなどの認証情報を暗号化せず平文のまま送受信していることです。
SSL/TLSを使用するようにFTPサーバーを設定することで、通信を暗号化することができます。
問題点は、すべてのFTPクライアントがSSL/TLSをサポートしているわけではないことです。

chroot環境の利用
chroot環境を利用すると、認証を行ったユーザーは許可されたディレクトリにしかアクセスできません。
そこは通常データしか置くことができず、他のディレクトリにはアクセスできないのでません
システムメンテナンスなどでFTPを使用する必要性がない限り、chroot環境は必須といってもよいでしょう。

アクセス制御
アクセス制御も、不特定多数にFTPを提供する環境では必須の設定といってよいでしょう。
匿名(Anonymous)ログインは、ファイルのダウンロードなどを行わせるために設定する場合がありますが、基本的にセキュリティを高めるために行うわけではありません。

 - LPIC 30x