로그 한 줄에는 주소가 하나만 표시됩니다. 노트북은 터널 주소를 갖고 있고, 연결은 다른 출구를 통해 나갈 수 있으며, 실행한 브라우저 점검은 FTP에 대해 아무것도 증명하지 않습니다. 이 세 가지는 모두 다를 수 있고, 로그 줄은 그중 하나만 기록합니다. 무엇이든 비교하기 전에 어떤 연결을 묻고 있는지 정하세요.

이 단계들은 시간 범위가 정해진 승인된 조사를 전제로 하며, 다른 사람의 전송을 훑어보는 것이 아닙니다.

1. 어떤 연결을 묻고 있는지 정하기

FTP는 두 개의 연결을 사용합니다. 제어 연결은 명령과 응답을 나르고, 데이터 연결은 파일 자체를 나릅니다. 로그인 이벤트는 전자에, 전송 이벤트는 후자에 속하므로 로그의 한 세션이 서로 다른 두 네트워크 경로의 관측을 담을 수 있습니다. 여기서 결론을 내리기 전에 주소 필드가 어느 이벤트에 속하는지 적어 두세요.

이 분리는 실무적인 결과를 낳습니다. 같은 세션의 로그인 줄과 전송 줄이 서로 다른 두 출발지 주소를 담을 수 있으므로, 둘 중 하나를 “클라이언트 주소”로 인용하는 것은 어느 연결을 읽고 있는지에 대한 추측입니다. 주소를 무엇과 맞춰 보기 전에 이벤트 유형을 확인하세요.

2. 제어 연결을 따라가기

디버그 출력을 켜고 클라이언트를 실행하거나, 연결하는 동안 클라이언트에서 캡처하고, 실제로 도달하는 상대를 기록하세요. VPN이 켜져 있고 클라이언트가 그를 통해 라우팅되면, 서버가 보는 것은 노트북의 접속망 주소가 아니라 VPN 출구 주소입니다.

클라이언트가 터널을 우회하면 서버는 접속 주소를 보게 되고, VPN 인터페이스 자체의 주소는 회선에 전혀 나타나지 않습니다. 노트북의 터널 주소가 보통 그림에서 가장 쓸모없는 값인 이유가 여기에 있습니다: 그것은 터널 안쪽에만 존재합니다. 클라이언트가 제시하는 출발지를 확인하려면 설정 화면에서 읽지 말고 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 설명은 두 연결 모델에 대한 간결한 참고 자료이며, 누군가에게 설명해야 할 때 쓸 수 있습니다.

흔한 두 사례가 왜 이것이 중요한지를 보여 줍니다. 어떤 사무실이 모든 사용자를 단일 출구 주소로 내보내면 백 명이 로그에 하나의 값을 만듭니다. 반대도 그만큼 자주 일어납니다: 한 계정이 같은 주에 집 회선과 사무실 회선에서 접속하고, 두 항목 모두 같은 사람을 설명합니다.

관련 글