사이트에서 로드 밸런서가 사용되고 있는지 확인하는 방법이 있습니까?

사이트에서 로드 밸런서가 사용되고 있는지 확인하는 방법이 있습니까?

제목이 거의 그렇네요. 특정 사이트에 로드 밸런서가 있음을 나타내는 특별한 동작이 있습니까?

답변1

편집: LoadBalancer를 사용하는 목적은 클라이언트와 LoadBalancer의 상호 작용을 투명하고 기본적으로 보이지 않게 만드는 것이기 때문에 불가능하지는 않더라도(해당 단어에 대해 싫어함) 수행하기가 매우 어려울 것입니다. 즉, 내 원래 게시물은 다음과 같습니다.

저는 규모가 큰 사이트의 로드 밸런서를 관리하고 있습니다. 방문자가 특정 응용 프로그램 서버를 방문하고 있음을 나타내는 유일한 표시는 실제로 로그인 페이지 하단에 서버의 특정 이름을 입력하는 것입니다. 이는 고객이 겪고 있는 문제를 해결하는 데 도움이 됩니다.

그 외에 우리가 해당 정책을 따르지 않을 경우 로드 밸런서를 실행하고 있다는 사실을 "알아주는" 단 한 가지만 생각할 수 있습니다. 알 수 있는 방법은 다음과 같습니다. 하지만 운이 좀 필요합니다.

로드 밸런서가 모든 트래픽을 한 서버 또는 다른 서버로 전달하도록 설정되어 있다고 가정해 보겠습니다. 또는 적어도 한 서버에서 다른 서버로 SSH 트래픽을 전달합니다. 두 상자 중 하나에 로그인할 수 있는 로그인 자격 증명이 없더라도 로그인을 시도하면 두 상자 모두 다른 키를 제공합니다. 따라서 처음으로 ssh를 통해 로그인을 시도하면 다음과 같은 메시지가 표시됩니다. 당신은 열쇠를 받아들이고 싶습니다. 그런 다음 두 번째 또는 세 번째 요청에서 운이 좋으면 다른 키가 있다는 메시지를 받게 됩니다(예: 다른 상자임). *nix 시스템에서는 이것이 중간자 공격으로 인한 것일 수 있다는 경고를 자주 받습니다.

따라서 두 가지가 준비되어야 합니다.

  1. 원격 서버의 SSH
  2. SSH LB

따라서 상대적으로 짧은 시간 내에 두 개의 키를 얻은 경우 시스템 관리자가 키를 변경하지 않은 것이 아니라 로드 밸런서 뒤에 있는 두 개의 별도 시스템과 통신했다고 가정할 수 있습니다.

참고: 다른 항목이 하나 더 있지만 어둠 속에서 찍은 실제 사진입니다. 이 서버가 어떤 IP 블록으로 그룹화되었는지 알아낼 수 있습니다. 그런 다음 이러한 특정 IP 주소 중 하나가 LB에 배치되어 있다고 가정해 보겠습니다(실제로는 이러한 IP 중 하나에 있음).

예를 들어 Load Balancer는 XXX.XXX.XXX.5에 배치됩니다. 그런 다음 LB는 하나 이상의 추가 IP 주소에 대한 모든 트래픽을 캡처하도록 설정됩니다. 일반적으로 XXX.XXX.XXX.5에 대한 트래픽을 전달하지 않습니다(내가 가지고 있는 상용 하드웨어는 확실히 이 작업을 수행하지 않습니다). 그래서 당신은 존재와 관리자 주소를 믿을 수 있습니다.

LB가 모든 외부 호스트의 관리자를 허용하도록 설정된 경우 LB를 찾을 때까지 IP 주소에 /admin과 같은 항목을 추가할 수 있습니다. 이는 LB가 관리를 위해 해당 경로를 사용한다고 가정합니다.

답변2

결정적인 방법은 없지만 찾을 수 있는 단서가 많이 있습니다.
- nmap해 보세요. nmap은 현재 사용 중인 모든 장치의 OS에 대한 단서를 제공할 수 있습니다. BSD라고 표시되고 URL이 .aspx로 끝나면 문제가 있는 것입니다.
- 쿠키: 많은 로드 밸런서가 세션 쿠키를 추가(또는 추가할 수 있음)합니다. F5 지원 포럼에 접속하면 이상한 것을 찾아 구글링해 보세요.
- 기타 여러 헤더: 항목이 캐시되었는지 여부(및 기타 이유)와 같은 항목을 기반으로 헤더를 추가하는 경우가 많습니다. 흥미로운 헤더를 찾아 Google에 검색해 보세요.
- 개발자가 문제 해결에 도움이 되도록 "served by web7"을 추가하는 것이 일반적입니다.
- 여러 다른 IP에서 동일한 콘텐츠를 신속하게 요청하고 ETag 헤더를 비교합니다. Apache는 기본적으로 파일 시스템 inode에서 etag를 기반으로 하며 많은 관리자는 이를 조정하지 않습니다. 따라서 동일한 콘텐츠에 대해 다른 Etag가 표시되면 해당 Etag가 다른 서버에서 온 것이라고 추측할 수 있습니다(Apache에서만 작동하며 Apache에서만 작동함) 조정되지 않은 경우 공유 파일 시스템이 아닌 경우에만 작동합니다.

솔직히 말해서 나는 그 모든 것이 4분의 1과 같은 의미 있는 대답을 줄 것이라고 기대합니다. 그러나 전반적으로 Catherine이 "뭔가 잘못되었습니다"라고 말하지 않는 한 실제로 알 수는 없습니다.

답변3

모든 IP 스택에 대해 IP ID가 변경되므로 IP 호스트는 로드 밸런서 "뒤에" 있습니다. hping과 같은 도구는 다음과 같은 기능을 제공합니다. 동일한 범위에 속하지 않는 ID를 감시하거나 - 이상한 우연의 일치가 충분히 가까웠더라도 - 증가하지 않는 경우:

hping3 www.yoursite.com -S -p 80 (or whatever)

위의 내용은 애플리케이션 계층 "아래" LB 뒤의 여러 호스트를 포착합니다.

답변4

로드 밸런서가 수행 중인 경우쿠키 기반 지속성그런 다음 쿠키를 보면 단서를 얻을 수 있습니다.

관련 정보