Ubuntu/DebianにProFTPDサーバーをインストールおよび設定する方法
FTP サーバーは、ローカルコンピュータとウェブサーバーの間に FTP 接続を作成することを可能にするソフトウェアの一部です。ProFTPD は、非常に構成可能で効果的な、Unix/Linux サーバー用の FTP サーバーであり、無料でオープンソースで、GPL ライセンスの下でリリースされています。
この記事では、UbuntuおよびDebianシステムにProFTPDをインストールおよび設定する方法を説明します。サーバーのインストール、ユーザーアカウントの設定、セキュリティのための構成、セットアップのテストについて説明します。
ステップ1: UbuntuにProFTPDサーバーをインストールする
もちろん、ソフトウェアを使用するにはインストールする必要があります。まず、ターミナルで以下のaptコマンドを実行して、すべてのシステムパッケージが最新であることを確認してください。
sudo apt update
sudo apt upgrade
システムに最新のセキュリティパッチとソフトウェア更新が適用されたら、次のコマンドを実行してProFTPDサーバーをインストールします。
sudo apt install proftpd
インストール中に、ProFTPDサーバーの使用タイプを選択するように求められますので、自分のニーズに最適なモードを選択してください。
- スタンドアロン: ProFTPDは独立して動作し、すべての接続を処理します。
- inetd: ProFTPDはinetdスーパサーバーの下でサービスとして実行されます。
ほとんどのセットアップでは、スタンドアロンモードが推奨されており、より良いパフォーマンスと管理の容易さを提供します。
インストールが完了すると、ProFTPDが自動的に起動し、次のコマンドを使用してサービスが実行中であることを確認できます:
sudo systemctl status proftpd
もしProFTPDが正しく動作している場合、そのステータスは「アクティブ(実行中)」として表示されます。
ステップ2: UbuntuでProFTPDサーバーを設定する
使用を開始する前に、いくつかのファイルを編集する必要があります。/etc/proftpd/proftpd.conf は、Ubuntu/Debian サーバー用のデフォルト設定ファイルです。次に示すように、nanoエディタを使用して編集を開始します。
sudo nano /etc/proftpd/proftpd.conf
あなたのニーズに合わせて変更したい基本的な設定がいくつかあります。
1. ServerName はあなたのFTPサーバーの名前であり、ドメイン名や簡単に識別できるカスタム名を使用できます。
ServerName "MyFTPServer"
2. FTPユーザーが自分のホームディレクトリに制限され、ファイルシステム全体を移動できないようにするためのDefaultRoot設定。この行の前の#を削除してコメントを解除してください:
DefaultRoot ~
3. デフォルトでは、FTPはポート21で動作します。異なるポートを使用したい場合(たとえば、セキュリティ上の理由から)、ここでポート番号を変更してください:
Port 2121
4. MaxInstances設定は、同時に接続できるクライアントの数を制御します。これは、あなたの必要に応じて調整できます:
MaxInstances 30
5. セキュリティ上の理由から匿名アクセスを無効にしたい場合は、Anonymous セクションが次のようになっていることを確認してください:
<Anonymous ~ftp>
User ftp
Group nogroup
# We want clients to be able to login with "anonymous" as well as "ftp"
UserAlias anonymous ftp
# Limit the maximum number of anonymous logins
MaxClients 10
# Disallow login
<Limit LOGIN>
DenyAll
</Limit>
</Anonymous>
これらの変更を加えた後、ファイルを保存し、変更を適用するためにProFTPDサービスを再起動してください:
sudo systemctl restart proftpd
ProFTPDのインストール中に、デフォルトの「proftpd」ユーザーが自動的に作成されますが、それにはパスワードを作成する必要があります。そのためには、次のコマンドを実行してください。
sudo passwd proftpd
ステップ3:ProFTPDユーザーの作成
ProFTPDは、システムの通常のユーザーアカウントをFTPアクセスに使用できるため、ユーザーがすでにサーバーにアカウントを持っている場合、別途FTPアカウントを作成する必要はありません。
FTPアクセス用の新しいユーザーを作成するには、次のadduserコマンドを使用します:
sudo adduser ftpuser
新しいユーザーのためにパスワードといくつかのオプション情報を入力するように促されます。このアカウントは、ユーザー名とパスワードを使用してFTPサーバーにログインできるようになります。
このユーザーを自宅ディレクトリに制限したい場合は、前述のようにproftpd.confファイルにDefaultRoot ~オプションが設定されていることを確認してください。
ステップ4:ProFTPDサーバーを確保する
FTPは、ユーザー名やパスワードを含むデータを平文で送信するため、元々安全ではありません。セキュリティを向上させるために、ProFTPDを設定してFTPSを使用するべきであり、これによりSSL/TLSを使用した暗号化が追加されます。
SSL証明書を持っていない場合は、テスト目的のために自己署名証明書を生成することができます。本番環境では、信頼できる証明書機関(CA)からの証明書を使用することをお勧めします。
自己署名SSL証明書を生成するには:
sudo openssl req -x509 -newkey rsa:2048 -keyout /etc/ssl/private/proftpd.key -out /etc/ssl/certs/proftpd.crt -days 365 -nodes
証明書を生成した後、FTPSを有効にするためにproftpd.confファイルを再度編集します。
sudo nano /etc/proftpd/proftpd.conf
次の行を追加するか、コメントを解除してください。
<IfModule mod_tls.c>
TLSEngine on
TLSLog /var/log/proftpd/tls.log
TLSProtocol SSLv23
TLSRSACertificateFile /etc/ssl/certs/proftpd.crt
TLSRSACertificateKeyFile /etc/ssl/private/proftpd.key
TLSVerifyClient off
TLSRequired on
</IfModule>
これらの変更を行った後、ProFTPDを再起動してください。
sudo systemctl restart proftpd
ステップ5:FTPS接続のテスト
FTPSのセットアップをテストするために、FileZillaなどのFTPクライアントやFTPSをサポートしている他のクライアントを使用できます。
- FTPクライアントを開き、新しいサイトプロファイルを作成してください。
- FTPサーバーのIPアドレスまたはドメイン名、ユーザー名、およびパスワードを入力してください。
- 接続設定で、FTPSまたはSSL/TLS経由のFTPを選択します。
すべてが正しく設定されていれば、ProFTPDサーバーに安全に接続できるはずです。
ステップ6: ファイアウォール設定を管理する
ファイアウォール(UFWのような)を実行している場合、FTPトラフィックをファイアウォールを通過させる必要があります。
標準FTPを許可するために:
sudo ufw allow 21/tcp
FTPS(別のポートで使用する場合)は、そのポートも許可する必要があります。たとえば、ポートを2121に変更した場合:
sudo ufw allow 2121/tcp
これらの変更を行った後、ファイアウォールを再起動してください:
sudo ufw reload
ステップ7:FTPサーバーのテスト
あなたのProFTPDサーバーが動作しているかをテストするには、ブラウザまたはFTPクライアントを使用します。次の構文を使用してFTPサーバーに接続できます:
ftp://<server-ip-or-domain>
以前に作成したFTPユーザーアカウントでログインしてください。サーバー上でファイルのアップロード、ダウンロード、管理ができるはずです。
ステップ8:ProFTPDのトラブルシューティング
利用可能なエラーメッセージはデフォルトで/var/log/proftpd/proftpd.logに保存されますので、ProFTPDサーバーのインストールが機能していない場合はこのファイルを確認してください。
ProFTPDサーバーが遅延することがあるため、「接続が拒否されました」というメッセージが表示されてサーバーにアクセスできない場合がありますが、これは問題ではありません。問題がない場合は、ProFTPDサーバーが動作するまで再起動し続けるだけで大丈夫です。
結論
あなたはUbuntuおよびDebianシステムにProFTPDを正常にインストールおよび設定しました。このガイドでは、基本的なインストール、設定、SSL/TLSを使用したセキュリティの設定、およびファイアウォールの調整について説明しました。これで、ファイル転送のニーズに対応する柔軟で安全なFTPサーバーが整いました。
帯域幅の制限、仮想ユーザーの設定、または匿名アップロードの有効化などの高度な構成については、ProFTPDのドキュメントを参照してください。サーバーを保護し、最大限のセキュリティのためにソフトウェアを最新の状態に保つことを常に確認してください。


