ウェブサイト検索

RHEL 8 での SSL/TLS を使用した安全な FTP ファイル転送のセットアップ


前回の記事では、RHEL 8 Linux にFTP サーバーをインストールして構成する方法について詳しく説明しました。この記事では、SSL/TLS を使用してFTP サーバーを保護し、システム間で安全にファイルを転送するためのデータ暗号化サービスを有効にする方法について説明します。

すでにFTP サーバーがインストールされ、適切に実行されていることを願っています。そうでない場合は、次のガイドを使用してシステムにインストールしてください。

  1. RHEL 8 で FTP サーバーをインストール、構成、保護する方法

ステップ 1. SSL/TLS 証明書と秘密キーの生成

1. 次のディレクトリを作成して、SSL/TLS 証明書とキー ファイルを保存します。

mkdir -p /etc/ssl/vsftpd

2. 次に、次のコマンドを使用して、自己署名のSSL/TLS証明書と秘密キーを生成します。

openssl req -x509 -nodes -keyout /etc/ssl/vsftpd/vsftpd.pem -out /etc/ssl/vsftpd/vsftpd.pem -days 365 -newkey rsa:2048

上記コマンドで使用される各フラグについて説明します。

  1. req – X.509 証明書署名要求 (CSR) 管理用のコマンドです。
  2. x509 – X.509 証明書データ管理を意味します。
  3. 日数 – 証明書が有効な日数を定義します。
  4. newkey – 証明書キープロセッサを指定します。
  5. rsa:2048 – RSA キー プロセッサ。2048 ビットの秘密キーを生成します。
  6. keyout – キー ストレージ ファイルを設定します。
  7. out – 証明書ストレージ ファイルを設定します。証明書とキーの両方が同じファイル /etc/ssl/vsftpd/vsftpd.pem に格納されることに注意してください。

上記のコマンドを実行すると、以下の質問に答えるように求められます。シナリオに適用される値を使用することを忘れないでください。

Country Name (2 letter code) [XX]:IN
State or Province Name (full name) []:Lower Parel
Locality Name (eg, city) [Default City]:Mumbai
Organization Name (eg, company) [Default Company Ltd]:TecMint.com
Organizational Unit Name (eg, section) []:Linux and Open Source
Common Name (eg, your name or your server's hostname) []:tecmint
Email Address []:[email 

ステップ 2. SSL/TLS を使用するための VSFTPD の構成

3. お気に入りのコマンド ライン エディタを使用して、VSFTPD 構成ファイルを開いて編集します。

vi /etc/vsftpd/vsftpd.conf

次の構成パラメータを追加して SSL を有効にし、ファイルの最後で使用する SSL と TLS のバージョンを選択します。

ssl_enable=YES
ssl_tlsv1_2=YES
ssl_sslv2=NO
ssl_sslv3=NO

4. 次に、rsa_cert_file オプションと rsa_private_key_file オプションを追加して、SSL 証明書とキー ファイルの場所をそれぞれ指定します。

rsa_cert_file=/etc/ssl/vsftpd/vsftpd.pem
rsa_private_key_file=/etc/ssl/vsftpd/vsftpd.pem

5. 次に、これらのパラメータを追加して、SSL を使用した匿名接続を無効にし、すべての非匿名接続を SSL 経由で強制します。

allow_anon_ssl=NO			# disable anonymous users from using SSL
force_local_data_ssl=YES		# force all non-anonymous logins to use a secure SSL connection for data transfer
force_local_logins_ssl=YES		# force all non-anonymous logins  to send the password over SSL

6. 次に、これらのオプションを追加して SSL データ接続の再利用をすべて無効にし、SSL 暗号をに設定して暗号化された SSL 接続を許可します。

require_ssl_reuse=NO
ssl_ciphers=HIGH

7. また、pasv_min_portpasv_max_port を使用して、安全な接続のために vsftpd が使用するパッシブ ポートのポート範囲 (最小ポートと最大ポート) を指定する必要があります。それぞれパラメータ。さらに、debug_ssl オプションを使用して、トラブルシューティングの目的で SSL デバッグをオプションで有効にすることができます。

pasv_min_port=40000
pasv_max_port=50000
debug_ssl=YES

8. 最後に、ファイルを保存し、vsftpd サービスを再起動して、上記の変更を有効にします。

systemctl restart vsftpd

9. FTP サーバーに安全にアクセスする前に実行する必要があるもう 1 つの重要なタスクは、システムでポート 99040000 ~ 50000 を開くことです。ファイアウォール。これにより、vsftpd サービスへの TLS 接続が許可され、次のように、VSFTPD 構成ファイルで定義されているパッシブ ポートのポート範囲がそれぞれ開かれます。

firewall-cmd --zone=public --permanent –add-port=990/tcp
firewall-cmd --zone=public --permanent –add-port=40000-50000/tcp
firewall-cmd --reload

ステップ 3: FileZilla をインストールして FTP サーバーに安全に接続する

10. FTP サーバーに安全に接続するには、FileZilla などのSSL/TLS 接続をサポートする FTP クライアントが必要です。これはオープン ソースです。 、広く使用されている、デフォルトで SSL/TLS 接続をサポートするクロスプラットフォームの FTP、SFTP、および FTPS クライアント。

次のようにデフォルトのパッケージ マネージャーを使用して Linux に FileZilla をインストールします。

sudo apt-get install filezilla   		#Debian/Ubuntu
yum install epel-release filezilla		#On CentOS/RHEL
dnf install filezilla			        #Fedora 22+
sudo zypper install filezilla			#openSUSE

11. Filezilla パッケージがインストールされたら、システム メニューでこのパッケージを検索して開きます。リモート FTP サーバーにすばやく接続するには、メイン インターフェイスからホスト IP アドレス、ユーザー名、およびユーザーのパスワードを入力します。次に、[クイック接続] をクリックします。

12. 次に、アプリケーションは、未知の自己署名証明書を使用した安全な接続を許可するかどうかを尋ねます。 [OK] をクリックして続行します。

サーバーの構成に問題がない場合は、次のスクリーンショットに示すように接続が成功するはずです。

13. 最後に、次のスクリーンショットに示すように、マシンからサーバーにファイルをアップロードして、FTP の安全な接続ステータスをテストします。

それだけです!この記事では、RHEL 8 で安全なファイル転送のために SSL/TLS を使用して FTP サーバーを保護する方法を説明しました。これは、RHEL 8 で FTP サーバーをインストール、構成、保護するための包括的なガイドの第 2 部です。ご質問やご意見がございましたら、以下のフィードバック フォームをご利用ください。