SFTP がクライアントマシン/ネットワークによって異なる動作をする理由を教えてください

SFTP がクライアントマシン/ネットワークによって異なる動作をする理由を教えてください

奇妙な状況に陥っています。

コンピュータAのPSFTP.EXE(putty sftpクライアント)からリモートsftpサーバーに接続し、dirとchdirを使用してブラウズすることができます。得るまたは置くファイルにアクセスすると権限エラーが発生します。

PSFTP.EXE (同じバージョン) を搭載したコンピューター B から、同じ資格情報を使用して同じサーバーに接続し、dir、chdir を使用して参照したり、作業を取得/配置したりできます。

唯一の違いは、コンピュータ A が送信トラフィックをブロックするファイアウォールの背後にあることです。ファイアウォール管理者がポート 22 を開きました。それ以前は接続すらできませんでした。

明らかにデータが双方向に流れている(ディレクトリ リストがデータを返す)ので、混乱しています。また、同じサーバーに接続していることもわかっています(コンピューター B によって配置されたファイルは、コンピューター A のディレクトリ リストに表示されます)。

ファイアウォール管理者に確認してもらうことで、このような動作を許可できるものはありますか?
つまり、接続は許可され、dir&chdir は許可されますが、ファイル転送の get/put は拒否されますか? 実際、すべてのファイル変更は拒否されます (mv、ren、rm など)

これはサーバーの権限の問題のように聞こえますが、もしそうだとしたら、コンピューター B でも同じ問題が発生すると予想されますが、コンピューター B にはまったく問題はありません。

編集#1

Here is Computer A's session details: (slightly changed to protect sensitive data)

psftp> open servername.com
Looking up host "servername.com"
Connecting to x.x.x.x port 22
**Server version: SSH-2.0-OpenSSH_4.6**
Using SSH protocol version 2
We claim version: SSH-2.0-PuTTY_Release_0.62
Doing Diffie-Hellman group exchange
Doing Diffie-Hellman key exchange with hash SHA-256
Host key fingerprint is:
ssh-rsa 1024 
Initialised AES-256 SDCTR client->server encryption
Initialised HMAC-SHA1 client->server MAC algorithm
Initialised AES-256 SDCTR server->client encryption
Initialised HMAC-SHA1 server->client MAC algorithm
login as: username
password:
Sent password
Access granted
Opened channel for session
Started a shell/command
Connected to servername.com
Remote working directory is /


Here is Computer B's session details: (slightly changed to protect sensitive data)

psftp> open servername.com
Looking up host "servername.com"
Connecting to x.x.x.x port 22
**Server version: SSH-2.0-0.0**
Using SSH protocol version 2
We claim version: SSH-2.0-PuTTY_Release_0.62
Doing Diffie-Hellman group exchange
Doing Diffie-Hellman key exchange with hash SHA-1
Host key fingerprint is:
ssh-dss 1024 ...
Initialised AES-256 CBC client->server encryption
Initialised HMAC-SHA1 client->server MAC algorithm
Initialised AES-256 CBC server->client encryption
Initialised HMAC-SHA1 server->client MAC algorithm
Pageant is running. Requesting keys.
Pageant has 0 SSH-2 keys
login as: username
password:
Sent password
Access granted
Opened channel for session
Started a shell/command
Connected to servername.com
Remote working directory is /

答え1

ファイアウォールは、SFTP による個別のダウンロード/アップロードをブロックできません。接続は暗号化されています。ファイアウォールは、クライアントとサーバーの間で何が行われているかを把握できず、介入することもできません。ファイアウォールでできることは、接続全体をブロックすることだけで、個別の操作をブロックすることはできません。

しかし、SFTPサーバーはクライアントのIPアドレスに基づいてダウンロード/アップロードをブロックすることができます。例えばProFTPDではmod_sftpAllow指令)。


提供されたログから、毎回異なるサーバーに接続していることは明らかです。物理的に同じサーバーである可能性もありますが、SSH サーバーは間違いなく異なります。同じ IP アドレスとポートに接続している場合でも、ローカル IP アドレスに基づいて、ファイアウォールが別のポート (明らかに別の IP アドレスの場合もありますが、そうではないと主張しています) にルーティングしている可能性があります。

関連情報