GNU/Linux >> Linux の 問題 >  >> Panels >> cPanel

SSL/TLSでvsFTPdを保護する方法

<!DOCTYPE html PUBLIC "-// W3C // DTD HTML 4.0 Transitional // EN" "http://www.w3.org/TR/REC-html40/loose.dtd"> <?xml encoding ="utf- 8 "?>

非常に安全なFTPデーモン、または単に vsFTPd は、カスタマイズ機能が優れた軽量のソフトウェアです。このチュートリアルでは、独自の自己署名SSL / TLS証明書を使用して、Debianシステム上の既存のインストールを保護します。 Debian用に書かれていますが、UbuntuやCentOSなどのほとんどのLinuxディストリビューションで動作するはずです。

vsFTPdのインストール

新しいLinuxVPSでは、最初にvsFTPdをインストールする必要があります。 vsFTPdをインストールするための基本的な手順がありますが このチュートリアルでは、Debian/UbuntuでのvsFTPdのセットアップとCentOSでのvsFTPdのインストールという2つの詳細なチュートリアルも読むことをお勧めします。インストールに関するすべての手順は、そこでより注意深く説明されています。

Debian / Ubuntuへのインストール:

apt-get install vsftpd

CentOSへのインストール:

yum install epel-release
yum install vsftpd

構成 構成ファイルを開きます: /etc/vsftpd.conf お気に入りのテキストエディタでは、このチュートリアルではnanoを使用します 。

nano /etc/vsftpd.conf

次の行を構成に貼り付けます。

anonymous_enable=NO
local_enable=YES
write_enable=YES
chroot_local_user=YES

vsFTPdデーモンを再起動して終了します:

/etc/init.d/vsftpd restart

これで、FTP経由でローカルユーザーとしてログインできるようになります。次に、このソフトウェアを保護してみましょう。

自己署名証明書を生成します

自己署名証明書は通常、公開鍵共有プロトコルで使用されます。ここでは、opensslを使用します。 公開鍵と対応する秘密鍵を生成します。まず、これら2つのキーファイルを保存するディレクトリを作成する必要があります。できれば、通常のユーザーがアクセスできない安全な場所に保存してください。

mkdir -p /etc/vsftpd/ssl

証明書を実際に生成するために、両方のキーを同じファイル( /etc/vsftpd/ssl/vsftpd.pem )に保存します。 ):

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

コマンドを実行した後、国コード、州、市、組織名などのいくつかの質問が表示されます。自分自身または組織の情報を使用してください。ここで最も重要な行は一般名です これは、VPSのIPアドレス、またはそれを指すドメイン名と一致する必要があります。

この証明書は365日間(約1年間)有効で、キー長4096ビットのRSAキー合意プロトコルを使用し、両方のキーを含むファイルは、作成したばかりの新しいディレクトリに保存されます。キーの長さとセキュリティとの関係の詳細については、暗号化IIの推奨事項を参照してください。

vsFTPdに新しい証明書をインストールします

新しい証明書の使用を開始して暗号化を提供するには、構成ファイルを再度開く必要があります。

nano /etc/vsftpd.conf

新しい証明書とキーファイルへのパスを追加する必要があります。それらは同じファイルに保存されるため、構成内でも同じである必要があります。

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

SSLが有効になるようにするには、次の行を追加する必要があります:

ssl_enable=YES

パブリックFTPサーバーでは暗号化が必要ないため、オプションで匿名ユーザーによるSSLの使用をブロックできます。

allow_anon_ssl=NO

次に、SSL / TLSをいつ使用するかを指定する必要があります。これにより、データ転送とログイン資格情報の両方の暗号化が有効になります

force_local_data_ssl=YES
force_local_logins_ssl=YES

また、使用するバージョンとプロトコルを指定する場合もあります。 TLSは一般的にSSLよりも安全であるため、TLSを許可すると同時に、古いバージョンのSSLをブロックする場合があります。

ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO

SSLの再利用が必要であり、高度な暗号の使用もセキュリティの向上に役立ちます。 vsFTPdのマニュアルページから:

require_ssl_reuse yesに設定されている場合、すべてのSSLデータ接続はSSLセッションの再利用を示す必要があります(これは、制御チャネルと同じマスターシークレットを知っていることを証明します)。これは安全なデフォルトですが、多くのFTPクライアントを壊す可能性があるため、無効にすることをお勧めします。結果の説明については、http://scarybeastsecurity.blogspot.com/2009/02/vsftpd-210-released.html(v2.1.0で追加)を参照してください。

ssl_ciphers このオプションを使用して、vsftpdが暗号化されたSSL接続を許可するSSL暗号を選択できます。詳細については、暗号のマニュアルページを参照してください。暗号を制限することは、悪意のあるリモートパーティが問題を発見した暗号を強制することを防ぐため、セキュリティ上の予防策として役立つ可能性があることに注意してください。

require_ssl_reuse=YES
ssl_ciphers=HIGH

vsftpdを再起動して終了します デーモン

/etc/init.d/vsftpd restart
インストールの確認

これで、サーバーに接続してすべてが機能することを確認できるようになります。 FileZillaを使用している場合は、接続時に組織情報(または以前に証明書を生成したときに入力したもの)を含むダイアログが開くはずです。出力は次のようになります。

Status: Connection established, waiting for welcome message...
Status: Initializing TLS...
Status: Verifying certificate...
Status: TLS connection established.

vsFTPdの詳細については、マニュアルページを確認してください:

man vsftpd

cPanel
  1. LetsEncryptSSL証明書を使用してcPanel対応のアカウントを保護する方法

  2. SectigoSSL証明書を使用してcPanel対応アカウントを保護する方法

  3. vsftpd FTPサーバーをインストールし、Debian11でTLSを使用して保護する方法

  1. Ubuntu20.04にSSL/TLSを使用してVsftpdをインストールします

  2. SSL / TLS暗号化接続でVSFTPDを構成する方法は?

  3. Ubuntu 18.04 で Apache との SSL 接続を保護する方法

  1. LinuxメールサービスをSSL/TLSで保護する方法

  2. Ubuntu20.04にSSL/TLSを使用してVsftpdをインストールします-最良の手順?

  3. SSL証明書を使用してポート8443でPleskホスト名を保護する方法