Artemis는 loopback broker에 대해 SOCKS를 우회할 수 있다
의도적으로 잘못된 SOCKS 자격 증명에도 Artemis 연결이 성공할 때 broker 대상과 socksRemoteDNS 동작을 확인하세요.
잘못된 SOCKS 비밀번호로 성공하는 Artemis broker 연결은 proxy 핸들러를 건너뛰었을 수 있습니다. socksHost뿐 아니라 broker 대상을 확인하세요.
transport 문서는 localhost 및 127.0.0.1 같은 loopback broker 주소가 SOCKS 구성을 우회한다고 설명합니다. 일반적인 로컬 확인 경로에서는 연결이 중간자를 거쳐야 할 때 의도한 비-loopback broker 주소를 사용하세요. 여전히 loopback으로 확인되는 다른 alias도 같은 결과를 낼 수 있습니다.
connector 버전의 정확한 조건 확인
최신 upstream connector 소스에는 명시적인 remote-DNS 예외가 포함되어 있습니다. proxy 핸들러의 조건은 다음과 같습니다.
socksEnabled && (socksRemoteDNS || !isTargetLocalHost())
해당 조건이 포함된 구현에서 socksRemoteDNS가 활성화되면 connector는 대상을 확인하지 않은 채로 두고 loopback처럼 보이는 대상에도 SOCKS 핸들러를 설치합니다. 문서화된 기본값 false에서는 로컬 주소 검사가 여전히 중요합니다.
이는 localhost 같은 호스트 이름의 의미를 바꿉니다. 확인을 위해 SOCKS 서버에 전달되면 proxy가 보는 대상을 가리킵니다. 원격 확인을 선택하기 전에 이것이 의도한 broker 위치인지 확인하세요.
설치된 Artemis 클라이언트에 동작을 맞추세요. 핸들러가 실제로 경로에 들어간 후에는 SOCKS 인증과 broker 인증을 구분하고, 성공한 broker 세션을 proxy 자격 증명 사용의 증거로 보는 대신 결과 연결 경로를 검증하세요.