리소스

/

ACP 실습 노트

[31편] 서버 파일은 내려받고, 업로드는 막아봤다

서버 접근 제어

2026년 11월 9일

운영 서버에서 상태 파일이나 점검 자료를 내려받아야 할 때가 있다. 자료를 확인하는 업무라면 파일을 올리는 권한까지 함께 줄 필요는 없을 것이다.

 

이번에는 QueryPie의 웹 SFTP로 이 두 작업을 나눠 봤다. 같은 사용자와 서버 계정으로 파일을 주고받아 본 뒤, 업로드만 제한했다. 필요한 파일은 계속 내려받을 수 있는지가 궁금했다.

 

 

브라우저에서 SFTP로 접속했다

 

앞서 SSH 실습에 사용했던 SSH Operations Lab 서버를 그대로 이용했다. 파일 전송용으로 만든 Operations Lab SFTP Operator 역할을 선택하고, 서버 계정은 labops, 접속 방식은 SFTP로 골랐다.

 

Connect를 누르니 브라우저 안에 파일 목록이 열렸다. 관리자가 등록한 계정으로 연결돼 서버 암호를 따로 입력할 필요가 없었다. 경로를 입력하면 해당 폴더로 이동하고, 파일 이름과 크기, 소유자, 권한을 확인할 수 있었다.

 

화면 1. 파일 전송용 역할과 labops 계정, SFTP를 선택했다.
화면 1. 파일 전송용 역할과 labops 계정, SFTP를 선택했다.

 

 

먼저 다운로드와 업로드를 해봤다

 

실습 폴더에 준비한 server-status.txt를 내려받았다. 가상 서비스의 상태를 적은 작은 텍스트 파일이다. 전송 결과는 Success였고, 내려받은 내용도 서버의 원본과 같았다.

 

이어서 before-policy-upload.txt를 올렸다. 업로드 역시 Success로 끝났고 서버 목록에 새 파일이 나타났다. 파일 내용까지 확인한 뒤 이 연결을 닫았다.

 

화면 2. 제한을 적용하기 전에는 테스트 파일 업로드가 정상적으로 끝났다.
화면 2. 제한을 적용하기 전에는 테스트 파일 업로드가 정상적으로 끝났다.

 

 

파일 전송 권한에서 업로드만 제한했다

 

관리자 화면의 Command Templates에서 새 템플릿을 만들었다. Base Type은 Deny로 두고, Functions(SFTP)에서 Upload File 하나만 선택했다. 다운로드는 제한 항목에 넣지 않았다.

 

화면 3. SFTP 기능 중 Upload File만 제한하도록 설정했다.
화면 3. SFTP 기능 중 Upload File만 제한하도록 설정했다.

 

이 템플릿을 파일 전송용 정책에 연결했다. 접속할 서버와 계정은 그대로 두고 업로드 제한을 추가한 것이다. 정책 검사에 오류가 없는 것을 확인하고 저장했다.

 

화면 4. SFTP 전용 정책에 업로드 제한 템플릿을 연결했다.
화면 4. SFTP 전용 정책에 업로드 제한 템플릿을 연결했다.

 

 

다운로드는 그대로, 새 파일 업로드는 차단됐다

 

Demo Developer로 돌아와 같은 SFTP 역할과 labops 계정으로 새 연결을 열었다. 같은 폴더에서 server-status.txt를 다시 내려받으니 이번에도 Success가 표시됐다. 새로 받은 파일의 내용도 원본과 일치했다.

 

화면 5. 업로드 제한 정책을 적용한 뒤에도 상태 파일 다운로드는 성공했다.
화면 5. 업로드 제한 정책을 적용한 뒤에도 상태 파일 다운로드는 성공했다.

 

이번에는 after-policy-upload.txt를 선택해 업로드를 시도했다. 앞서 올렸던 파일과 내용은 같고 이름만 다른 테스트 파일이다. 결과는 Failure였다. 서버 폴더에도 이 파일은 생성되지 않았다.

 

화면 6. 정책 적용 후 새 파일 업로드는 완료되지 않았다.
화면 6. 정책 적용 후 새 파일 업로드는 완료되지 않았다.

 

파일을 받는 작업은 계속할 수 있었고, 서버에 새 파일을 올리는 작업은 제한됐다. 점검에 필요한 자료를 확보하면서 업로드 권한은 줄일 수 있다는 것을 같은 접속 환경에서 확인했다.

 

 

무엇을 받았고, 어떤 업로드가 막혔는지도 남았다

 

관리자 화면의 Command Audit에서 실습 폴더 경로로 검색했다. 두 번의 다운로드와 제한 전후 업로드, 총 네 건이 나왔다. 각 기록에는 Demo Developer와 사용한 역할, labops 계정, 서버 이름이 함께 남아 있었다.

 

정책 적용 후 내려받은 파일은 File Download, Not Restricted로 표시됐다. 상세 화면에서 파일 경로와 실행 시각도 확인할 수 있었다.

 

화면 7. 허용된 다운로드의 사용자와 파일 경로를 감사 기록에서 확인했다.
화면 7. 허용된 다운로드의 사용자와 파일 경로를 감사 기록에서 확인했다.

 

조금 전 실패한 업로드 기록에는 Restricted와 UPLOAD_FILE이 표시됐다. 같은 시각의 파일 경로까지 일치해 업로드 제한에 걸린 작업이라는 것을 확인할 수 있었다.

 

화면 8. 새 파일 업로드는 Restricted / UPLOAD_FILE로 기록됐다.
화면 8. 새 파일 업로드는 Restricted / UPLOAD_FILE로 기록됐다.

 

파일 전송을 허용하거나 제한하는 것에 더해, 누가 어떤 파일을 주고받으려 했는지도 같은 관리 화면에서 찾을 수 있었다. 서버 점검 담당자에게 필요한 다운로드는 열어 두고 업로드는 통제하면서, 그 결과까지 기록으로 남기는 구성이었다.

 

실습은 QueryPie Community 11.6.7의 웹 SFTP와 Ubuntu 서버에서 진행했다. 화면의 사용자와 파일은 실습용이다.

 

참고: Web SFTP · Command Templates · Command Audit