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

vsftpdを使用してUbuntuにFTPサーバーをインストールする方法

はじめに

UbuntuにFTPサーバーをインストールする場合、vsftpdのシンプルさに勝るものはありません。

FTPはファイル転送プロトコルの略です。ネットワーク経由でデータを転送するための言語を指定するという点で、HTTP(HyperText Transfer Protocol)に似ています。 FTPはデフォルトで暗号化されていないため、FTP自体はデータの安全な送信には適していません。

このガイドは、Ubuntuでvsftpdを使用してFTPサーバーをインストールおよび構成するのに役立ちます。

前提条件

  • sudoを使用したユーザーアカウントへのアクセス 特権
  • ターミナルウィンドウ/コマンドラインへのアクセス(Ctrl-Alt-T)
  • apt パッケージマネージャー、デフォルトで含まれています

ステップ1:システムパッケージを更新する

リポジトリを更新することから始めます–ターミナルウィンドウに次のように入力します:

sudo apt update

システムはリポジトリの更新に進みます。

ステップ2:Ubuntuにvsftpdサーバーをインストールする

Ubuntuで使用される一般的なオープンソースFTPユーティリティはvsftpd 。使いやすさからお勧めです。

1. vsftpdをインストールするには 、コマンドを入力します:

sudo apt install vsftpd

これはUbuntuでの出力の例です。

2.サービスを起動して起動時に有効にするには、次のコマンドを実行します。

sudo systemctl start vsftpd

sudo systemctl enable vsftpd

ステップ3:構成ファイルのバックアップ

変更を加える前に、必ず構成ファイルをバックアップしてください。

1.次のように入力して、デフォルトの構成ファイルのバックアップコピーを作成します。

sudo cp /etc/vsftpd.conf  /etc/vsftpd.conf_default

ステップ4:FTPユーザーを作成する

次のコマンドを使用して、新しいFTPユーザーを作成します。

sudo useradd -m testuser

sudo passwd testuser

システムは、新しいテストユーザーのパスワードを作成するように要求する必要があります アカウント。

ステップ5:FTPトラフィックを許可するようにファイアウォールを構成する

Ubuntuに標準で付属しているUFWを使用している場合、デフォルトでFTPトラフィックをブロックします。次のコマンドを入力して、ポート20を開きます および21 FTPトラフィックの場合:

sudo ufw allow 20/tcp

sudo ufw allow 21/tcp

ステップ6:UbuntuFTPサーバーに接続する

次のコマンドを使用してFTPサーバーに接続します。

sudo ftp ubuntu-ftp

ubuntu-ftpを置き換えます システムの名前(コマンドラインから取得)

ログイン testuserを使用する 設定したアカウントとパスワード。これで、FTPサーバーに正常にログインできるはずです。

Ubuntuvsftpdサーバーの構成と保護

デフォルトディレクトリの変更

デフォルトでは、FTPサーバーは / srv / ftpを使用します デフォルトディレクトリとしてディレクトリ。これを変更するには、新しいディレクトリを作成し、FTPユーザーのホームディレクトリを変更します。

FTPホームディレクトリを変更するには、次のように入力します。

sudo mkdir /srv/ftp/new_location

sudo usermod -d /srv/ftp/new_location ftp

vsftpdを再起動します 変更を適用するサービス:

sudo systemctl restart vsftpd.service

これで、FTP経由で共有したいファイルを / srv / ftpに入れることができます。 フォルダ(デフォルトのままにした場合)、または / srv / ftp / new_location / ディレクトリ(変更した場合)。

FTPユーザーの認証

認証されたユーザーにファイルのアップロードを許可する場合は、 vsftpd.confを編集します 次のように入力してファイルを作成します:

sudo nano /etc/vsftpd.conf

write_enable =NOというラベルの付いたエントリを見つけます 、値を「 YES」に変更します 。」

ファイルを保存して終了し、次の手順でFTPサービスを再起動します。

sudo systemctl restart vsftpd.service

これにより、ユーザーはホームディレクトリ内で変更を加えることができます。

FTPの保護

多くのエクスプロイトは、セキュリティで保護されていないFTPサーバーを利用しています。それに応じて、 vsftpd.confにはいくつかの構成オプションがあります FTPサーバーを保護するのに役立ちます。

ユーザーアクセスを制限する

1つの方法は、ユーザーをホームディレクトリに制限することです。 vsftpd.confを開きます エディターで次のコマンドのコメントを解除します:

chroot_local_user=YES

これはnanoのファイルの例です :

ユーザーリストファイルを作成する

リストファイルを作成するには、 /etc/vsftpd.chroot_listを編集します 、および1行に1人のユーザーを追加します。

vsftpd.conf を編集して、このユーザーのリストを自分のホームディレクトリに制限するようにFTPサーバーに指示します。 :

chroot_local_user=YES

chroot_list_file=/etc/vsftpd.chroot_list

この画像は、行われた編集を示しています。

vsftpdを再起動します サービス:

sudo systemctl restart vsftpd.service

デフォルトでは、FTPアクセスからブロックされたユーザーのリストは / etc / ftpusersに保存されます 。ブロックされたユーザーを追加するには、このファイルを編集して、1行に1人のユーザーを追加します。

FTPSでトラフィックを暗号化する

FTPサーバーを保護する別の方法は、トラフィックを暗号化することです。これは、 FTPSを使用して行われます。 – SSLを介したファイル転送プロトコル(Secure Socket Layer)。

これを機能させるには、ユーザーはFTPサーバーでシェルアカウントを設定する必要があります。これにより、FTPトラフィックに安全な暗号化のレイヤーが追加されます。

1.opensslを使用して新しい証明書を作成することから始めます。これを行うには、次のコマンドを実行します:

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

2.プロンプトが表示されたら必要な情報を入力するか、 Enterを押してデフォルト構成を維持します 。

3.次に、 vsftpd.confを開きます エディターでファイルを作成し、行を変更します ssl_enable=NO ssl_enable=YES

ssl_enable=YES

4.次に、次の行を追加します。

rsa_cert_file=/etc/ssl/private/vsftpd.pem
rsa_private_key_file=/etc/ssl/private/vsftpd.pem
allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
require_ssl_reuse=NO
ssl_ciphers=HIGH
pasv_min_port=40000
pasv_max_port=50000

5.変更を保存して、ファイルを終了します。

6.最後に、サービスを再起動して変更を適用します。

sudo systemctl restart vsftpd.service

Ubuntu
  1. VSFTPDを使用してRockyLinux8にFTPサーバーをインストールする方法

  2. UbuntuServer21.04にAnsibleをインストールする方法

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

  1. VSFTPDを使用してCentOS7にFTPサーバーをインストールする方法

  2. Ubuntu20.04でVSFTPDを使用してFTPサーバーをセットアップする方法

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

  1. Ubuntu18.04でVSFTPDを使用してFTPサーバーをセットアップする方法

  2. Ubuntu22.04にSSHサーバーをインストールする方法

  3. Ubuntu18.04LTSにTLSを使用してVsFTPDサーバーをインストールする方法