Có thể cho biết hai địa chỉ IP có thuộc cùng một máy chủ không?


21

Cho hai địa chỉ IP công cộng và kiến ​​thức đều nằm trên cùng một mạng / 27, có thể xác định từ một địa điểm từ xa (tức là quốc gia khác nhau) nếu chúng thuộc về một hoặc hai máy chủ không?


2
Bạn có thể giải thích những gì bạn đang cố gắng thực hiện và bản chất của (các) máy chủ mà bạn đang cố gắng xác định không?
bobstro

3
Thời gian Ping có thể cung cấp một đầu mối - ví dụ: nếu tất cả các IP phản hồi trong một khoảng thời gian ngẫu nhiên, nhưng hai trong số chúng phản hồi với độ trễ gần như nhau.

10
Bạn có được phép làm một người và xem người kia cũng không phản hồi không?
Ben Voigt

1
Thời gian @ AndréDaniel Ping sẽ hoàn toàn thất bại nếu các máy chủ được đặt. Cùng một giá không phải là cùng một máy chủ.
TomTom

Câu trả lời:


29

Không, nó không, trong trường hợp chung.


Một số bổ sung, để làm cho khách của chúng tôi từ SO hạnh phúc:

  • Không có gì trong các giao thức TCP / IP cơ bản (ví dụ IP / TCP / UDP, ICMP) đặc biệt có nghĩa là để phân biệt được yêu cầu trong câu hỏi.
  • Điều này cũng đúng với nhiều giao thức cấp cao hơn, ví dụ HTTP.
  • Thực sự có thể sử dụng ít nhiều sự khác biệt tinh tế trong các mẫu câu trả lời để đưa ra dự đoán về hệ thống. Nếu bạn có hai hệ thống rất khác nhau, ví dụ Linux và máy chủ Windows, điều này có thể đủ để chắc chắn về việc có hai máy chủ.
  • Điều này sẽ trở nên khó khăn hơn khi các hệ thống tương tự. Hai nút trong cụm web HA có phần cứng và HĐH giống hệt nhau có thể không thể tách rời theo cách này. Tôi coi đây là trường hợp chung trong hầu hết các kịch bản hiện nay.
  • Cuối cùng: Hai máy ảo trên cùng một hộp vật lý có phải là một hoặc hai máy chủ không? Tùy thuộc vào lý do tại sao bạn cố gắng phân biệt ở nơi đầu tiên, điều này có thể quan trọng và hoàn toàn không thể nói ở cấp độ mạng.

2
Câu trả lời của Sven là chính xác 100%, nhưng có thể đoán được liệu họ có đang chạy các Hệ điều hành khác nhau hay không (thông qua nmap hoặc kiểm tra ping được mô tả ở đây kellyodonnell.com/content/determining-os-type-ping ). Họ vẫn có thể là cả hai vms chạy khỏi một máy chủ, mặc dù.
Andy

1
@Andy: Đó là lý do tại sao tôi nói "trong trường hợp chung". Trong một số trường hợp, bạn có thể tìm hiểu nhưng mặt khác, trong một số trường hợp, bạn thậm chí không nhận thấy đó không phải là một máy tính đằng sau một địa chỉ IP duy nhất mà là một trăm ...
Sven

3
@Sven: Câu hỏi đặt ra là liệu hai IP có tương quan với một máy tính không, liệu các dịch vụ trên một IP chung có tương quan với nhiều máy không. Tôi đồng ý rằng không có một phương pháp phổ quát nào được đảm bảo hoạt động mọi lúc, nhưng nếu người ta có thể tìm thấy đủ điểm chung giữa những phản hồi nhận được, có thể đưa ra dự đoán hợp lý. Michelle cần phải giải thích chính xác những gì cần hoàn thành để xác định xem có tồn tại một giải pháp hữu ích hay không. Có vấn đề gì không nếu đó là một cấu hình cân bằng tải hoặc ảo chẳng hạn?
bobstro

1
Mơ hồ khi bạn ném vào ảo hóa. Giả sử bạn có hai máy ảo, Khách A và Khách B, mỗi máy có IP khác nhau nhưng trên cùng / 27 mạng. Giả sử thêm rằng cả hai khách này đều được lưu trữ bởi Host C. Theo một nghĩa nào đó, hai / 27 địa chỉ thuộc về các "máy chủ" khác nhau, nhưng theo một nghĩa khác, họ có thể đi qua cùng một NIC và cùng một máy chủ, vì vậy người ta có thể tranh luận IP thuộc về đến cùng một "máy chủ". Nếu Khách A lần lượt lưu trữ thêm hai VM, Guest X & Guest Y, cũng với địa chỉ / 27 của riêng họ, những IP này thuộc về cùng một máy tính? Điều gì xảy ra nếu bạn "vMotion" bất kỳ máy ảo nào trong số này? Tôi không có câu trả lời hay.
Joshua Huber

13

Tò mò là "tại sao." Mối quan tâm về các máy homed kép thường được bản địa hóa như một số đau đầu không tên của sysadmin. Thông tin chi tiết có nghĩa là được ẩn bởi mô hình OSI.

Linux trả lời trung tâm phía trước.

Có một số cách để tạo dấu vân tay và đoán.

  1. nmap -o và nmap với quét cổng tốt. Máy chủ không luôn luôn liên kết với cả hai NIC. Nhưng rất nhiều lần họ làm.

  2. Địa chỉ MAC. Nếu bạn có bất kỳ phương tiện nào để lấy địa chỉ MAC, các nhà sản xuất muốn sử dụng các địa chỉ liên tiếp cho phần cứng tích hợp. Hai địa chỉ MAC gần giống nhau có nhiều khả năng là cùng một bo mạch chủ. Điều này không áp dụng cho thẻ hậu mãi, tất nhiên.

  3. Lời chào hỏi. Telnet, ftp, smtp, và tương tự như tất cả các thông tin nhận dạng. Xem nếu các dịch vụ này đang chạy, cung cấp đủ thông tin khác biệt. Biểu ngữ có khả năng hiếm ngày hôm nay nhưng vẫn có giá trị một shot.

  4. Kiểm tra hành vi độc lập của NIC. Ví dụ: cố gắng từ chối các máy chủ từ chối bằng cách cung cấp xác thực không có thật cho ssh hàng chục lần. Nếu máy chủ từ chối bị ngắt, bạn nên tìm ổ cắm đóng ngay lập tức trong lần thử tiếp theo. Xem nếu điều này xảy ra cho các IP khác là tốt.

A / 27 net là ... cái gì, 29 máy chủ? Tôi muốn nói rằng cơ hội xác định một cỗ máy gia đình kép với độ tin cậy cao là siêu mỏng, có thể là 5%. Nhưng được cung cấp rất ít máy chủ, bạn có thể đoán được giáo dục.

Câu hỏi thú vị cho một cuộc phỏng vấn. Tôi có thể đánh cắp nó thực sự.


4
Như số 4, nếu cả hai địa chỉ đang chạy ssh và bạn có thể kết nối với nó, bạn có thể so sánh các khóa máy chủ. Về nguyên tắc, hai máy chủ khác nhau có thể được cung cấp cùng một khóa máy chủ, nhưng nó sẽ là một thiết lập rất lạ. Vì vậy, nếu bạn nhận được cùng một khóa máy chủ từ cả hai địa chỉ, rất có thể chúng là cùng một máy chủ.
Nate Eldredge

Hai hộp có cùng khóa máy chủ có thể là kết quả của việc nhân bản máy.
Peter Green

7

Về mặt lý thuyết bạn có thể đưa ra một mức độ tự tin có ý nghĩa trong hầu hết các trường hợp. Có một vài cảnh báo mặc dù điều đó làm cho nó khó hơn nhiều trong thực tế.

Tôi sẽ chồng chéo các câu trả lời khác, và có lẽ tôi đã bỏ lỡ những thứ đó, nhưng đây ít nhất là một lý do chi tiết về lý do tại sao các bit cụ thể này quan trọng hoặc không.

Trước tiên, hãy quên mọi suy nghĩ về địa chỉ MAC. Trừ khi bạn có quyền truy cập trực tiếp vào phân khúc mạng, bạn sẽ không thể nhìn thấy chúng.

Cũng không tin tưởng quét cổng. Đó là tầm thường đối với các cổng tường lửa chỉ cho một số IP nhất định, chỉ có phần mềm nghe trên một số IP nhất định hoặc có hệ thống IDS / IPS áp dụng lọc khi phát hiện quét. Tất cả những điều này sẽ làm hỏng thử nghiệm của bạn.

Ok, vì vậy cách bạn có thể nói rất đơn giản: xác suất hai hộp giống hệt nhau là thấp trừ khi chúng có liên quan với nhau. Vì vậy, những gì bạn thực sự đang làm là cố gắng chứng minh chúng là những hộp khác nhau, không cố gắng chứng minh chúng giống nhau.

  1. Bình. Bạn cần kiểm tra cả hai cùng một lúc và làm nhiều bài kiểm tra. Hóa ra trong khi có nhiễu jitter trong thời gian mạng thì nó là nhiễu giả ngẫu nhiên chất lượng khá cao, nếu bạn có đủ mẫu trong một khung thời gian nhỏ, nhiễu trung bình đủ để cung cấp cho bạn một so sánh chính xác.

    Mỗi lớp 2 hop trong một mạng sẽ thêm một độ trễ nhỏ, các mức độ tắc nghẽn khác nhau sẽ cho các giá trị độ trễ khác nhau. Nếu hai IP hiển thị độ trễ đồng thời khác nhau đáng kể thì bạn có thể cho rằng chúng có thể không phải là cùng một hộp.

    Hãy cẩn thận 1: Một máy chủ duy nhất có hai đường lên (không được liên kết) và được định cấu hình với một IP khác nhau trên mỗi đường lên có thể có đủ sự mất cân bằng đường lên để loại bỏ điều này.

  2. Quét cổng. Các cổng đích có thể ở một trong ba trạng thái: nghe, đóng, lọc. Chúng thực sự không được sử dụng nhiều như đã nói ở trên, nhưng vẫn có thông tin hữu ích.

    1. Các hộp có cổng mở trên nhiều IP rất có thể sẽ chạy cùng một phần mềm trên tất cả các IP. Có thể chạy, giả sử, nginx trên một IP và apache trên một IP khác, nhưng hầu hết mọi người không bận tâm. Vân tay các dịch vụ đang chạy để tìm sự tương đồng. Hãy tìm phần mềm và phiên bản mà nó tự quảng cáo, nó hỗ trợ các tùy chọn nào, tên máy chủ (nếu có) được quảng cáo, nếu có bất kỳ sự kỳ quặc nào trong hành vi của phần mềm, đại loại như vậy.

      Các dịch vụ web ít hữu ích nhất cho việc này, hữu ích hơn nhiều là những thứ như SMTP (khó trộn và khớp do hỗ trợ sendmail, rò rỉ nhiều thông tin), SNMP (một mỏ vàng thông tin), SSH (người chạy nhiều trình nền SSH? ) và HTTPS (nếu bạn may mắn và họ đang chạy cùng một phần mềm, bạn có thể kiểm tra sự khác biệt trong cấu hình SSL, một cấu hình giống hệt nhưng khác thường là một chỉ báo tốt). NTP từng là một thử nghiệm tốt nhưng hiện tại nó đang bị khóa cứng do được sử dụng nhiều làm bộ khuếch đại DoS, SNTP không thực sự đủ chính xác cho một khẩu súng hút thuốc theo cách tương tự.

    2. Dấu vân tay lớp 3. Cách chính để lấy dấu vân tay của một hệ điều hành từ xa là từ các yêu cầu trong triển khai TCP / IP. Các chi tiết chính xác quá dài để đi vào đây nhưng về cơ bản siêu dữ liệu gói rò rỉ rất nhiều thông tin, cũng như cách một cổng đóng hoặc bộ lọc phản ứng với một kết nối và cách máy chủ hoạt động khi nhận các gói không đúng định dạng. Mặc dù các đặc điểm này không phải là một điều nhất định để nói những gì đang chạy, nhưng chúng được đảm bảo hợp lý để gần giống nhau cho mọi IP bị ràng buộc với một ngăn xếp TCP / IP cụ thể. Các hệ thống khác nhau đáng kể nên có các đặc điểm khác nhau đáng kể.

    Hãy cẩn thận 2: Hai hộp chạy chính xác cùng một bản vá hệ điều hành và nhà cung cấp có thể trông giống nhau. Trên Windows, hai bản sao của cùng một phiên bản Windows đang chạy các bản cập nhật tự động sẽ không thể phân biệt được trừ khi chúng có các tường lửa khác nhau đang chạy. Trên Linux, sự khác biệt có thể liên quan chủ yếu đến chính xác phiên bản kernel và các tùy chọn nào được cung cấp. Thử nghiệm này chỉ có thể đưa ra xác suất cao rằng hai IP không nằm trên cùng một hệ điều hành.

  3. Phát lại các cuộc tấn công. Với danh sách các cổng được mở trên cả hai IP, hãy thực hiện các hành động giống hệt nhau trên mỗi IP và tìm kiếm sự khác biệt trong hành vi. Những thứ như thời gian chờ, thông báo lỗi, giới hạn thử lại, v.v ... Một số phần mềm khó hơn hoặc ít được cấu hình để khác nhau dựa trên IP. Nếu bạn biết một IP đang chấp nhận thư cho một tên miền cụ thể, hãy xem liệu IP kia có chấp nhận thư cho tên miền đó không.

    Hãy cẩn thận 3: Đây là dữ liệu chất lượng thấp hơn phần lấy dấu vân tay dịch vụ của thử nghiệm 2 vì công cụ này dễ cấu hình khác nhau trên các IP khác nhau và có thể có tất cả các loại tương tác phía sau hậu trường. Cơ hội cao cho kết quả sai làm cho ít tin tưởng vào những kết quả đó.

Vì vậy, như tôi đã nói, lý thuyết cơ bản là các máy chủ khác nhau có thể sẽ có cấu hình khác nhau và rò rỉ thông tin.

Điều này không giải thích được là khó khăn hơn nhiều để biết liệu cùng một trang web chạy trên hai IP là cùng một máy chủ hay hai máy chủ được cấu hình để dự phòng. Nó cũng không tính đến các quản trị viên hệ thống đang chạy quản lý cấu hình để giữ cho hệ thống của họ rất giống nhau. Nó cũng không chiếm các máy chủ lưu trữ nhiều dịch vụ đang chạy trên các máy chủ khác nhau đến một địa chỉ IP duy nhất.

Công nghệ ảo hóa ném một số spanners lẻ trong công trình. Các hệ thống được đóng gói như Docker đang chia sẻ đủ ngăn xếp để làm cho các container riêng biệt trông giống nhau hơn so với thực tế. Các ảo ảo được kết nối với một nic vật lý không thể phân biệt được với phần cứng riêng biệt về mặt vật lý nhưng không, chủ yếu xuất phát từ thực tế rằng cây cầu là phần mềm và do đó các gói phải đi qua ngăn xếp IP máy chủ.

Có nhiều cách để gây nhầm lẫn cho những người đang cố gắng kiểm tra độ lặp lại. Điều tốt nhất bạn có thể hy vọng là một mô hình có tỷ lệ nghi ngờ thấp.

Đạo đức của việc này, đối với những người đang chạy máy chủ, là bạn nên cấu hình máy chủ của mình để rò rỉ càng ít thông tin càng tốt:

  1. Tắt thông tin biểu ngữ càng xa càng tốt. Càng ít cuộc tấn công biết về cấu hình của bạn thì càng tốt cho bạn.

  2. Có phần mềm chỉ chấp nhận các kết nối trên IP mà nó được cho là đang phục vụ và chỉ khi cần thiết. Nếu nó không cần phải có thể truy cập được từ bên ngoài, hãy làm cho nó liên kết với localhost. Giảm bề mặt tấn công luôn tốt.

  3. Nếu bạn hoàn toàn phải có một cái gì đó lắng nghe và bạn muốn tránh sự tương quan giữa hai IP, hãy cố gắng giữ các tùy chọn bất thường ở mức tối thiểu. Bạn muốn nó hòa trộn vào.

  4. Có một tường lửa chạy với một chính sách thả mặc định. Tôi nghĩ rằng có thể có giá trị trong thiết lập IDS đáp ứng những kẻ tấn công bằng các phản ứng ngẫu nhiên, tiếng ồn sẽ khiến kẻ tấn công khó tin tưởng vào kết quả của chúng hơn nhưng lại khiến bạn nổi bật.

  5. Các mô-đun trì hoãn ngẫu nhiên là vô giá trị để ngăn chặn các cuộc tấn công thời gian. Không, thực sự. Chọn một số ngẫu nhiên sau đó lăn một loạt các lần, viết ra kết quả cộng với số bạn đã chọn lúc bắt đầu. Những gì bạn kết thúc là một phạm vi với một bù cố định. Nếu số ngẫu nhiên được thay thế, phạm vi di chuyển. Nếu phạm vi được thay đổi, phần bù vẫn giữ nguyên và đó chỉ là vấn đề lặp lại quy trình lấy mẫu để có đường cơ sở mới.

  6. Bình thường hóa ngăn xếp IP tồn tại nhưng là một phần bị bỏ quên trong nghiên cứu bảo mật lần trước tôi đã xem xét. Nó có thể là một thị trường tốt đẹp để đầu tư cho một nhà cung cấp bảo mật.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.