FTPサーバー、Proftpd、CentOS8用の設定、メモ書きです。
参考記事
Proftpd for SSL/TSL ,CentOS7
CentOS7に、ftpサーバーの「Proftpd」を入れて、SSL/TSL対応にしたいと思います。 関連記事 ↑ CentOS8用の設定です vsftpdか、proftpdか Centos系で標準で入っている、vsftpd。 けっこう、昔...
↑ CentOS7バージョンです
Proftpd 1.3.7a インストール
# wget ftp://ftp.proftpd.org/distrib/source/proftpd-1.3.7a.tar.gz # tar xzvf proftpd-1.3.7a.tar.gz # cd proftpd-1.3.7a #./configure --with-modules=mod_tls
↑ 現時点での最新版、1.3.7aをダウンロードします。
–with-modules=mod_tls
で、SSL(TLS)を有効にします。
# make # make install
↑インストールをします。
Proftpd 設定
vi /usr/local/etc/proftpd.conf ServerName "ProFTPD Default Installation" ↓ ServerName "FTP Server"
↑「ProFTPD」を使っていることを隠すため・・・
TimesGMT FALSE SetEnv TZ JST-9 UseReverseDNS off AllowRetrieveRestart on AllowStoreRestart on DeleteAbortedStores off ServerIdent off PassivePorts 60000 63000 RootLogin off SyslogFacility LOCAL6 ListOptions "-a" PidFile /var/run/proftpd.pid LogFormat allinfo "%t : %u (%a [%h]) : [%s], %T, %m (%f)" LogFormat write "%t : %u : %F (%a)" LogFormat read "%t : %u : %F (%a)" LogFormat auth "%t : %u (%a [%h])" ExtendedLog /var/log/proftpd/all.log ALL allinfo ExtendedLog /var/log/proftpd/write.log WRITE write ExtendedLog /var/log/proftpd/read.log READ read ExtendedLog /var/log/proftpd/auth.log AUTH auth
↑種々の設定をします。
User nobody Group nogroup ↓ User ftp Group ftp
↑ 動作する、ユーザ/グループを変更します。
#DefaultRoot ~ ↓ DefaultRoot ~
↑ chrootをするようにします。
<IfModule mod_tls.c> TLSEngine on TLSLog /var/log/proftpd/ftps.log TLSProtocol ALL -SSLv3 -TLSv1 -TLSv1.1 TLSRequired on TLSRSACertificateFile /etc/letsencrypt/live/(ホスト名)/fullchain.pem TLSRSACertificateKeyFile /etc/letsencrypt/live/(ホスト名)/privkey.pem </IfModule>
↑ SSL(TLS)の設定を行います。
SSLv3、TLSv1、TLSv1.1は、動作しないようにします。
これで、TLSv1.2とTLS1.3が動作します。
「TLSRequired on」は、平文(None SSL)での接続ができなくなります。
「TLSRequired off」の場合、平文(None SSL)での接続も、TLS(SSL)での接続も、両方接続できます。
上記は、Let’s Encrypt のパスです。
<Limit SITE_CHMOD> DenyAll </Limit> <Anonymous ~ftp> (略) </Anonymous>
↑ 上記を、削除します。
# mkdir /var/log/proftpd/
↑ログ用ディレクトリを作成します。
Proftpd用firewallを設定
# firewall-cmd --add-service=ftp --permanent # firewall-cmd --add-port=60000-63000/tcp --permanent # firewall-cmd --reload
↑ パッシブポートも設定をします(2行目)
ログローテーション
# cp contrib/dist/rpm/proftpd.logrotate /etc/logrotate.d/
↑ proftpdが用意している設定ファイルをコピーします。
Proftpd起動関係
# vi /etc/systemd/system/proftpd.service [Unit] Description=proftpd After=network.target [Service] Type=simple RemainAfterExit=yes ExecStart=/usr/local/sbin/proftpd [Install] WantedBy=multi-user.target
↑起動ファイルを準備します。
# systemctl start proftpd # systemctl status proftpd # systemctl enable proftpd
↑ 起動して、自動起動も設定をします。