このドキュメントでは、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」)。
ここで、セキュリティ上の理由から、証明書を次のようにのみ読み取り可能にします。
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サーバー環境を正常に構成できました:)
5つのリンク
- Debian:https://www.debian.org/
- Ubuntu:http://www.ubuntu.com/
- ProFTPD:http://www.proftpd.org/