VPS(KVM) FTPSサーバ構築を成功させたい CentOS Stream 8(お名前.com VPS)
よろしくお願いします。どんな些細なことでもかまいません。助かります。
解決したいこと
1「CentOS Stream 8 を使って TLSで暗号化されたFTPSサーバを作りたい」
2「クライアントPC(Windows10)から FFFTP または FileZilla を使って FTP over TLS接続 したい」
3「ディレクトリリストを取得中... で失敗し、解決できない」
おおきく、以上のことがやりたいと思っています。
暗号化されていない平文のFTP通信には成功しました。
その、成功したFTPサーバを使用して、設定に追記でFTPSサーバ化しようとしたところ、問題が発生した状態です。
FFFTPで発生している問題・エラー
FFFTP Ver.2.00 Copyright(C) 1997-2010 Sota & cooperators.
Copyright (C) 2011-2018 FFFTP Project (Hiromichi Matsushima, Suguru Kawamoto, IWAMOTO Kouichi, vitamin0x, unarist, Asami, fortran90, tomo1192, Yuji Tanaka, Moriguchi Hirokazu, Fu-sen, potato).
デフォルトのマスターパスワードが使われます.
マルウェアの攻撃を防ぐため,固有のマスターパスワードを設定することをおすすめします
OpenSSLが読み込まれました.
----------------------------
FTP over Explicit SSL/TLS (FTPES)を使用します.
ホスト aaa.bbb.jp を探しています. (TCP/IPv4)
ホスト aaa.bbb.jp を探しています. (TCP/IPv6)
ホスト aaa.bbb.jp (111.222.33.44 (21)) に接続しています. (TCP/IPv4)
ホスト aaa.bbb.jp が見つかりません. (TCP/IPv6)
接続しました. (TCP/IPv4)
220 (vsFTPd 3.0.3)
>AUTH TLS
234 Proceed with negotiation.
>PBSZ 0
200 PBSZ set to 0.
>PROT P
200 PROT now Private.
>USER abcdef
331 Please specify the password.
>PASS [xxxxxx]
230 Login successful.
>FEAT
211-Features:
AUTH TLS
EPRT
EPSV
MDTM
PASV
PBSZ
PROT
REST STREAM
SIZE
TVFS
UTF8
211 End
>XPWD
257 "/home/abcdef" is the current directory
>TYPE A
200 Switching to ASCII mode.
>PASV
227 Entering Passive Mode (111,222,33,44,234,149).
ダウンロードのためにホスト 111.222.33.44 (60053) に接続しています. (TCP/IPv4)
接続できません. (TCP/IPv4)
ファイル一覧の取得を中止しました.
ファイル一覧の取得に失敗しました.
FileZillaで発生している問題・エラー
状態: サーバーから切断されました
状態: aaa.bbb.jp のアドレスを解決中
状態: 111.222.33.44:21 に接続中...
状態: 接続を確立しました。ウェルカム メッセージを待っています...
状態: TLS を初期化しています...
状態: TLS 接続が確立されました。
状態: ログインしました
状態: ディレクトリ リストを取得中...
コマンド: PWD
レスポンス: 257 "/home/abcdef" is the current directory
コマンド: TYPE I
レスポンス: 200 Switching to Binary mode.
コマンド: PASV
レスポンス: 227 Entering Passive Mode (111,222,33,44,234,195).
コマンド: LIST
エラー: データ接続が確立できません: ETIMEDOUT - 接続タイムアウト
レスポンス: 425 Failed to establish connection.
エラー: ディレクトリ リスト表示の取り出しに失敗しました
ログが長くてすみません。
上記ログから推測すると、TLS通信は成功していると予想しています。
そして、FFFTPとFileZillaともに、「ファイル一覧」や「ディレクトリリスト」といった参照をしようとしたタイミングでエラーが出ているように思えます。
FTP 設定について
このサイトを参考にしました
このうち、Vsftpd over SSL/TLSページの、自己署名証明書は、Let's Encryptより発行した正規の証明書を使っているため、
rsa_cert_file=/etc/letsencrypt/live/aaa.bbb.jp/fullchain.pem
rsa_private_key_file=/etc/letsencrypt/live/aaa.bbb.jp/privkey.pem
ssl_enable=YES
force_local_data_ssl=YES
force_local_logins_ssl=YES
のように書き換えています。そして、このサイトの通り、60000-60100のポートを開放しました。
ポート開放について
①CentOS Stream 8のファイアウォール
→②お名前.comのIPセキュリティ
→③クライアント側のルータ
→④クライアントPCのファイアウォール
計4か所設定すれば良いと考えました。
①CentOS Stream 8のファイアウォール
[root@v111-222-33-44 abcdef]# firewall-cmd --list-all
public (active)
target: default
icmp-block-inversion: no
interfaces: eth0
sources:
services: cockpit dhcpv6-client ftp http https ssh
ports: 80/tcp 10022/tcp 5432/tcp 51152/tcp 60000-60100/tcp
protocols:
forward: no
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
追記
ports: 80/tcp 10022/tcp 5432/tcp 51152/tcp 60000-60100/tcp 20/tcp
#ポート番号20も開け、ファイアウォール再起動をしましたが改善せず
②お名前.com のIPセキュリティは、20-21 と 60000-60100 を開放しています。
具体的に
1.インバウンドルール(ポート)に20-21の存在を確認。そして60000-60100 を追加。
2.セキュリティグループに20-21と60000-60100を追加して[FTP_Group]と名付け
3.サーバ詳細に先程定義した「FTP_Group」を追加し反映。
と設定し、念のためサーバ再起動を実施しました。
③クライアント側のルータ
ポートマッピングで20-21, 60000-60100 を許可し、
LAN側ホストはクライアントPCのIPを指定しました。
④クライアントPC(Windows)の設定
Windowsのファイアウォールは無効にしました。
以上です。提供するべき情報はできるだけ書いたのですが、漏れていた場合申し訳ありません。
よろしくお願いします。
(追記)
平文のFTP接続成功時のFFFTPのログは以下のようになりました。
正常にファイルのアップダウンが行なえます。
通信は暗号化されていません.
第三者にパスワードおよび内容を傍受される可能性があります.
ホスト aaa.bbb.jp を探しています. (TCP/IPv4)
ホスト aaa.bbb.jp を探しています. (TCP/IPv6)
ホスト aaa.bbb.jp (111.222.33.44 (21)) に接続しています. (TCP/IPv4)
ホスト aaa.bbb.jp が見つかりません. (TCP/IPv6)
接続しました. (TCP/IPv4)
220 (vsFTPd 3.0.3)
>USER abcdef
331 Please specify the password.
>PASS [xxxxxx]
230 Login successful.
>FEAT
211-Features:
EPRT
EPSV
MDTM
PASV
REST STREAM
SIZE
TVFS
UTF8
211 End
>OPTS UTF8 ON
200 Always in UTF8 mode.
>TYPE A
200 Switching to ASCII mode.
>PORT 192,168,0,20,203,44
200 PORT command successful. Consider using PASV.
>LIST
150 Here comes the directory listing.
226 Directory send OK.
ファイル一覧の取得は正常終了しました. (212 Bytes)
ファイル名の漢字コードの判別結果はUTF-8です.
>>CD D:\C\MyApp\ffftp\abcdef
>CWD /home/abcdef
250 Directory successfully changed.
>XPWD
257 "/home/abcdef" is the current directory
>TYPE A
200 Switching to ASCII mode.
>PORT 192,168,0,20,203,45
200 PORT command successful. Consider using PASV.
>LIST
150 Here comes the directory listing.
226 Directory send OK.
ファイル一覧の取得は正常終了しました. (212 Bytes)
よろしくお願いします。