Proftpd - CentOS8用 2021

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

↑ 起動して、自動起動も設定をします。

タイトルとURLをコピーしました