このWebサイト ひつじ帳 は、管理者がWEB関連の技術をまとめた備忘録サイトです。 Linux,CentOS,PHP,MySQL,Blogger,JavaScript,CSS について記録しています。

さくらのVPS/ProFTPD/設定

[ さくらVPS/ProFTPD ]

ProFTPD 設定

設定ファイル (/etc/proftpd.conf) 編集

##■ ファイルをバックアップ
[root@www10000xx ~]# cp -a /etc/proftpd.conf /etc/proftpd.conf.org
[root@www10000xx ~]#

##■ viエディタでファイル編集する
[root@www10000xx ~]# vi /etc/proftpd.conf

--------------------------------------------------
DefaultRoot                    ~ !adm
  ##▼ ↓ 変更する
DefaultRoot                     ~



##■ LogFormat の下あたりに追記する
ServerType                      inetd

##■ 追記する | PASVモード用のポート番号を指定 今回は、50010~50030 を指定
PassivePorts                    50010 50030

##■ 追記する | アクセスログを記録する
ExtendedLog                     /var/log/proftpd/access.log WRITE,READ default

##■ 追記する | 認証ログを記録する
ExtendedLog                     /var/log/proftpd/auth.log AUTH auth

##■ 追記する | タイムゾーンを日本時間に設定
TimesGMT                        off
SetEnv                          TZ :/etc/localtime



##■ SSL用の設定
# TLS (http://www.castaglia.org/proftpd/modules/mod_tls.html)
<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>
  ##▼ ↓ コメントアウト化して、SSL/TLS の設定を追記する
# TLS (http://www.castaglia.org/proftpd/modules/mod_tls.html)
#<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>
 TLSEngine                     on
 TLSRequired                   on                                  ## ←★ SSL/TLS接続を強制する
 TLSRSACertificateFile         /etc/pki/tls/certs/localhost.crt    ## ←★ サーバー独自のSSL証明書を指定します
 TLSRSACertificateKeyFile      /etc/pki/tls/private/localhost.key  ## ←★ サーバー独自のSSL秘密鍵を指定します
 TLSCipherSuite                ALL:!ADH:!DES
 TLSOptions                    NoSessionReuseRequired              ## ←★ SSLセッション対策
 TLSVerifyClient               off                                 ## ←★ クライアント証明書を無視する
 TLSLog                        /var/log/proftpd/tls.log            ## ←★ ログを記録する
--------------------------------------------------

##■ 上書き保存して編集終了
:wq
[root@www10000xx ~]#

ProFTPD用のログディレクトリを作成する


[root@www10000xx ~]# mkdir /var/log/proftpd
[root@www10000xx ~]#

起動設定

proftpd起動スクリプト(xinetd用)編集


##■ xinetd設定ファイルをバックアップ
[root@www10000xx ~]# cp -a /etc/xinetd.d/xproftpd /etc/xinetd.d/xproftpd.org
[root@www10000xx ~]#

##■ viエディタでファイル編集する
[root@www10000xx ~]# vi /etc/xinetd.d/xproftpd

--------------------------------------------------
# default: off
# description: The ProFTPD FTP server serves FTP connections. It uses \
#       normal, unencrypted usernames and passwords for authentication.
service ftp
{
        socket_type             = stream
        wait                    = no
        user                    = root
        server                  = /usr/sbin/in.proftpd

        log_on_success         += DURATION USERID
          ##▼ ↓ 変更する
        log_on_success          += HOST USERID PID


        log_on_failure         += USERID
          ##▼ ↓ 変更する
        log_on_failure          += HOST USERID


        nice                    = 10


        disable                = yes
          ##▼ ↓ 変更する
        disable                 = no
}

--------------------------------------------------

##■ 上書き保存して編集終了
:wq
[root@www10000xx ~]#

自動起動 設定


##■ 自動起動の設定を確認
[root@www10000xx ~]# chkconfig --list xproftpd
xproftpd        off
[root@www10000xx ~]#

##■ 自動起動の設定を ON にする
[root@www10000xx ~]# chkconfig xproftpd on
[root@www10000xx ~]#

##■ 自動起動の設定を再確認
[root@www10000xx ~]# chkconfig --list xproftpd
xproftpd        on
[root@www10000xx ~]#

xinetd 再起動


[root@www10000xx ~]# service xinetd restart
Stopping xinetd:                                           [  OK  ]
Starting xinetd:                                           [  OK  ]
[root@www10000xx ~]#

暗号化(SSL) 設定

サーバー証明書 作成

この設定は、任意です。
  • デフォルトでインストールされている証明書で動作するはずですが、もし動作しなかった場合の証明書作成方法。


##■ ディレクトリ移動
[root@www10000xx ~]# cd /etc/pki/tls/certs/
[root@www10000xx certs]#

##■ サーバー証明書作成
[root@www10000xx certs]# make proftpd.pem
umask 77 ; \
        PEM1=`/bin/mktemp /tmp/openssl.XXXXXX` ; \
        PEM2=`/bin/mktemp /tmp/openssl.XXXXXX` ; \
        /usr/bin/openssl req  -newkey rsa:2048 -keyout $PEM1 -nodes -x509 -days 365 -out $PEM2 -set_serial 0 ; \
        cat $PEM1 >  proftpd.pem ; \
        echo ""    >> proftpd.pem ; \
        cat $PEM2 >> proftpd.pem ; \
        rm -f $PEM1 $PEM2
Generating a 2048 bit RSA private key
....................................................................................................+++
.+++
writing new private key to '/tmp/openssl.EeF0yK'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]:JP ## ←★ 国名を入力 [Enter]
State or Province Name (full name) []:Osaka ## ←★ 都道府県名を入力 [Enter]
Locality Name (eg, city) [Default City]:Osaka ## ←★ 市区町村名を入力 [Enter]
Organization Name (eg, company) [Default Company Ltd]:admin ## ←★ 会社名(何でも良い)を入力 [Enter]
Organizational Unit Name (eg, section) []: ## ←★ 空(未入力で良い) [Enter]
Common Name (eg, your name or your server’s hostname) []:www10000xx.sakura.ne.jp ## ←★ ホスト名を入力
Email Address []:hostmaster@example.com ## ←★ 管理者メールアドレスを入力 (決まっていなければ、何でも良い) [Enter]
[root@www10000xx certs]#

下記内容を上記で設定した ProFTPD 設定 に適用する。


TLSRSACertificateFile         /etc/pki/tls/certs/proftpd.pem  ## ←★ サーバー独自のSSL証明書を指定します
TLSRSACertificateKeyFile      /etc/pki/tls/certs/proftpd.pem  ## ←★ サーバー独自のSSL秘密鍵を指定します

0 件のコメント:

人気記事

アーカイブ

このブログを検索