このチュートリアルでは、RHEL 8 /CentOS8サーバーにVSFTPDftpサーバーをインストールして構成する方法について説明します。このガイドでは、最初に基本的なデフォルト構成から始め、その上にセキュアTLS構成、匿名アクセス、およびパッシブモード構成を追加します。
このチュートリアルでは、次のことを学びます。
- VSFTPDftpサーバーをインストールする方法。
- 着信FTP接続用にファイアウォールを開く方法。
- TLSを使用してFTP接続を保護する方法。
- 匿名接続を許可する方法。
RHEL 8 /CentOS8サーバー/ワークステーションでのVSFTPDftp接続。
使用されるソフトウェア要件と規則
カテゴリ | 使用する要件、規則、またはソフトウェアバージョン |
---|---|
RHEL 8 / CentOS 8 | |
vsftpd:バージョン3.0.3 | |
rootまたはsudo を介したLinuxシステムへの特権アクセス コマンド。 | |
# –指定されたLinuxコマンドは、rootユーザーとして直接、または sudo を使用して、root権限で実行する必要があります。 コマンド$ –特定のLinuxコマンドを通常の非特権ユーザーとして実行する必要があります |
基本的なVSFTPD構成のステップバイステップの説明
このセクションでは、VSFTPD ftpサーバーをインストールし、ファイアウォールポートを開いて、接続をテストします。
- VSFTPDパッケージをインストールします。
vsftpd
パッケージは、dnfパッケージマネージャーを使用してインストールできます。#dnf install vsftpd
- コピーを作成し、デフォルトのVSFTPD構成ファイルを確認します。まず、元の構成ファイルのコピーを作成します。
#mv /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf_orig
クリーンな構成ファイルから始めましょう:
#grep -v ^#/etc/vsftpd/vsftpd.conf_orig> /etc/vsftpd/vsftpd.conf
新しい
/etc/vsftpd/vsftpd.conf
構成は次のようになります。any
- VSFTPDデーモンを起動し、再起動後に起動するように設定します。
#systemctl start vsftpd#systemctl enable vsftpd
- ファイアウォールFTPポート21の着信接続を開きます:
#firewall-cmd --zone =public --permanent --add-service =ftp#firewall-cmd --reload
-
ftp
を使用してリモートホストからのFTP接続をテストします 指図。通常のユーザー資格情報を使用してログインします。たとえば、ホストrhel8-ftp.linuxconfig.org
へのFTP接続を作成します :#ftp rhel8-ftp.linuxconfig.orgrhel8-ftp.linuxconfig.org.220(vsFTPd 3.0.3)に接続名前(rhel8-ftp.linuxconfig.org:lubos):linuxconfig331パスワードを指定してください。パスワード: 230ログインに成功しました。 リモートシステムタイプはUNIXです。バイナリモードを使用してファイルを転送します。ftp>
これで、基本的なVSFTPDの構成とテストは終了です。次のセクションでは、TLSを使用してVSFTPD ftpサーバーを構成することにより、セキュリティのレイヤーを追加します。
TLS接続を使用したVSFTPDの保護手順
このセクションでは、VSFTPD ftpサーバーをインストールし、ファイアウォールポートを開いて、接続をテストするだけです。
- OpenSSLをインストールします。このパッケージは、RHEL8システムですでに利用可能になっている可能性があります。 OpenSSLをインストールするには、次のコマンドを実行します。
#dnf install openssl
- 自己署名証明書を生成するか、既存の証明書を使用します。この例では、秘密鍵
vsftpd.key
を生成します および署名された証明書vsftpd.crt
。いくつかの質問に答えるように求められます。Common Name
を除いて、それらのほとんどをデフォルトのままにしておいてください。 :# openssl req -newkey rsa:2048 -nodes -keyout /etc/pki/tls/private/vsftpd.key -x509 -days 365 -out /etc/pki/tls/certs/vsftpd.crt RSA秘密鍵の生成..................+++++....+++++新しい秘密鍵の'/etc / pki /tls/への書き込みprivate / vsftpd.key'-----証明書リクエストに組み込まれる情報の入力を求められます。入力しようとしているのは、いわゆる識別名またはDNです。かなりの数があります。フィールドですが、空白のままにすることができます一部のフィールドにはデフォルト値があります。「。」と入力すると、フィールドは空白のままになります。-----国名(2文字のコード)[XX]:州名または州名(フルネーム)[]:地域名(例:市)[デフォルトの都市]:組織名(例:会社)[デフォルトの会社株式会社]:組織単位名(例:セクション)[]:共通名(例:あなたの名前またはサーバーのホスト名)[]: rhel8-ftp.linuxconfig.org メールアドレス[]:#
- TLS暗号化接続用にVSFTPDを構成します。既存のVSFTPD
/etc/vsftpd/vsftpd.conf
を開きます 構成を行い、既存の行に加えて次の構成を追加します。 =YESforce_local_logins_ssl =YESssl_tlsv1 =YESssl_sslv2 =NOssl_sslv3 =NOrequire_ssl_reuse =NOssl_ciphers =HIGH - VSFTPDを再起動します:
#systemctl restart vsftpd
- TLSVSFTPDftp接続をテストします。
注
RHEL 8サーバーのファイアウォールで適切なポートを開いていない限り、この時点でリモートホストからパッシブFTP接続を確立できないことに注意してください。FileZillaなどのTLS接続をサポートするFTPクライアントを使用します:
VSFTPD ftpRHEL8サーバーへのTLS接続を確立します。 安全なTLS接続でVSFTPSRHEL8サーバーに接続されています。
すべてが順調に進んでいるようです。次のセクションでは、パッシブ接続機能をVSFTPDftpサーバーに追加します。
パッシブモードをVSFTPDに段階的に追加する
- 既存のVSFTPDを開きます
/etc/vsftpd/vsftpd.conf
構成し、既存の行に加えて次の構成を追加します。pastsv_enable =YESpasv_min_port =10000pasv_max_port =10100
- VSFTPDを再起動します:
#systemctl restart vsftpd
- パッシブポートに対応するためにファイアウォールポート範囲を開きます:
#firewall-cmd --permanent --zone =public --add-port =10000-10100 / tcp#firewall-cmd --reload
匿名のVSFTPDアクセスを段階的に許可する
- 既存のVSFTPDを開きます
/etc/vsftpd/vsftpd.conf
設定とanonymous_enable
の変更 およびallow_anon_ssl
YES
への行 :anonymous_enable =YESallow_anon_ssl =YES
- VSFTPDを再起動します:
#systemctl restart vsftpd
付録
便宜上、最後の /etc/vsftpd/vsftpd.conf
構成ファイルを以下に示します:
anonymous_enable =YESlocal_enable =YESwrite_enable =YESlocal_umask =022dirmessage_enable =YESxferlog_enable =YESconnect_from_port_20 =YESxferlog_std_format =YESlisten =NOlisten_ipv6 =YESpam_service_name =vsftpduserlist_enable =YESrsa_cert_file =tls / private / vsftpd.keyssl_enable =YESallow_anon_ssl =YESforce_local_data_ssl =YESforce_local_logins_ssl =YESssl_tlsv1 =YESssl_sslv2 =NOssl_sslv3 =NOrequire_ssl_reuse =NOs