運営者プロフィール

FTPをLDAP認証で使いたい!Pure-FTPdで構築するFTPサーバ

本記事対象者
LDAPユーザ認証に対応したFTPサーバを構築したい方

どーも。あいしんくいっと( @ithinkitnet)です。

過去に利用したことがあるVSFTPDを使いたかったのですが、VSFTPDはLDAP認証に対応していないことが分かりました。
強引に対応させる方法はあるようなのですが、少し調べた限りだとハードルが高そう。
LINUX使いならFTPサーバー位は構築出来ないとね!3分で出来るFTPサーバ構築!

なので今回は見送ることにしました。(悲しい)
それからLDAP認証に対応しているFTPソフトを調べたところ、Pure-FTPdもしくは、ProFTPDといったところが有力らしいことが分かりました。

どちらを使うか少し悩んだのですが、なんとな〜く名前の響き「Pure(純粋w)」な部分に惹かれたので、今回はPure-FTPdを使ってFTPサーバを構築してLDAP認証させてみたいと思います。

注意
前提として既にLDAPサーバが存在しており、ユーザ情報くらいは引っ張ってこれるようになっていることとします

Pure-FTPdインストール

サクッとyumでPure-FTPdをインストールします。

yumコマンド
# yum install pure-ftpd -y
RPMパッケージでPure-FTPdインストールすると、カレントディレクトリおよび設定ファイル類は以下になります。
Pure-FTPd構成ファイル
# ls /etc/pure-ftpd/
pure-ftpd.conf  pureftpd-ldap.conf  pureftpd-mysql.conf  pureftpd-pgsql.conf
ほう。最初からLDAP連携用の設定ファイル「pureftpd-ldap.conf」が存在しますね。
これはイイ!

Pure-FTPdのLDAP認証設定

では、Pure-FTPdのユーザ認証をLDAPで行うよう設定していきます。
念のため、オリジナルなファイルをバックアップしておきます。

pureftpd-ldap.confバックアップ
# cp -p /etc/pure-ftpd/pureftpd-ldap.conf /etc/pure-ftpd/pureftpd-ldap.conf_org
続いて設定ファイル「pureftpd-ldap.conf」を編集します。
なお、今回認証に利用するLDAPサーバはOpenLDAPになります。
Pure-FTPdファイル編集
# vi /etc/pure-ftpd/pureftpd-ldap.conf
LDAPServer 192.168.1.100 #LDAPサーバ

LDAPBaseDN dc=hogehoge,dc=co,dc=jp #ベースDN
LDAPBindDN cn=Manager,dc=hoge,dc=co,dc=jp #管理者DN
LDAPBindPW hogepassword #管理者DNのパスワード
LDAPサーバへの接続情報を一通り設定したら、Pure-FTPdを起動します。
Pure-FTPd起動
# systemctl start pure-ftpd

次回からPure-FTPdが自動起動するよう設定しておく。

Pure-FTPd自動起動
# systemctl enable pure-ftpd
Created symlink from /etc/systemd/system/multi-user.target.wants/pure-ftpd.service to /usr/lib/systemd/system/pure-ftpd.service.

Pure-FTPdの動作確認

LDAPユーザでログイン出来ることを確認してみる。
確認はWindows端末のコマンドプロンプトで実施。

Pure-FTPdの動作確認
>ftp 192.168.1.100
192.168.1.100 に接続しました。
220---------- Welcome to Pure-FTPd [privsep] [TLS] ----------
220-You are user number 1 of 50 allowed.
220-Local time is now 15:04. Server port: 21.
220-IPv6 connections are also welcome on this server.
220 You will be disconnected after 15 minutes of inactivity.
200 OK, UTF-8 enabled
ユーザー (192.168.1.100:(none)): hoge
331 User hoge OK. Password required
パスワード:
230 OK. Current restricted directory is /
ftp> pwd
257 "/" is your current location
ftp> ls
200 PORT command successful
150 Connecting to port 58741
.
..
.history
.mailboxlist
.viminfo
226-Options: -a
226 8 matches total
ftp: 92 バイトが受信されました 0.00秒 23.00KB/秒。
ftp>

LDAPユーザでログイン出来ました。

では、試しにファイルアップロードしてみます。

ファイルアップロード確認
ftp> put hoge.txt
200 PORT command successful
150 Connecting to port 58746
226 File successfully transferred
ftp> ls
200 PORT command successful
150 Connecting to port 58747
.
..
.history
.mailboxlist
.viminfo
hoge.txt
226-Options: -a
226 9 matches total
ftp: 102 バイトが受信されました 0.00秒 25.50KB/秒。
ftp>
無事ファイルアップロード出来ました。

FFFTPでPure-FTPdへ接続してみる

代表的なFTPクライアントソフトである「FFFTP」でもLDAPユーザでも利用出来るか試してみます。
アップロード/ダウンロードとも問題なく利用出来ました。


ithinkit

個人的には通信が暗号化されるSCPでのファイル転送をオススメしますが、FTPな環境で認証をLDAPで行いたい!って時にはPure-FTPdで構築するのも良さそう。

以上、あいしんくいっとでした♪( ´θ`)

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)