Debian 9でTLSを使用してPure-FTPdをセットアップする

Pure-FTPdは、セキュリティを考慮して構築された高速で軽量なFTPサーバーです。このチュートリアルでは、4つの簡単なステップでPure FTPをインストールして使用する方法を説明します。このガイドでは、Debian 9にPure FTPdをインストールする方法について説明します。

ステップ1-インストール

Pure-FTPdはDebianの安定したリポジトリにあるため、システムにリポジトリを追加する必要はありません。

root権限で次のコマンドを実行します。

apt install -y pure-ftpd-common pure-ftpd 

ステップ2-構成

アプリケーションの動作を変更するために使用できる多くのオプションがあります。これらのオプションは、起動時にPure-FTPdのデーモンに適用することも、confディレクトリ内に必要なファイルを作成して永続化することもできます。

私達はしたいです:

  • 仮想ユーザーを作成します。
  • ユーザーのホームディレクトリを自動的に作成します。
  • chroot)ユーザーが自分のホームディレクトリにのみアクセスできるように制限します。

Pure-FTPdのデータベースを有効にし、PAMおよびUnix認証を無効にして、仮想ユーザーを有効にします。

ln -s /etc/pure-ftpd/conf/PureDB /etc/pure-ftpd/auth/50pure
echo no > /etc/pure-ftpd/conf/PAMAuthentication
echo no > /etc/pure-ftpd/conf/UnixAuthentication

初回ログイン時にユーザーのホームディレクトリを作成するようにPure-FTPdを設定します。

echo "yes" > /etc/pure-ftpd/conf/CreateHomeDir

Chrootみんな。

echo "yes" > /etc/pure-ftpd/conf/ChrootEveryone

他のオプションについて知りたい場合は、公式のドキュメントページにアクセスしてください

ステップ3-ユーザーを作成する

Pure-FTPdは仮想ユーザーを処理できます。つまり、仮想ユーザーはPure-FTPdのデータベースに保持され、Linuxシステムユーザーとは関係ありません。

Pure-FTPdで仮想ユーザーのファイルを管理するには、すべての仮想ユーザーを関連付けるLinuxユーザーとグループを作成する必要があります。すべての仮想ユーザーは、chrootされている限り、同じシステムユーザーとグループを使用できます。

次のコマンドを実行して、システムユーザーとグループを作成します。

groupadd ftpusr
useradd -g ftpusr -d /dev/null -s /etc ftpusr

:このユーザーにホームディレクトリまたはログイン機能を持たせたくありません。

FTPルートディレクトリを作成します。

mkdir /home/FTP

Pure-FTPdで仮想ユーザーを作成します。

pure-pw useradd alex -u ftpusr -g ftpusr -d /home/FTP/alex 

最初の仮想ユーザー(alex)を追加し、システムユーザー/グループ(ftpusr)に関連付けました。書き込むすべてのファイルは、システム上alexで所有さftpusrれます。

Pure-FTPdのデータベースを更新します。

pure-pw mkdb

ユーザーの情報を確認します。

pure-pw show alex

Login              : alex
Password           : <encrypted password>
UID                : 1000 (ftpusr)
GID                : 1000 (ftpusr)
Directory          : /home/FTP/alex/./
Full name          : 
Download bandwidth : 0 Kb (unlimited)
Upload   bandwidth : 0 Kb (unlimited)
Max files          : 0 (unlimited)
Max size           : 0 Mb (unlimited)
Ratio              : 0:0 (unlimited:unlimited)
Allowed local  IPs : 
Denied  local  IPs : 
Allowed client IPs : 
Denied  client IPs : 
Time restrictions  : 0000-0000 (unlimited)
Max sim sessions   : 0 (unlimited)

作業を簡単にするために、次のスクリプトを使用してFTPアカウントを追加します。

echo -e  '#!/bin/bash\nread -p "Enter UserName: " usrname\npure-pw useradd $usrname -u ftpusr -g ftpusr -d /home/FTP/$usrname && pure-pw mkdb'  > /usr/sbin/ftp-createacc

chmod u+x /usr/sbin/ftp-createacc

FTPアカウントの作成は簡単です。

ftp-createacc

Enter UserName: mike
Password: 
Enter it again:

ステップ4-TLSサポート

まず、OpenSSLをインストールする必要があります。

apt install -y openssl

Pure-FTPdがTLSを使用するように強制するか、オプションにすることができます。これは、安全でない接続とTLS接続の両方が受け入れられることを意味します

# force TLS
echo 2 > /etc/pure-ftpd/conf/TLS

# insecure + TLS
echo 1 > /etc/pure-ftpd/conf/TLS

キーを格納するディレクトリを作成します。

mkdir -p /etc/ssl/pure-ftpd

バンドルキー(秘密キーと公開キー)を生成します。

openssl req -x509 -nodes -days 730 -newkey rsa:2048 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem

pure-ftpdデーモンを再起動します。

systemctl restart pure-ftpd

システムにファイアウォールがインストールされている場合、またはサーバーがNATの背後にある場合は、Pure-FTPdでパッシブポートを定義し、ファイアウォールでこれらのポートを開く必要があります。そうしないと、次のようなエラーが発生します。

Server sent passive reply with unroutable address. Passive mode failed.

Failed to retrieve directory listing.

500 I won't open a connection to 192.168.1.4 (only to 10.10.10.10).

Pure-FTPdでパッシブポートを設定します。

echo "40110 42210" > /etc/pure-ftpd/conf/PassivePortRange

再起動pure-ftpdして変更を適用します。

systemctl restart pure-ftpd

ファイアウォールでは、からの着信ポート範囲を開き、4011042210、プロトコルTCP。

FTPは本質的に安全ではありませんが、セットアップも高速で簡単です。より安全なソリューションとして、代わりにSFTPを使用してください。



Leave a Comment

CentOS 7にApacheをインストールする方法

CentOS 7にApacheをインストールする方法

CentOS 7サーバーにApache 2.4をインストールする方法を説明します。安定したウェブサーバーを構築するための前提条件と手順を解説します。

FreeBSD 11.1にBlacklistdをインストールする方法

FreeBSD 11.1にBlacklistdをインストールする方法

FreeBSD 11.1におけるBlacklistdのインストール方法について詳しく解説します。この方法を通じて、強力なセキュリティ対策を実装できます。

Windows Serverのサーバーマネージャーを使用した複数サーバーの管理

Windows Serverのサーバーマネージャーを使用した複数サーバーの管理

サーバーマネージャーを使用して、Windows Serverの管理が向上します。セキュリティリスクを軽減し、効率的な管理を実現します。

CentOS 7にSeafileサーバーをインストールする方法

CentOS 7にSeafileサーバーをインストールする方法

CentOS 7にSeafileサーバーをインストールする方法。Seafile(コミュニティバージョン)は、ownCloudに似た無料のオープンソースファイル同期および共有ソリューションです。

DebianでSnortを設定する方法

DebianでSnortを設定する方法

Snortは無料のネットワーク侵入検知システムです。最新の方法で、SnortをDebianにインストールし、設定する手順を紹介します。ネットワークのセキュリティを強化しましょう。

CentOS 7にGraylogサーバーをインストールする方法

CentOS 7にGraylogサーバーをインストールする方法

CentOS 7にGraylogサーバーをインストールし、ログ管理を行う方法を学びます。

WindowsでhMailServerを使用してメールサーバーを構築する

WindowsでhMailServerを使用してメールサーバーを構築する

WindowsサーバーでWebサイトを実行している場合、電子メールも受信できるようにするためにhMailServerを使用する方法を解説します。

Ubuntu 19.04にFiveMサーバーをインストールする方法

Ubuntu 19.04にFiveMサーバーをインストールする方法

FiveMサーバーをUbuntu 19.04にインストールするための詳細なガイド。必要条件からインストール、起動、トラブルシューティングまで、すべてのステップを含みます。

WsgiDAVを使用してDebian 10にWebDAVをデプロイする

WsgiDAVを使用してDebian 10にWebDAVをデプロイする

Debian 10にWebDAVをデプロイする方法を学び、WsgiDAVとSSL証明書で安全な接続を実現しましょう。

ヘルスケア2021における人工知能の影響

ヘルスケア2021における人工知能の影響

ヘルスケアにおけるAIは、過去数十年から大きな飛躍を遂げました。したがって、ヘルスケアにおけるAIの未来は、日々成長を続けています。