ページ内目次
1.mod_tlsモジュールを入れる
apt update sudo apt install proftpd-mod-tls
インストール後、mod_tls
モジュールが正しくロードされているかを確認するには、ProFTPDの設定ファイル(通常は/etc/proftpd/proftpd.conf
)にLoadModule
ディレクティブが含まれていることを確認します。
2.証明書の準備
mkdir -p /etc/proftpd/ssl
3.ディレクトリーが作成できたことを確認し、再度自己署名証明書を生成します。
openssl req -x509 -newkey rsa:2048 -keyout /etc/proftpd/ssl/proftpd.key -out /etc/proftpd/ssl/proftpd.crt -days 365 -nodes
4.証明書の生成
下記の順番で入力していきます。
- Country Name (国名コード、例: JP)
- State or Province Name (州または地域名)
- Locality Name (市区町村名)
- Organization Name (組織名)
- Organizational Unit Name (部署名)
- Common Name (一般的にはサーバーのドメイン名)
- Email Address (メールアドレス)
4.-1証明書の例
Country Name:JP
State or Province Name :tokyo
Locality Name:ciyoda
Organization Name:(何でもよい)
Organizational Unit Name:(何でもよい)
Common Name:(ドメイン名)
Email Address:(管理者メアド)
5.PROFTPDにTLS設定の追加
ProFTPDの設定ファイル(通常は/etc/proftpd/proftpd.conf
)にTLSを設定します。
<IfModule mod_tls.c>
TLSEngine on
TLSLog /var/log/proftpd/tls.log
TLSProtocol SSLv23
TLSRSACertificateFile /etc/proftpd/ssl/proftpd.crt
TLSRSACertificateKeyFile /etc/proftpd/ssl/proftpd.key
TLSVerifyClient off
TLSRequired on
</IfModule>
6.設定の再読み込み
service proftpd restart
7.ファイヤーフォールを許可
ufw allow ftps
8.余談オマケ・ftp用解放ポート
- ポート21 (FTPの制御接続):
- プロトコル: TCP
- 説明: クライアントとサーバー間のコマンドと応答のやり取りに使用される基本的なFTPポートです。
- ポート20 (FTPのデータ接続):
- プロトコル: TCP
- 説明: FTPがアクティブモードでデータ(ファイル転送やディレクトリリスト)を転送する際に使用されるポートです。
- ポート990 (FTPSの制御接続):
- プロトコル: TCP
- 説明: 暗号化されたFTP接続(FTPS)のための制御ポートです。TLS/SSLによる暗号化が提供されます。
- パッシブモードのデータ転送用ポート (例: 50000-51000):
- プロトコル: TCP
- 説明: パッシブモードで使用されるポート範囲。この範囲内の任意のポートがデータ転送に使用される可能性があります。
9.記載コマンドについて
私は昔の人なのでsuでrootログインしてコマンド打ってしまう人なので、root上のコマンドを記載しております。ユーザー権限で行う方はコマンドの前に「sudo 」を入れて下さい。