FTPサーバーが実際に記録するのはどのアドレスかを見極める方法
FTPログのアドレスは、その接続でサーバーが見た送信元です。セッションを人物に紐づける前に、制御とデータの流れを追ってください。
ログの各行にはアドレスがひとつだけ表示されます。ノートPCはトンネルのアドレスを保持し、接続は別の出口から出ることもあり、実行したブラウザ確認はFTPについて何も証明しません。これら三つはすべて異なり得るもので、ログ行はそのうちひとつしか記録しません。何かを比較する前に、どの接続について尋ねているのかを決めてください。
この手順は、時間枠を定めた許可済みの調査を前提としており、他人の転送を眺めるためのものではありません。
1. どの接続について尋ねているのかを決める
FTPは二つの接続を使います。制御接続はコマンドと応答を運び、データ接続はファイルそのものを運びます。ログインのイベントは前者に、転送のイベントは後者に属するため、ログ上のひとつのセッションが二つの異なるネットワーク経路からの観測を含むことがあります。結論を出す前に、アドレス欄がどのイベントに属するのかを書き留めてください。
この分離には実務上の帰結があります。同じセッションのログイン行と転送行が二つの異なる送信元アドレスを運ぶことがあるため、どちらかを「クライアントのアドレス」として引用するのは、どちらの接続を読んでいるかについての推測です。アドレスを何かと照合する前に、イベントの種類を確認してください。
2. 制御接続を追う
デバッグ出力を有効にしてクライアントを実行するか、接続中のクライアントでキャプチャし、実際に到達する相手を記録します。VPNが有効でクライアントがその経由でルーティングされている場合、 サーバーが見るのはノートPCのアクセス網アドレスではなくVPNの出口アドレスです。
クライアントがトンネルを迂回すると、サーバーはアクセスアドレスを見ることになり、VPNインターフェース自身のアドレスは回線上に一切現れません。ノートPCのトンネルアドレスがふつう最も役に立たない値なのはそのためです:それはトンネルの内側にしか存在しないからです。クライアントが提示する送信元を確認するには、設定画面から読み取るのではなく、ssやパケットキャプチャを使ってください。
大半は二つのコマンドで足ります。
ss -tnp state established "( sport = :21 or dport = :21 )"
tcpdump -ni any tcp port 21
ひとつ目は、自分のスタックが使ったローカル側と相手側の端点を一覧します。ふたつ目は回線上に書かれたアドレスを示し、これはサーバーの見方に近いものの、やはり自分のインターフェースで止まるため、サーバーが何を記録したかはサーバーのログかそのキャプチャでしか分かりません。
3. データ接続が一致するか確認する
パッシブモードではサーバーがクライアントに接続先を伝え、アクティブモードではサーバーがクライアントの提示したアドレスへ逆向きに接続します。経路上に変換やプロキシがあると、どちらのモードでもデータ接続を制御接続とは別の場所へ送れます。クライアントのログでモードを確認し、そのうえでデータ接続が同じ経路を使ったかどうかを確かめてください。
ログインとは別のアドレスから記録された転送は、壊れた記録ではなく実際の観測であり、多くの場合その経路について何かを語ります。
4. 運用担当者に絞った記録を求める
サーバーの運用担当者に、タイムゾーン付きのセッション時刻、アカウント、操作、宛先を伝えます。アドレス欄を生んだのはどの接続か、信頼できる仲介者がその意味を変えるかを尋ねてください。
すべての製品が元のクライアント、制御の相手、データの相手を別々に記録していると決め込むのではなく、そのサーバーの実際のスキーマを読んでください:セッション全体を一行に要約する製品もあるからです。プロトコルも明確にしておきましょう:SFTPはSSHを基盤とするプロトコルであり、別ポートのFTPではなく、FTPSはFTPにTLSを加えるため、ログ上のサービスの同一性はどちらを配備したかによります。
5. 紐づける前に検証する
ひとつの出口アドレスが多くの顧客に使われ、ひとつのアカウントが複数の許可された送信元から使われることがあるため、アドレスと利用者名は同じ単位を特定しません。記録はサーバーの方針です:VPNは接続が提示する送信元を変えますが、アカウント名、ファイル名、受け取り側サービスが処理した操作を消すわけではありません。記録が示すものだけを紐づけ、残りは不明として扱ってください。 WinSCPのFTP解説は、二つの接続モデルについての簡潔な参考資料ですから、誰かに説明する必要があるときに役立ちます。
よくある二つのケースが、これがなぜ重要かを示します。ある事務所が全利用者を単一の出口アドレスから送り出すと、百人分がログ上でひとつの値になります。逆も同じくらい頻繁に起こります:ひとつのアカウントが同じ週に家庭回線と事務所回線から接続し、両方の記録が同じ人物を表すのです。