はじめまして 25Zi と申します(右も左も分からない初心者です)
OS は FC4 です こちらのサイトのコンテンツを参考にさせていただき
ProFTPD+SSL/TLS で通信内容暗号化を考えています ProFTPDは本家より
1.3.0rc1 をダウンロードし、rpmを作成してインストール の手順をとりました
spesファイルの編集は 100 -> 99 のみで、インストールは standalone のみです
192.168.1.0/24 な環境のWindowsクライアントからSmartFTPにて
FC4+ProFTPD+SSL/TLS に接続すると
===============================
SmartFTP v1.5.988.25
Resolving host name "192.168.1.200"
Connecting to 192.168.1.200 Port: 21
Connected to 192.168.1.200.
220 FTP Server ready.
AUTH TLS
234 AUTH TLS successful
Connected. Exchanging encryption keys...
Session Cipher: 128 bit RC4
TLS encrypted session established.
PBSZ 0
200 PBSZ 0 successful
USER xxxx
331 Password required for xxxx.
PASS (hidden)
230 User xxxx logged in.
SYST
215 UNIX Type: L8
FEAT
211-Features:
MDTM
REST STREAM
SIZE
AUTH TLS
PBSZ
PROT
211 End
PWD
257 "/" is current directory.
===============================
として、DefaultRoot の中身は見えます
234 AUTH TLS successful
の表示を信じたいのですが、Windowsクライアント及び、FC4サーバーから
FTPコマンドで接続してみると
===============================
[xxxx@xxxx ~]$ ftp
ftp> op
(to) 192.168.1.200
Connected to 192.168.1.200.
220 FTP Server ready.
500 AUTH not understood
500 AUTH not understood
KERBEROS_V4 rejected as an authentication type
Name (192.168.1.200:xxxx): xxxx
331 Password required for xxxx.
Password:
230 User xxxx logged in.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> pwd
257 "/" is current directory.
ftp>
===============================
となります
SmartFTP での 234 AUTH TLS successful
FTPコマンドでの 500 AUTH not understood
これは、どう解釈すればいいのでしょうか
> OS は FC4 です こちらのサイトのコンテンツを参考にさせていただき
> ProFTPD+SSL/TLS で通信内容暗号化を考えています ProFTPDは本家より
> 1.3.0rc1 をダウンロードし、rpmを作成してインストール の手順をとりました
> spesファイルの編集は 100 -> 99 のみで、インストールは standalone のみです
インターネット上からSSLを使うなら、クライアントがNATルータ配下にいるとPASVしか
使えないこと、かつルータのFTPサーバ機能はSSLでは機能しないので、動的IPではinetd
モードに対応しないと駄目ということを認識しておいてください。
>
> 192.168.1.0/24 な環境のWindowsクライアントからSmartFTPにて
> FC4+ProFTPD+SSL/TLS に接続すると
> ===============================
> SmartFTP v1.5.988.25
> Resolving host name "192.168.1.200"
> Connecting to 192.168.1.200 Port: 21
> Connected to 192.168.1.200.
> 220 FTP Server ready.
> AUTH TLS
> 234 AUTH TLS successful
> Connected. Exchanging encryption keys...
> Session Cipher: 128 bit RC4
> TLS encrypted session established.
> PBSZ 0
> 200 PBSZ 0 successful
> USER xxxx
> 331 Password required for xxxx.
> PASS (hidden)
> 230 User xxxx logged in.
> SYST
> 215 UNIX Type: L8
> FEAT
> 211-Features:
> MDTM
> REST STREAM
> SIZE
> AUTH TLS
> PBSZ
> PROT
> 211 End
> PWD
> 257 "/" is current directory.
> ===============================
> として、DefaultRoot の中身は見えます
>
> 234 AUTH TLS successful
>
> の表示を信じたいのですが、Windowsクライアント及び、FC4サーバーから
> FTPコマンドで接続してみると
> ===============================
> [xxxx@xxxx ~]$ ftp
> ftp> op
> (to) 192.168.1.200
> Connected to 192.168.1.200.
> 220 FTP Server ready.
> 500 AUTH not understood
> 500 AUTH not understood
> KERBEROS_V4 rejected as an authentication type
> Name (192.168.1.200:xxxx): xxxx
> 331 Password required for xxxx.
> Password:
> 230 User xxxx logged in.
> Remote system type is UNIX.
> Using binary mode to transfer files.
> ftp> pwd
> 257 "/" is current directory.
> ftp>
> ===============================
> となります
>
> SmartFTP での 234 AUTH TLS successful
> FTPコマンドでの 500 AUTH not understood
HPに書いてあるとおりで、おやじのページどおり設定すればこういう動作になり、
何もおかしくはなく、正常に動作しています。ProftpdはクライアントがSSL対応して
いるかどうか自動判定して、SmartFTPではSSLで動作し、FTPコマンドは対応していない
ので通常認証にフォールダウンしただけです。
SSL以外不可にしたければ、HPに書いてあるとおり、
TLSRequired on
とすれば、SSLが必須になります。
TLSRequiredは、制御/データの各コネクションでSSL/TLSの要否を指定するもので、
おやじは通常接続も必要なので、ここはoffとしクライアントの接続に任せる設定に
しています。指定すると、クライアントは指定コネクションでのSSL/TLS使用を強制
されます。
DDNSを使用しての動的IPでの運用となりますので、specファイルを修正し、
standalone、inetd共にrpmからインストール後 FTPサーバテストをさせていただきました(TEST No.7691)
何年か前のルーターですが、proftpd.confの設定無しでPASVが有効なことも確認できました
この度は丁寧な解答ありがとうございました
> DDNSを使用しての動的IPでの運用となりますので、specファイルを修正し、
> standalone、inetd共にrpmからインストール後 FTPサーバテストをさせていただきました(TEST No.7691)
> 何年か前のルーターですが、proftpd.confの設定無しでPASVが有効なことも確認できました
このように、proftpd.confの設定無しでPASVができるのは、サーバ側のルータが21番
の通信をモニタしていて、PASVの応答メッセージ中のサーバのIPアドレス(サーバ
に付与されている家庭内のプライベートアドレス)をルータのWAN側のグローバルIPア
ドレスに書き換えてクライアントに通知しているからです。従って、SSL化するとルー
タはこの内容がわからないため、書き換え動作ができないのでクライアントにはサー
バのプライベートアドレスが通知されるので通信できなくなります。
従って、SSLで通信する場合は、proftpd.confでのPASV対応が必須になります。しか
し、ここでPASV対応してしまうと非SSLのPASV通信ではルータが関与してしまうため、
逆に通信ができなくなってしまいます。つまり、ルータがFTPサーバ対応していると
SSLと非SSLのPASV通信の同居はできないということになります。おやじが使っている
ような何もしていない素直なルータならデーモンで対処すればいいので、どちらにも
対応可能です。