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

DebianWheezyとUbuntu14.04にProFTPDをインストールして設定する方法

このドキュメントでは、DebianWheezyサーバーにProFTPDをインストールして設定する方法について説明します。Ubuntu14.04でも機能します。 ProFTPDは、UNIXおよびUNIXライクなオペレーティングシステム用のFTPデーモンです。 ProFTPDは、GNU Public License(GPL)の下で開発、リリース、配布されます。GPLは、基本的にそれを自由ソフトウェアとして確立します。つまり、完全で完全なソースコードがいずれかを伴う限り、任意の方法で販売、ライセンス供与、またはその他の方法で操作できます。 ProFTPDパッケージ、またはプリコンパイルされたバイナリを配布するすべてのサイトで利用可能になります。ソフトウェアは、派生したすべての作品がGNU Public Licenseの下でライセンスされている限り、いつでも誰でも変更できます。

このガイドは、UbuntuとDebianサーバーの両方で機能します。

1予備メモ

このチュートリアルはDebian7.6サーバーに基づいているため、このチュートリアルを続行する前に、基本的なDebian7.6サーバーのインストールをセットアップする必要があります。システムには静的IPアドレスが必要です。このチュートリアルでは、IPアドレスとして192.168.0.100を使用し、ホスト名としてserver1.example.comを使用しています。

2ProFTPDをインストール

2.1インストール:

まず、ProFTPDとOpenSSLを次のようにインストールします。

apt-get install proftpd openssl

ProFTPDについて質問があり、スタンドアロンを選択して[OK]を押します。

ProFTPDのバージョンは次のように確認できます:

proftpd -v
[メール保護]:〜#proftpd -v
ProFTPDバージョン1.3.4a
[メール保護]:〜#

2.2ProFTPDユーザーの作成

このために、ProFTPDのグループftpgroupとユーザーsrijanを作成します。ホームディレクトリを/ftpshareとして使用するユーザーsrijanを制限します

addgroup ftpgroup
adduser srijan -shell /bin/false -home /ftpshare
[email protected]:~# adduser srijan -shell /bin/false -home /ftpshare
Adding user `srijan' ...
Adding new group `srijan' (1002) ...
Adding new user `srijan' (1001) with group `srijan' ...
Creating home directory `/ftpshare' ...
Copying files from `/etc/skel' ...
Enter new UNIX password: <--ftppassword
Retype new UNIX password: <--ftppassword
passwd: password updated successfully
Changing the user information for srijan
Enter the new value, or press ENTER for the default<--ENTER
    Full Name []: <--ENTER
    Room Number []: <--ENTER
    Work Phone []: <--ENTER
    Home Phone []: <--ENTER
    Other []: <--ENTER
Is the information correct? [Y/n] <--Y
[email protected]:~#

次に、次のようにsrijanユーザーをftpgroupに追加します。

adduser srijan ftpgroup

次に、ユーザーによるコンテンツの削除や名前の変更からディレクトリを保護する必要があるため、ディレクトリのアクセス許可を次のように変更します。

chmod -R 1777 /ftpshare/

次に、ProFTPDを次のように設定する必要があります。

nano /etc/proftpd/proftpd.conf

図のように変更します

[...]
UseIPv6 off
[...]
<Global>
RootLogin off RequireValidShell off </Global> DefaultRoot ~ <Limit LOGIN> DenyGroup !ftpgroup </Limit>

私はIPV6を使用していないので、上記をオフにしました。RootLogonをオフにしてProFTPDでrootユーザーのログインを無効にします。 DefaultRootは、ホームフォルダーへのアクセスのみを持つユーザーを制限するために追加されました。 DenyGroupは、ftpgroupからのユーザーのみにftpサーバーへのアクセスを許可し、他のすべての接続は拒否されます。

次のようにサービスを再起動します:

service proftpd restart

のように、サービスの再起動中にエラーが発生する場合があります [メール保護]:〜#service proftpd restart
[ok] ftpサーバーの停止:proftpd。
[....] ftpサーバーの開始:proftpdserver1 proftpd [6052]:mod_tls_memcache / 0.1:通知:できません'memcache' SSLセッションキャッシュを登録するには:Memcacheサポートが有効になっていません
。わかりました
[メール保護]:〜#

このエラーは、ファイル/etc/proftpd/modules.confを編集し、次のようにコメントを付けることで解決できます。

nano /etc/proftpd/modules.conf
[...]
#LoadModule mod_tls_memcache.c
[...]

エラーを並べ替えます。

これで、ユーザーsrijanとパスワードを使用してftp://192.168.0.100

でログインできます。



3ProFTPDでTLSを有効にする

ProFTPDでTLSを有効にするには、/ etc / proftpd / proftpd.conf

を開きます。
nano /etc/proftpd/proftpd.conf

次のように変更を加え、行のコメントを解除します。

[...]
Include /etc/proftpd/tls.conf
[...]

次に、元のファイルのバックアップを作成してから、以下に示すようにファイルを編集します。

cp /etc/proftpd/tls.conf /etc/proftpd/tls.conf_orig
cat /dev/null > /etc/proftpd/tls.conf
nano /etc/proftpd/tls.conf

図のようにエントリを入力します

<IfModule mod_tls.c>
TLSEngine                  on
TLSLog                     /var/log/proftpd/tls.log
TLSProtocol                SSLv23
TLSOptions                 NoCertRequest
TLSRSACertificateFile      /etc/proftpd/ssl/proftpd.cert.pem
TLSRSACertificateKeyFile   /etc/proftpd/ssl/proftpd.key.pem
TLSVerifyClient            off
TLSRequired                on
</IfModule>

TLSを使用するには、SSL証明書を作成する必要があります。 / etc / proftpd / sslに作成するので、最初にそのディレクトリを作成します:

mkdir /etc/proftpd/ssl

その後、次のようにSSL証明書を生成できます。

openssl req -new -x509 -days 365 -nodes -out /etc/proftpd/ssl/proftpd.cert.pem -keyout /etc/proftpd/ssl/proftpd.key.pem

国名(2文字のコード)[AU]:<-国名を入力します(例:「DE」)。州または州の名前(フルネーム)[一部の州]:<-州または州の名前を入力します。地域名(例:都市)[]:<-都市を入力してください。組織名(例:会社)[Internet Widgits Pty Ltd]:<-組織名(例:会社名)を入力します。組織単位名(例:セクション)[]:<-組織単位名を入力します(例:「IT部門」)。一般名(例:あなたの名前)[]:<-システムの完全修飾ドメイン名を入力します(例: "server1.example.com")。メールアドレス[]:<-メールアドレスを入力してください。

ここで、セキュリティ上の理由から、証明書を次のようにのみ読み取り可能にします。

chmod 0440 /etc/proftpd/ssl/proftpd.key.pem

最後に、次のようにProFTPDサービスを再起動します。

service proftpd restart

FileZillaソフトウェアを使用してProFTPDサーバーに接続できます。サーバーに接続するには、クライアントにFileZillaをインストールする必要があります。 FileZillaを開き、次のように詳細を入力します。

詳細は

ホスト=192.168.0.100
プロトコル=FTP
ユーザー=srijan
ポート=21以外のポートをカスタマイズしていない場合は空白にすることができます
パスワード=ftppassword(上記で作成したばかり)

注:上記の手順で接続を暗号化したため、TLSを介した明示的なFTPが必要で暗号化を使用します

TLSを構成していない場合は、プレーンFTPを使用を使用できます。



証明書を信頼するように求められます[OK]を押します




FTP共有ディレクトリに接続されます。

4ProFTPDでの匿名FTPアクセス

ProFTPDで匿名FTPアカウントを作成できます。これらのエントリを、ProFTPD構成ファイルに追加するだけです。

nano /etc/proftpd/proftpd.conf

そして、ファイルの最後にこれらのエントリを追加します。

[...]
###Anonymous share##### <Anonymous ~ftp> User ftp Group nogroup <Limit LOGIN> AllowAll </Limit> # We want clients to be able to login with "anonymous" as well as "ftp" UserAlias anonymous ftp # Cosmetic changes, all files belongs to ftp user DirFakeUser on ftp DirFakeGroup on ftp RequireValidShell off # Limit the maximum number of anonymous logins MaxClients 10 # Limit WRITE everywhere in the anonymous chroot <Directory *> <Limit WRITE> DenyAll </Limit> </Directory> </Anonymous> ~

次に、FileZillaを介して次のように接続します。

注:上記の手順で接続を暗号化したため、TLSを介した明示的なFTPが必要で暗号化を使用します

TLSを構成していない場合は、プレーンFTPを使用を使用できます。

接続を押します:

証明書を信頼するように求められます[OK]を押します

匿名ユーザーでサーバーに正常に接続しました。

おめでとう!これで、DebianWheezyでProFTPDサーバー環境を正常に構成できました:)

  • Debian:https://www.debian.org/
  • Ubuntu:http://www.ubuntu.com/
  • ProFTPD:http://www.proftpd.org/

Ubuntu
  1. Ubuntu18.04にRedisをインストールして構成する方法

  2. Ubuntu18.04にRedmineをインストールして設定する方法

  3. Ubuntu18.04にSambaをインストールして設定する方法

  1. Ubuntu20.04にRedisをインストールして構成する方法

  2. Debian/UbuntuにWebminをインストールして設定する方法

  3. Ubuntu 18.04 /Debian9にNginxをインストールして構成する方法

  1. Ubuntu20.04にJenkinsをインストールして構成する方法

  2. Ubuntu16.04にAskbotをインストールして構成する方法

  3. Ubuntu14.04にMongoDBをインストールして構成する方法