GNU/Linux >> Linux の 問題 >  >> Cent OS

CentOS7.2にTLSを使用してProFTPDをインストールする方法

このチュートリアルでは、CentOS7.2サーバーへのProFTPDのインストールと構成について説明します。 ProFTPDは、UnixおよびLinuxオペレーティングシステム用のFTPデーモンであり、GNU Public License(GPL)の下で配布されています。

1予備メモ

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

2ProFTPDをインストールして設定します

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
[[メール保護]〜]#proftpd -v
ProFTPDバージョン1.3.5b
[[メール保護]〜]#

2.2ProFTPDユーザーの作成

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

groupadd ftpgroup

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

useradd  -G ftpgroup tom -s /sbin/nologin -d /ftpshare
passwd tom
[[email protected] ~]# passwd tom
Changing password for user srijan.
New password: <--ftppassword
Retype new password: <--ftppassword
passwd: all authentication tokens updated successfully.
[[email protected] ~]# 

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

chmod -R 1750 /ftpshare/

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

3ProFTPDで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
[...]

#
<IfDefine TLS> 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 # <IfModule mod_tls_shmcache.c> # TLSSessionCache shm:/file=/var/run/proftpd/sesscache # </IfModule> #</IfDefine>
[...]

ftpのパッシブモードを許可するために6000と6100のポートを追加しました。同様に、次のようにCentOSfirewalldサービスを介してパッシブモードを許可します。

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

ポートのステータスは次のように確認できます:

firewall-cmd --list-ports
[[email protected] ~]# firewall-cmd --list-ports
6000-6100/tcp
[[email protected] ~]#

さらに、ファイルの読み取り/書き込みを許可するように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

[[email protected] 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
州または県の名前(フルネーム)[]: <- ハンブルク
地域名(例:都市)[デフォルトの都市]: <- リューネブルク

組織名(例:会社)[Default Company Ltd]: <-ハウツーフォージ
組織単位名(例:セクション)[]: <- 開発
一般的な名前(例:名前やサーバーのホスト名)[]: <- server1.example.com
メールアドレス[]: <- [メールで保護]
[[メールで保護された]証明書]#

上記の値を選択に応じて赤で示してください。例を示しました。

ここで、セキュリティ上の理由から、証明書を次のようにのみ読み取り可能にします。

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

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

systemctl restart proftpd.service

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

詳細は次のとおりです。

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

注:上記の手順で接続を暗号化したため、TLSを介した明示的なFTPが必要で暗号化を使用します

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



証明書の信頼を求めるメッセージが表示されたら、[OK]を押します



TLS接続でFTP共有ディレクトリに接続されます。


4ProFTPDでの匿名のftpアクセス

ProFTPDで匿名のftpアカウントを作成できます。これらの行を、ProFTPD構成ファイルに追加するだけです。

nano /etc/proftpd.conf

そして、ファイルの最後にこれらの行を追加します。

[...]
###Anonymous share##### <Anonymous ~ftp> User ftp Group ftp UserAlias anonymous ftp DirFakeUser on ftp DirFakeGroup on ftp MaxClients 10 <Directory *> <Limit WRITE> DenyAll </Limit> </Directory> </Anonymous>

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

systemctl restart proftpd.service

次に、Filezillaを介して次のようにanonアカウントに接続します。

注:上記の手順で接続を暗号化したため、TLSを介した明示的なFTPが必要で暗号化を使用します

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

接続を押します。

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

おめでとう!これで、CentOS7.2でProFTPDサーバー環境を正常に構成できました:)

  • CentOS:http://www.centos.org/
  • ProFTPD:http://www.proftpd.org/

Cent OS
  1. OpenSuse13.2にTLSを使用してProFTPdをインストールする方法

  2. CentOS7にProFTPDをインストールする方法

  3. CentOS7にFTPサーバーをインストールする方法

  1. CentOS 8のインストール方法(スクリーンショット付き)

  2. SCLを使用してCentOS7にPython3をインストールする方法

  3. CentOS7にRをインストールする方法

  1. CentOS7にNginxを使用してphpMyAdminをインストールする方法

  2. CentOS8にRをインストールする方法

  3. CentOS8でElasticsearchを使用してGraylogをインストールする方法