[第31回] サーバーファイルは取得し、アップロードは止める
2026年11月9日
点検では状態ファイルや資料の取得が必要だが、確認業務ならアップロードまで許可する必要はないだろう。
Web SFTPで両操作を分けた。同じ利用者・アカウントで正常転送を確認後、アップロードだけ止めて取得が続くか試した。
ブラウザでSFTP接続する
SSH Operations LabでOperations Lab SFTP Operator、labops、SFTPを選んだ。
Connectでファイル一覧が開き、サーバー暗号の入力は不要だった。パスで移動し、名前・サイズ・所有者・権限を確認できた。

まず取得とアップロードを試す
server-status.txtは架空サービスの小さな状態ファイルだ。取得はSuccessで内容も原本と一致した。
before-policy-upload.txtもSuccessで一覧に現れた。内容を確認して接続を閉じた。

アップロードだけを制限する
Command TemplatesでDenyにし、Functions(SFTP)のUpload Fileだけを指定した。取得は制限しない。

転送用ポリシーへ接続し、サーバーとアカウントを維持したままエラーなしで保存した。

取得は維持され、新規アップロードは止まる
開発者が同じロール・labopsで新規接続すると、server-status.txtは再びSuccessで原本どおり取得できた。

同内容で別名のafter-policy-upload.txtはFailureとなり、サーバーにも作られなかった。

同じ接続環境で点検用の取得は続けながら、ファイル追加は制限できた。
何を取得し、何の追加が止まったかも残る
Command Auditで実習パスを探すと、取得2件と前後アップロードの計4件があり、人・役割・labops・サーバーが残った。
適用後の取得はFile Download・Not Restrictedで、詳細にパスと時刻があった。

失敗アップロードはRestricted・UPLOAD_FILEで、パスと時刻も一致し制限対象と分かった。

許可・制限だけでなく誰が何を転送しようとしたかも同じ画面で探せた。必要取得を開き、追加を制御し、結果まで記録できた。
QueryPie Community 11.6.7のWeb SFTPとUbuntuを使い、人とファイルは実習用だ。
参考: Web SFTP · Command Templates · Command Audit
![[第30回] 接続中のサーバーセッションを見つけて終了する](/assets/content/acp-lab-notes/terminate-server-session/01.webp)
![[第32回] 参照理由をSQLと一緒に残す](/assets/content/acp-lab-notes/sql-execution-reason/01.webp)