ProFTPDインストール · 1 min read · Dec 18, 2025

CentOS 7.2にTLSを使用してProFTPDをインストールする方法

このチュートリアルでは、CentOS 7.2サーバーにProFTPDをインストールおよび構成する方法について説明します。ProFTPDは、UnixおよびLinuxオペレーティングシステム用のFTPデーモンで、GNU一般公衆ライセンス(GPL)の下で配布されています。

1 前提条件

このチュートリアルはCentOSサーバーに基づいているため、このチュートリアルを続ける前に基本的なCentOS 7.2サーバーのインストールを設定する必要があります。システムには静的IPアドレスが必要です。このチュートリアルでは、IPアドレスとして192.168.1.100を、ホスト名としてserver1.example.comを使用します。

2 ProFTPDのインストールと構成

2.1 インストール:

EPELリポジトリからソフトウェアが必要ですので、以下のように有効にします:

yum -y install epel-release

次に、EPEL GPGキーをインポートします:

rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7

そして、パッケージを更新します:

yum -y update

次のようにProFTPDとOpenSSLをインストールします:

yum install -y proftpd openssl proftpd-utils

サービスを開始し、ブート時に自動的に開始するように有効にする必要があります。

systemctl start proftpd.service  
systemctl enable proftpd.service

firewalldがインストールされている場合は、firewall-cmdを使用してFTPポートを開くようにファイアウォールを構成します:

firewall-cmd --add-service=ftp --permanent  
firewall-cmd --reload

次のようにProFTPDのバージョンを確認できます:

proftpd -v

[root@server1 ~]# proftpd -v

ProFTPDバージョン 1.3.5b

[root@server1 ~]#

2.2 ProFTPDユーザーの作成

ftpgroupというグループと、ProFTPD用のユーザーtomを作成します。ユーザーtomのホームディレクトリを/ftpshareに設定します。

groupadd ftpgroup

次に、ftpgroupにユーザーsrijanを追加します:

useradd  -G ftpgroup tom -s /sbin/nologin -d /ftpshare  
passwd tom
[root@server1 ~]# passwd tom  
ユーザーsrijanのパスワードを変更しています。  
新しいパスワード: <--ftppassword  
新しいパスワードを再入力: <--ftppassword  
passwd: すべての認証トークンが正常に更新されました。  
[root@server1 ~]#  

ftpshareディレクトリの権限を設定します:

chmod -R 1750 /ftpshare/

これでProFTPD接続の準備が整いました。しかし、接続はまだ暗号化されていませんので、次の章で解決します。

3 ProFTPDでのTLSの有効化

ProFTPDでTLSを有効にするには、/etc/proftpd/proftpd.confを開きます。ファイルを編集する前に、元のファイルをバックアップしてから、nanoでファイルを編集するのが良いでしょう。

cp -pf /etc/proftpd.conf /etc/proftpd.conf.bak  
nano /etc/proftpd.conf  

赤で示された行を追加および修正します。

[...]  
DefaultRoot                     ~ !adm
PassivePorts    6000    6100  
[...]   
  
#
  TLSEngine                     on
  TLSRequired                   on
  TLSRSACertificateFile         /etc/pki/tls/certs/proftpd.pem
  TLSRSACertificateKeyFile      /etc/pki/tls/certs/proftpd.pem
  TLSCipherSuite                ALL:!ADH:!DES
  TLSOptions                    NoCertRequest
  TLSVerifyClient               off
  TLSRenegotiate                ctrl 3600 data 512000 required off timeout 300
  TLSLog                        /var/log/proftpd/tls.log
#  
#    TLSSessionCache            shm:/file=/var/run/proftpd/sesscache
#  
#  
[...] 

FTPのパッシブモードを許可するために6000および6100ポートを追加しました。同様に、CentOSのfirewalldサービスを通じてパッシブモードを許可します:

firewall-cmd --add-port=6000-6100/tcp --permanent  
firewall-cmd --reload

次のようにポートの状態を確認できます:

firewall-cmd --list-ports
[root@server1 ~]# firewall-cmd --list-ports  
6000-6100/tcp  
[root@server1 ~]#

さらに、SELINUXにファイルの読み書きを許可するように指示する必要があります。

setsebool -P allow_ftpd_full_access=1

TLSを使用するには、SSL証明書を作成する必要があります。/etc/pki/tls/certsに作成します。次のようにSSL証明書を生成できます:

openssl req -x509 -nodes -newkey rsa:1024 -keyout /etc/pki/tls/certs/proftpd.pem -out /etc/pki/tls/certs/proftpd.pem

[root@server1 certs]# openssl req -x509 -nodes -newkey rsa:1024 -keyout /etc/pki/tls/certs/proftpd.pem -out /etc/pki/tls/certs/proftpd.pem

1024ビットRSA秘密鍵を生成しています

……………………………..++++++

………++++++

新しい秘密鍵を’/etc/pki/tls/certs/proftpd.pem’に書き込みます


証明書要求に組み込まれる情報を入力するよう求められます。

入力する内容は、識別名またはDNと呼ばれるものです。

いくつかのフィールドがありますが、いくつかは空白のままにできます。

いくつかのフィールドにはデフォルト値があります。

‘.’を入力すると、そのフィールドは空白のままになります。


国名(2文字コード) [XX]:

<–DE

州または県名(フルネーム) []:

<– ハンブルク

地域名(例:都市) [デフォルトの都市]:

<– ルーネブルク

組織名(例:会社) [デフォルトの会社]:

<–Howtoforge

組織単位名(例:セクション) []:

<– 開発

共通名(例:あなたの名前またはサーバーのホスト名) []:

<–

server1.example.com

メールアドレス []:

<– [email protected]

[root@server1 certs]#

上記の赤で示された値をお好みに応じて入力してください。私は単なる例を示しました。

セキュリティのために、証明書を次のように読み取り専用にします:

chmod 0440 /etc/pki/tls/certs/proftpd.pem

最後に、次のようにProFTPDサービスを再起動します:

systemctl restart proftpd.service

Filezillaソフトウェアを使用してProFTPDサーバーに接続できます。クライアントコンピュータにFilezillaがインストールされている必要があります。Filezillaを開き、次のように詳細を入力します:
FileZillaでアカウントの詳細を入力します。

詳細は次のとおりです:

ホスト = 192.168.1.100
プロトコル = FTP
ユーザー = tom
ポート = 21以外のポートをカスタマイズしていない場合は空白にできます
パスワード = ftppassword(上記で作成したばかり)

注意:上記の手順で接続を暗号化したため、TLSによる明示的なFTPを要求する暗号化を使用します。

TLSを構成していない場合は、プレーンFTPを使用できます。

SSL証明書を受け入れる
証明書を信頼するように求められますので、OKを押してください。
FileZillaがProFTPdに接続しました。
TLS接続でFTP共有ディレクトリに接続されます。

4 ProFTPDでの匿名FTPアクセス

ProFTPDで匿名FTPアカウントを作成できます。ProFTPD構成ファイルに次の行を追加します:

nano /etc/proftpd.conf

ファイルの最後に次の行を追加します。

[...]  
###匿名共有#####

  User ftp
  Group ftp

UserAlias anonymous ftp
DirFakeUser       on ftp 
DirFakeGroup on ftp
MaxClients 10

        
     
DenyAll   
 
    

次に、FTPサービスを再起動する必要があります:

systemctl restart proftpd.service

次に、Filezillaを介して匿名アカウントに接続します:

匿名ログイン

注意:上記の手順で接続を暗号化したため、TLSによる明示的なFTPを要求する暗号化を使用します。

TLSを構成していない場合は、プレーンFTPを使用できます。

接続を押してください。

匿名FTPログイン成功

匿名ユーザーでサーバーに正常に接続されました。

おめでとうございます!これでCentOS 7.2にProFTPDサーバー環境を正常に構成しました :)

5 リンク

Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。