このドキュメントでは、CentOS7.0ServerにProFTPDをインストールして設定する方法について説明します。 ProFTPDは、UNIXおよびUNIXライクなオペレーティングシステム用のFTPデーモンです。 ProFTPDは、GNU Public License(GPL)の下で開発、リリース、配布されます。GPLは、基本的にそれを自由ソフトウェアとして確立します。つまり、完全で完全なソースコードがいずれかを伴う限り、任意の方法で販売、ライセンス供与、またはその他の方法で操作できます。 ProFTPDパッケージ、またはプリコンパイルされたバイナリを配布するすべてのサイトで利用可能になります。ソフトウェアは、派生したすべての作品がGNU Public Licenseの下でライセンスされている限り、いつでも誰でも変更できます。
1予備メモ
このチュートリアルはCentOS7.0サーバーに基づいているため、このチュートリアルを続行する前に、基本的なCentOS7.0サーバーのインストールをセットアップする必要があります。システムには静的IPアドレスが必要です。このチュートリアルでは、IPアドレスとして192.168.0.100を使用し、ホスト名としてserver1.example.comを使用しています。
2ProFTPDをインストール
2.1インストール:
このために、次のようにEPELを有効にします。
rpm -ivh http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-2.noarch.rpm
まず、次のようにProFTPDとOpenSSLをインストールします。
yum install -y proftpd openssl proftpd-utils
サービスを開始する必要があります
systemctl start proftpd.service
systemctl enable proftpd.service
CentOS 7.0での追加では、ftpサービスのFirewall-cmdを次のように構成する必要があります。
firewall-cmd --add-service=ftp --permanent
firewall-cmd --reload
ProFTPDのバージョンは次のように確認できます:
proftpd -v[[メール保護]〜]#proftpd -v
ProFTPDバージョン1.3.5
[[メール保護]〜]#
2.2ProFTPDユーザーの作成
このために、ProFTPD用のグループftpgroupとユーザーsrijanを作成します。ホームディレクトリを/ftpshareとして使用するユーザーsrijanを制限します
groupadd ftpgroup
次に、ユーザーsrijanをftpgroupに追加します:
useradd -G ftpgroup srijan -s /sbin/nologin -d /ftpshare
passwd srijan
[[email protected] ~]# passwd srijan
Changing password for user srijan.
New password: <--ftppassword
Retype new password: <--ftppassword
passwd: all authentication tokens updated successfully.
[[email protected] ~]#
次に、ユーザーによるコンテンツの削除や名前の変更からディレクトリを保護する必要があるため、ディレクトリのアクセス許可を次のように変更します。
chmod -R 1777 /ftpshare/
これで、ProFTPD接続の準備が整いました
これで、ユーザーsrijanとパスワードを使用してftp://192.168.0.100
でログインできます。
3ProFTPDでTLSを有効にする
ProFTPDでTLSを有効にするには、ファイルを編集する前に/etc/proftpd/proftpd.confを開いて元のファイルのバックアップを作成し、次に示すようにファイルを編集します。
cp /etc/proftpd.conf /etc/proftpd.conf.bak
nano /etc/proftpd.conf
図のようにエントリを入力します
[...]
DefaultRoot ~ !adm PassivePorts 6000 6100
[...]
#<IfDefine TLS> TLSEngine on TLSRequired on TLSRSACertificateFile /etc/pki/tls/certs/proftpd.pem TLSRSACertificateKeyFile /etc/pki/tls/certs/proftpd.pem TLSCipherSuite ALL:!ADH:!DES TLSOptions NoCertRequest TLSVerifyClient off TLSRenegotiate ctrl 3600 data 512000 required off timeout 300 TLSLog /var/log/proftpd/tls.log # <IfModule mod_tls_shmcache.c> # TLSSessionCache shm:/file=/var/run/proftpd/sesscache # </IfModule> #</IfDefine>
[...]
ftpのパッシブモードを許可するために6000と6100のポートを追加しました。同様に、次のようにCentOSfirewalldサービスを介してパッシブモードを許可します。
firewall-cmd --add-port=6000-6100/tcp --permanent
firewall-cmd --reload
ポートのステータスは次のように確認できます:
firewall-cmd --list-ports
[[email protected] ~]# firewall-cmd --list-ports
6000-6100/tcp
[[email protected] ~]#
さらに、ファイルの読み取り/書き込みを許可するようにSELINUXに指示する必要があります。
setsebool -P allow_ftpd_full_access=1
TLSを使用するには、SSL証明書を作成する必要があります。 / etc / pki / tls/certsに作成します。SSL証明書は次のように生成できます。
openssl req -x509 -nodes -newkey rsa:1024 -keyout /etc/pki/tls/certs/proftpd.pem -out /etc/pki/tls/certs/proftpd.pem
[[email protected] certs]#openssl req -x509 -nodes -newkey rsa:1024 -keyout /etc/pki/tls/certs/proftpd.pem -out /etc/pki/tls/certs/proftpd.pem
1024ビットのRSA秘密鍵の生成
...................................+++ +++
......... ++++++
新しい秘密鍵を'/etc/pki/tls/certs/proftpd.pem'に書き込む
- ----
証明書リクエストに組み込まれる
情報の入力を求められます。
入力しようとしているのは、いわゆる識別名またはDNです。 。
かなりの数のフィールドがありますが、空白のままにすることができます
一部のフィールドにはデフォルト値があります。
「。」と入力すると、フィールドは空白のままになります。
-----
国名(2文字のコード)[XX]: <-DE
州または県の名前(フルネーム)[]: <-強い> ハンブルク
地域名(例:都市)[デフォルトの都市]:
組織名(例:会社)[Default Company Ltd]: <- ISPConfig
組織単位名(例:セクション)[]: <-強い> 開発
一般的な名前(例:名前やサーバーのホスト名)[]: <- server1.example.com
メールアドレス[]: <- [メールで保護]
[[メールで保護された]証明書]#
上記の値を選択に応じて赤で示してください。例を示しました。
ここで、セキュリティ上の理由から、証明書を次のようにのみ読み取り可能にします。
chmod 0440 /etc/pki/tls/certs/proftpd.pem
最後に、次のようにProFTPDサービスを再起動します。
systemctl restart proftpd.service
Filezillaソフトウェアを使用してProFTPDサーバーに接続できます。サーバーに接続するには、クライアントにFilezillaがインストールされている必要があります。 Filezillaを開き、次のように詳細を入力します。
詳細は
ホスト=192.168.0.100
プロトコル=FTP
ユーザー=srijan
ポート=21以外のポートをカスタマイズしていない場合は空白にすることができます
パスワード=ftppassword(上記で作成したばかり)
注:上記の手順で接続を暗号化したため、TLSを介した明示的なFTPが必要で暗号化を使用します
TLSを構成していない場合は、プレーンFTPを使用を使用できます。
[OK]を押して証明書を信頼するように求められます
TLSを使用してFTP共有ディレクトリに接続されます接続。
4ProFTPDでの匿名のftpアクセス
ProFTPDで匿名のftpアカウントを作成できます。これらのエントリを、ProFTPD構成ファイルに追加するだけです。
nano /etc/proftpd.conf
そして、ファイルの最後にこれらのエントリを追加します。
[...]
###Anonymous share##### <Anonymous ~ftp> User ftp Group ftp UserAlias anonymous ftp DirFakeUser on ftp DirFakeGroup on ftp MaxClients 10 <Directory *> <Limit WRITE> DenyAll </Limit> </Directory> </Anonymous>
次に、サービスを再起動する必要があります:
systemctl restart proftpd.service
次に、Filezillaを介して次のように接続します。
注:上記の手順で接続を暗号化したため、TLSを介した明示的なFTPが必要で暗号化を使用します
TLSを構成していない場合は、プレーンFTPを使用を使用できます。
接続を押します:
証明書を信頼するように求められます[OK]を押します
匿名ユーザーでサーバーに正常に接続しました。
おめでとう!これで、CentOS7.0でProFTPDサーバー環境を正常に構成できました:)
5つのリンク
- CentOS:http://www.centos.org/
- ProFTPD:http://www.proftpd.org/