GNU/Linux >> Linux の 問題 >  >> Ubuntu

Ubuntu20.04LTSにTLSを使用してProFTPDをインストールする方法

FTP(ファイル転送プロトコル)を介したファイルの転送は、おそらくサーバーにファイルをアップロードするための最も一般的な方法の1つです。 ProFTPDは、オープンソースソフトウェアとして利用可能で、安全な接続のためにTLS(SSL)をサポートする人気のある用途の広いFTPサーバーです。

デフォルトでは、パスワードとデータはクリアテキストで転送されるため、FTPは安全でないプロトコルです。このガイドで行うようにTLSを使用することで、すべての通信を暗号化してFTPをより安全にすることができます。

この記事では、Ubuntuサーバー20.04LTSでTLSを使用してproftpdを構成する方法について説明します。 。

前提条件

  1. Ubuntu Server20.0464ビット
  2. sudo/root権限

このチュートリアルで行うこと

  1. ProFTPDとTLSをインストールします。
  2. ProFTPDを設定します。
  3. FTPユーザーを追加します。
  4. ProFTPDでTLSを設定します。
  5. テスト。

ProftpdとOpenSSLをインストールする

ProftpdとOpenSSLはUbuntuリポジトリで利用できるため、aptコマンドでインストールできます:

 sudo apt-get install -y proftpd openssl 

ProFTPDは以下のようにインストールされます。インストールプロセスは入力を要求しません。

ここで、proFTPDがインストールされ、開始されていることを確認します。次のコマンドを実行します:

 sudo proftpd --version 

インストールされているProFTPDのバージョンを確認します。次に、サービスステータスを確認し、systemctlコマンドを使用してクエリを実行します。

 sudo systemctl status proftpd 

ProFTPDを設定する

ProFTPDをインストールしたら、完全に機能する安全なサーバーになるように構成を調整する必要があります。 ProFTPD設定ファイルは/etc/ proftpd /ディレクトリにあります–ファイルproftpd.confを編集してください。

 sudo nano /etc/proftpd/proftpd.conf 

サーバー名の行で、値をホスト名またはドメインに置き換えます:

 ServerName "My FTP-Server" 

DefaultRoot行のコメントを解除して、すべてのユーザーのjailを有効にします。

 DefaultRoot〜

次の方法でsystemctlコマンドを使用してProFTPDを再起動します。

 sudo systemctl restart proftpd 

FTPユーザーを追加する

使用可能なFTPユーザーには、匿名FTPユーザーと「通常の」FTPユーザーの2種類があります。

  1. 匿名FTP :FTPサーバーは、ユーザーアカウントとパスワードがなくても、誰にでもアクセスできるようにします。これは、公開されているサーバーでは使用しないでください。ただし、ホームサーバーまたは会社のLANのオプションである可能性があります。
  2. FTPユーザー :ユーザーアカウントとパスワードを持っている人だけがFTPサーバーにアクセスできます。

FTPサーバーのユーザーを作成する前に、/ bin/falseを/etc/shellsファイルに追加してください。

 sudo echo "/ bin / false">> / etc / shells 

次に、特定のホームディレクトリを持つユーザーを作成し、シェルアクセスを無効にしてから、FTPサーバーに許可します。

 sudo useradd -m -s / bin / false tomsudo passwd tom 

上記のコマンドは、ホームディレクトリ/ home / tom /を持ち、シェルアクセス/ bin/falseのないtomという新しいユーザーを作成します。

次に、ユーザーtomがFTPサーバーにアクセスできるようにProFTPDを構成します。

 sudo nano /etc/proftpd/conf.d/tom.conf 

この構成ファイルを追加して、ユーザーtomがログインし、サーバーとの間でファイルをアップロード/ダウンロードできるようにします:

  Umask 022 022 AllowOverwrite off  AllowUser tom DenyALL   Order Allow、Deny AllowUser tom Deny ALL   AllowUser tom Deny ALL   

ファイルは次のようになります:

ファイルを保存してnanoを終了します。次に、ProFTPDを再起動します。

 sudo systemctl restart proftpd 

この段階ではすでにFTPを使用できますが、次のステップでTLSを使用することでより安全になります。

proftpdでTLSを構成する

TLSを使用するには、SSL証明書を作成する必要があります。 OpenSSLコマンドを使用してSSL証明書を生成します:

 sudo openssl req -x509 -newkey rsa:2048 -keyout /etc/ssl/private/proftpd.key -out /etc/ssl/certs/proftpd.crt -nodes -days 365 

上記のコマンドは、/ etc / ssl / certs /ディレクトリに証明書ファイルproftpd.crtを生成し、/ etc / ssl /private/ディレクトリに証明書キーファイルproftpd.keyを生成します。

次に、証明書ファイルのアクセス許可を600に変更します:

 sudo chmod 600 /etc/ssl/certs/proftpd.crtsudo chmod 600 /etc/ssl/private/proftpd.key 

ここで、/ etc / proftpdディレクトリに戻り、生成したSSL証明書を使用するようにProFTPDを構成します。

 nano /etc/proftpd/proftpd.conf 

TLS行のコメントを解除します:

/etc/proftpd/tls.confを含める

tls.confファイルを保存して終了します。

次に、TLS構成ファイルを編集して、安全な認証を有効にします:

 nano /etc/proftpd/tls.conf 

これらすべての行のコメントを解除します:

 TLSEngine onTLSLog /var/log/proftpd/tls.logTLSProtocol SSLv23TLSRSACertificateFile /etc/ssl/certs/proftpd.crtTLSRSACertificateKeyFile /etc/ssl/private/proftpd.keyTLSOptions NoCertRequest EnableDiags NoSessionReuseRequiredTLSVerifyClient 

保存して終了。最後のステップは、ProFTPDサーバーを再起動することです:

 sudo systemctl restart proftpd 

ProFTPDのテスト

構成をテストするには、FileZillaなどのソフトウェアを使用してFTPサーバーに接続してみてください(私は FileZillaを使用しています ここに)、サーバーのIP、ユーザー名、パスワード、ポートを入力します:

サーバーIP:192.168.0.100ユーザー名:tomPassword ******ポート:21 

次に、[クイック接続]をクリックします。

[OK]をクリックして、自己署名SSL証明書を確認します。

TLS/SSL証明書を使用してFTPサーバーにログインしていることがわかります。

リンク

  • ProFTPDソフトウェアプロジェクト。リンク

Ubuntu
  1. Ubuntu15.04にTLSを使用してProftpdをインストールする方法

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

  3. Ubuntu20.04LTSにProFTPDをインストールする方法

  1. Ubuntu15.10でTLSをサポートするProFTPdをインストールする方法

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

  3. Ubuntu20.04LTSにDockerを使用してGitLabをインストールする方法

  1. Ubuntu15.04にTLSをサポートするProFTPdをインストールする方法

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

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