SCP를 통해 서버에 연결하고 일부 파일을 원격 서버에서 내 집 컴퓨터로 복사한다고 가정 해보십시오. 서버 관리자가 내가 무언가를 복사했거나 복사 한 내용을 보거나 누가 복사했는지 알 수 있습니까?
SCP를 통해 서버에 연결하고 일부 파일을 원격 서버에서 내 집 컴퓨터로 복사한다고 가정 해보십시오. 서버 관리자가 내가 무언가를 복사했거나 복사 한 내용을 보거나 누가 복사했는지 알 수 있습니까?
답변:
ServerFault 질문 은 거의 동일합니다. 희망적으로 질문을 게시하기 전에 확인했지만 귀하의 질문은 약간 다르므로 여기에 대답하겠습니다.
짧은 대답은 모든 사람이 엔드 포인트 (귀하가 scp
있거나 들어 오고있는 시스템)에 대한 액세스 및 권한이있는 scp
경우 어떤 일이 발생하는지 볼 수 있다는 것입니다. 엔드 포인트에 액세스 할 수없는 경우 프로토콜 번호로 애플리케이션을 알고있는 것 외에는 현재 수행중인 작업에 액세스 할 수 없거나 해독 할 수 없습니다.
그 대답은 궁극적으로 인프라에 크게 좌우됩니다. 하지만 강력한 모니터링이없고 SCP가 회사를 위협하는 것으로 간주되지 않는 한 (적색 깃발을 던질 것) 트래픽은 눈에 띄지 않을 것입니다. 소규모 기업의 경우 특히 그렇습니다.
@SimonRichter가 언급했듯이 : 누군가가 시스템에서 명령을 실행할 수있는 경우 (예 : 관리자 또는 다른 사람) 프로세스 목록을 확인하고 명령 줄을 볼 수 있습니다 scp -args /filepath/
. 그러나이를 위해서는 모든 프로세스 활동을 로깅하거나 전송시 점검해야합니다. 또한, 자신의 시스템에서 직장이나 다른 시스템 (예 : 집 또는 다른 곳)으로 작업하는 경우 반드시 그러한 가시성을 가질 필요는 없습니다.
또한 @ alex.forencich가 언급했듯이 : 복사 프로그램 (scp, sftp 등)이 아무것도 기록하지 않거나 유출하지 않더라도 모든 파일 호출 (파일 열기 및 읽기 호출 포함)을 기록 할 수도 있습니다 (명령 줄 인수 ), 읽거나 쓴 파일을 파악할 수 있습니다. 리눅스 감사 시스템을 참조하십시오. –
관리자 만이 아닙니다.
테스트를 위해 /bin
서버에서 랩톱의 임시 디렉토리로 복사 했습니다. ps
서버에서 보여줍니다
$ ps 24096
PID TTY STAT TIME COMMAND
24096 ? Ss 0:00 scp -r -f /bin
이 정보는 일반적으로 모든 사용자가 액세스 할 수 있습니다.
/proc
옵션을 hidepid=2
사용 하여 (다시) 마운트 하면이 기능이 비활성화됩니다.
scp
서버에서 실행되는 코드 ( sshd
및 scp
자체) 의 도움으로 작동합니다 . 이 서버 코드는 이론적으로 서버 관리자의 통제하에 있으며 서버에서 scp
실행중인 파일을 사용자에게 연결하기 위해 실행중인 버전은 버전과 다릅니다.scp
실행중인 요청을 발행하기 위해 시스템에서 실행 입니다.
예를 들어, 서버 관리자는 scp
웹 서버가 로그를 작성할 수있는 것처럼 서버에서 모든 요청을 기록하는 버전으로 서버를 교체 할 수 있습니다. 그런 다음 해당 로그에서 정확하게 복사 한 내용을 볼 수 있습니다.
그들이 실제로 전문 지식과 동기 부여를 가지고 있는지 여부는 명확하지 않지만, 원한다면 원칙적으로 막을 것이 없습니다.
나는이 질문들이 당신의 동반자라고 생각합니다 : https://security.stackexchange.com/questions/14782/is-there-an-easy-way-to-see-a-log-of-scp-activity-on-a -server-ala-var-log-secu , https://askubuntu.com/questions/659896/where-would-you-find-scp-logs
나는 모든 세부 사항을 알고하지 않지만, 그것은 상자의 똑바로 보인다 scp
및sshd
하지 않는 당신에 대해 물어하는지 기록하는 옵션이 있습니다. 따라서 단순한 구성보다 더 많은 것이 필요할 수 있지만 관리자가 서버를 제어한다는 사실에서 벗어날 수는 없습니다.
컴퓨터의 메모리를 통해 암호화되지 않은 상태로 전달되는 모든 내용은 해당 컴퓨터에서 충분한 권한을 가진 사용자가 읽거나 변경할 수 있습니다.
실행중인 프로세스의 이름과 프로세스를 시작하는 데 사용되는 명령 줄은 Linux에서 로그온 한 모든 사용자가 액세스 할 수 있습니다. (호기심이 많은 경우 Windows에서는 그렇지 않습니다.) 따라서 관리자 나 주변에있는 다른 사람이 복사 한 파일을 볼 수 있습니다. 또한 관리자가 일종의 파일 액세스 로깅을 설정했거나scp
추가 로깅을 수행하기 위해 프로그램을 한쪽 끝에서 합니다.
scp
네트워크 스니퍼로부터 사용자를 보호합니다. 분명히, 양쪽 끝이 해독 된 데이터를 알아야하기 때문에 엔드 포인트 중 하나의 정교한 관리자가 데이터를 scp
메모리에서 빼낼 수있는 기회가 있습니다. 명령 줄을 포함하지 않는 다른 솔루션들도 열려 있습니다. 양쪽 끝은 sftp
무슨 일이 일어나고 있는지 알기 때문에 메모리 검사를 통해 sftp
생각 / 전달 하는 것을 결정할 수 있습니다 .
경험상 루트 액세스 권한이있는 사람은 모든 것을 알 수 있습니다 (확인해야하는 경우). 아마도 한계가있는 유일한 것은 인증서 암호화 파일 시스템입니다.
행위 중에는scp
원격 측에서 프로세스가 열리 며, 호출하면 누구나 볼 수 있습니다 ps
. 프로세스 목록에 나타나는 명령 줄을 숨기면 lsof
(열린 파일 목록) 어떤 파일이 터치되고 있는지 보여줄 수 있습니다. 실제로는 내가 시작한 일부 복사 프로세스가 얼마나 멀리 있는지 관찰하기 위해 실제로하고 있습니다. 터미널에서 프로세스를 시작하면 현재 볼 수 없습니다 (파일 목록이 출력되는 위치).
동작 후 빠른 스캔으로 find
최신 파일을 찾을 수 있습니다 (복사 중에 타임 스탬프가 유지되지 않은 경우). ssh
세션을 통해 어떤 방식 으로든 파일에 액세스하거나 손을 대면 .bash_history
수행 한 작업이 표시되지만 원하는 경우 삭제할 수 있습니다.
보안이 매우 엄격하다면 추가 모니터링을 항상 설정할 수 있습니다. 간단한 데몬으로 모든 파일 수정 사항을 듣고 로컬 및 원격 파일 시스템 트랜잭션에 대한 모든 것을 기록 할 수 있습니다. 모든 사용자 생성 프로세스 를 기록 하는 것은 놀라운 일이 아닙니다 . 백업이 완료된 후에는 파일을 삭제 한 후 어딘가에 파일이 저장 될 수 있습니다.
file
, 당신은 의미 find
했습니까?
서버 관리자는 서버로 들어 오거나 나가는 모든 트래픽을 모니터링 할 수 있으므로 원하는 경우 SCP 트래픽을 쉽게 모니터링하고 파일을 복사 한 파일과 복사 한 파일을 확인할 수 있습니다.
sftp
. 기록 될 수 있지만의 프로세스 제목으로 명확하게 표시되지는 않습니다scp
.