CentOS7 ~FTPサーバー構築~

サーバー

vsftpdのインストール

前回のSSHについてはCentOSをインストールした時にすでにパッケージは入っていたが、今回導入するvsftpdというのはインストールされていない。一応、yum list installed | grep vsftpdと入力したが何も跳ね返ってこなかった。
そこでyum install vsftpdと入力してインストール。

インストール後、もう一度yum list installed | grep vsftpdと入力してみるときちんとインストールされていることが確認できた。

vsftpdの起動

続いてインストールしたvsftpdを起動。systemctl status vsftpd.serviceと入力することで起動の確認ができる。ここでActiveの部分がinactive(dead)となっているので起動していないことがわかる。
起動するにはsystemctl start vsftpd.serviceと入力。
もう一度systemctl status vsftpd.serviceで確認。
無事Activeの部分がactive(running)となり起動していることがわかる。

今後OSの再起動したときにまたvsftpdを起動するためにコマンドを打つのは面倒くさいので、自動起動するように設定。
赤枠の部分がdisabledとなっているのでsystemctl enable vsftpd.serviceと入力してenabledにしておく。これもstatusで確認しておく。

vsftpd.confファイルを編集

次にvsftpd.confファイルを編集するが、恒例のごとくバックアップを取っておく。ファイルの場所は/etc/vsftpd/の中にあるので、cd /etc/vsftpdと入力して移動する。llと入力しているのはディレクトリの中身を確認するためだが、ls -laと同じらしい。llのほうが簡単なのでこちらを個人的には記憶。
いつものようにcp vsftpd.conf vsftpd.conf_defaultと入力してバックアップしておく。編集する前にしないといけないがいつも忘れそうになるのは内緒です。

vi vsftpdと入力してエディタを立ち上げる。以下の表の部分を変更。

初期値変更意味
anonymous_enable=YESなし匿名ユーザーのログインの許可
local_enable=YESなし一般ユーザーのログインの許可
#anon_upload_enable=YESanon_upload_enable=NO匿名ユーザーのアップロード許可
#anon_mkdir_write_enable=YESanon_mkdir_write_enable=NO匿名ユーザーのディレクトリ作成許可
xferlog_enable=YESなしログの出力の有無
#xferlog_file=/var/log/xferlogxferlog_file=/var/log/xferlogログファイルの場所
xferlog_std_format=YESなしログファイルに記録する設定

編集しただけでは設定が反映されないのでsystemctl restart vsftpd.serviceと入力して再起動させる。なにもエラーが返ってこなかったのでOKなのかな。

TCP Wrapperでアクセス制限

sshdの時にもおこなったアクセス制限をかける。vi /etc/hosts.denyと入力しエディタを立ち上げる。前回記入したsshd:allの下にvsftpd:allを追加する。これでallowで設定したホスト以外は受け付けないようになる。

ということでcd /etc/hosts.allowと入力してこちらにはvsftpd:IPアドレスと入力して保存終了。自分の場合はIPアドレスは192.168.11.19と入力。

ここでファイアウォールの設定をしなければならないが、面倒くさいので一旦とめる。
systemctl statas firewalldと入力するとActive:active(running)となり起動しているがわかる。
systemctl stop firewalldと入力してinactive(dead)となっているので停止状態。

FTPサーバーに接続

まだセキュリティ的にはスッカスカ状態であるが、ここでFFFTPというソフトを使って実際に接続してみる。先の設定で匿名ユーザーのログインを許可したのでそれでは入れるか確認してみる。

問題なく入れることを確認。

今度は一般ユーザーで接続してみる。ユーザー名とパスワードを入力して接続。

無事に接続することができたのでこれでダウンロード、アップロードが可能となる。やっぱり匿名ユーザーとは違いホームディレクトリに入れるんですね。

vsftpd.confの再編集

ここで接続の確認がとれたので少しセキュリティをあげるべく、先のvsftpd.confファイルの再編集をおこなう。

初期値変更意味
anonymous_enable=YESanonymous_enable=NO匿名ユーザーのログインの許可
local_enable=YESなし一般ユーザーのログインの許可
#chroot_local_user=YESchroot_local_user=YES一般ユーザーの上位ディレクトリへのアクセス許可
#chroot_list_enable=YESchroot_list_enable=YES上位ディレクトリへのアクセス許可リスト使用許可
#chroot_list_file=/etc/vsftpd/chroot_listchroot_list_file=/etc/vsftpd/chroot_list許可リストの場所

コメント

タイトルとURLをコピーしました