เป็นไปได้ไหมที่จะบอกว่าที่อยู่ IP สองแห่งนั้นอยู่ในเซิร์ฟเวอร์เดียวกันหรือไม่


21

เมื่อกำหนดที่อยู่ IP สาธารณะสองรายการและความรู้ที่อยู่ในเครือข่าย / 27 เดียวกันจะสามารถกำหนดจากตำแหน่งที่ตั้งระยะไกล (เช่นประเทศอื่น) ถ้าเป็นของเซิร์ฟเวอร์หนึ่งหรือสองเครื่อง


2
คุณสามารถอธิบายรายละเอียดเกี่ยวกับสิ่งที่คุณพยายามทำสำเร็จและลักษณะของเซิร์ฟเวอร์ที่คุณพยายามระบุได้หรือไม่?
bobstro

3
การกำหนดเวลาการ Ping อาจให้เบาะแส - ตัวอย่างเช่นหาก IP ทั้งหมดตอบสนองในระยะเวลาที่สุ่ม แต่สองคนนั้นตอบสนองด้วยการหน่วงเวลาเดียวกัน

10
คุณได้รับอนุญาตให้ใช้ DoS one และดูว่าอีกอันไม่ตอบสนองด้วยหรือไม่?
Ben Voigt

1
@ การกำหนดเวลา Ping And AndDaniel ทั้งหมดจะล้มเหลวโดยสิ้นเชิงหากเซิร์ฟเวอร์มีการจัดวางตำแหน่ง ชั้นวางเดียวกันไม่ใช่เซิร์ฟเวอร์เดียวกัน
TomTom

คำตอบ:


29

ไม่มันไม่ใช่ในกรณีทั่วไป


เพิ่มเติมบางส่วนเพื่อให้แขกของเรามีความสุขมาก:

  • ไม่มีสิ่งใดในโปรโตคอล TCP / IP พื้นฐาน (เช่น IP / TCP / UDP, ICMP) ที่มีความหมายโดยเฉพาะเพื่อให้ความแตกต่างถูกถามในคำถาม
  • เช่นเดียวกับโปรโตคอลระดับสูงเช่น HTTP
  • เป็นไปได้จริง ๆ ที่จะใช้ความแตกต่างที่มากขึ้นหรือน้อยลงในรูปแบบคำตอบเพื่อคาดเดาเกี่ยวกับระบบ หากคุณมีระบบที่แตกต่างกันสองระบบเช่น Linux และเซิร์ฟเวอร์ Windows นี่อาจเพียงพอที่จะแน่ใจได้ว่ามีโฮสต์สองแห่ง
  • สิ่งนี้จะยากขึ้นหากระบบคล้ายกันมากขึ้น สองโหนดใน HA เว็บคลัสเตอร์ที่มีฮาร์ดแวร์และระบบปฏิบัติการที่เหมือนกันนั้นเป็นไปไม่ได้ที่จะแยกทางนี้ ฉันคิดว่านี่เป็นกรณีทั่วไปในสถานการณ์ส่วนใหญ่วันนี้
  • สุดท้าย: มีเครื่องเสมือนสองเครื่องบนกล่องจริงหนึ่งหรือสองเครื่องหรือไม่ ขึ้นอยู่กับสาเหตุที่คุณพยายามแยกความแตกต่างตั้งแต่แรกสิ่งนี้อาจสำคัญและเป็นไปไม่ได้เลยที่จะบอกระดับเครือข่าย

2
คำตอบของ Sven เป็น 100% ที่ถูกต้อง แต่มันอาจจะเป็นไปได้ที่จะคิดว่าถ้าพวกเขากำลังทำงานที่แตกต่างกันระบบปฏิบัติการ (ผ่าน nmap หรือทดสอบ ping ที่อธิบายที่นี่kellyodonnell.com/content/determining-os-type-ping ) พวกเขาทั้งสองอาจยังคงเป็น vms ที่วิ่งออกจากโฮสต์เดียวแม้ว่า
แอนดี้

1
@ Andy: นั่นเป็นเหตุผลที่ฉันพูดว่า "ในกรณีทั่วไป" ในบางกรณีคุณสามารถหาคำตอบได้ แต่ในบางกรณีคุณไม่ได้สังเกตเห็นว่าไม่ใช่คอมพิวเตอร์เครื่องเดียวที่อยู่ IP เดียว แต่หนึ่งร้อย ...
Sven

3
@Sven: คำถามคือว่า IP สองรายการมีความสัมพันธ์กับคอมพิวเตอร์เครื่องเดียวหรือไม่ไม่ว่าบริการบน IP ทั่วไปนั้นมีความสัมพันธ์กับเครื่องหลายเครื่องหรือไม่ ฉันยอมรับว่าไม่มีวิธีสากลที่รับประกันว่าจะทำงานได้ทุกครั้ง แต่หากพบว่าคนธรรมดาสามัญมากพอระหว่างสิ่งที่ได้รับคำตอบอาจเป็นไปได้ที่จะคาดเดาอย่างสมเหตุสมผล มิเชลจำเป็นต้องอธิบายอย่างละเอียดถึงสิ่งที่จะทำให้สำเร็จเพื่อพิจารณาว่ามีวิธีแก้ปัญหาที่มีประโยชน์หรือไม่ มันจะสำคัญไหมถ้ามันเป็น load balance หรือ virtual configuration ตัวอย่างเช่น
bobstro

1
คลุมเครือเมื่อคุณโยนใน virtualization สมมติว่าคุณมี VMs สองตัวคือ Guest A และ Guest B แต่ละอันมี IP แตกต่างกัน แต่อยู่บน / 27 เดียวกัน สมมติว่าแขกทั้งสองเหล่านี้โฮสต์โดยโฮสต์ C ในแง่หนึ่งที่อยู่สอง / 27 อยู่ใน "เซิร์ฟเวอร์" ที่แตกต่างกัน แต่ในอีกแง่หนึ่งพวกเขาสามารถผ่าน NIC เดียวกันและโฮสต์เดียวกันได้ดังนั้นเราจึงสามารถยืนยัน IP ของ ไปที่ "เซิร์ฟเวอร์" เดียวกัน หาก Guest A มีโฮสต์ VM เพิ่มเติมอีกสองตัวคือ Guest X & Guest Y ซึ่งมีที่อยู่ของตนเอง / 27 ที่อยู่ IP ใดที่อยู่ในคอมพิวเตอร์เครื่องเดียวกัน ถ้าคุณ "vMotion" VMs เหล่านี้ล่ะ? ฉันไม่มีคำตอบที่ดี
Joshua Huber

13

อยากรู้ว่า "ทำไม" ความกังวลเกี่ยวกับเครื่อง homed dual มักจะมีการแปลเป็นภาษาท้องถิ่นเมื่อปวดศีรษะของระบบที่ไม่มีชื่อ รายละเอียดจะถูกซ่อนไว้โดยรุ่น OSI

Linux เป็นศูนย์กลางคำตอบล่วงหน้า

มีบางวิธีในการสร้างลายนิ้วมือและทำการเดาทางการศึกษา

  1. nmap -o และ nmap ด้วยการสแกนพอร์ตที่เหมาะสม เซิร์ฟเวอร์ไม่ได้ผูกกับ NIC ทั้งสองเสมอไป แต่หลายครั้งพวกเขาทำ

  2. ที่อยู่ MAC หากคุณมีวิธีการรับที่อยู่ MAC ผู้ผลิตต้องการใช้ที่อยู่ติดต่อกันสำหรับฮาร์ดแวร์แบบรวม ที่อยู่ MAC ที่เหมือนกันเกือบสองอันมักจะเป็นเมนบอร์ดเดียวกัน ไม่สามารถใช้ได้กับการ์ดหลังการขายแน่นอน

  3. ทักทาย. Telnet, ftp, smtp และข้อเสนอที่คล้ายกันทั้งหมดระบุข้อมูล ดูว่าบริการเหล่านี้กำลังทำงานอยู่หรือไม่นำเสนอข้อมูลที่แตกต่างกันเพียงพอ แบนเนอร์มีโอกาสน้อยมากในวันนี้ แต่ก็ยังคุ้มค่ากับการยิง

  4. ทดสอบพฤติกรรมที่เป็นอิสระของ NIC ตัวอย่างเช่นพยายามเดินทางปฏิเสธโฮสต์โดยให้การรับรองความถูกต้องปลอมเพื่อ ssh ครั้งโหล หากโฮสต์ปฏิเสธถูกสะดุดคุณควรค้นหาซ็อกเก็ตปิดทันทีในการลองครั้งต่อไป ดูว่าสิ่งนี้เกิดขึ้นสำหรับ IP อื่น ๆ เช่นกัน

A / 27 net คือ ... อะไร 29 โฮส? ฉันจะบอกว่าโอกาสในการระบุเครื่องบ้านสองหลังที่มีความมั่นใจสูงคือบางเฉียบอาจจะ 5% แต่เนื่องจากมีโฮสต์เพียงไม่กี่แห่งคุณอาจคาดเดาได้อย่างมีการศึกษา

คำถามที่สนุกสำหรับการสัมภาษณ์ ฉันอาจขโมยมันจริง


4
ในฐานะที่เป็น # 4 หากที่อยู่ทั้งสองกำลังเรียกใช้ ssh และคุณสามารถเชื่อมต่อกับมันคุณสามารถเปรียบเทียบโฮสต์คีย์ โดยหลักการแล้วเซิร์ฟเวอร์สองเครื่องที่แตกต่างกันอาจได้รับรหัสโฮสต์เดียวกัน แต่มันจะเป็นการตั้งค่าที่แปลกมาก ดังนั้นหากคุณได้รับรหัสโฮสต์เดียวกันจากทั้งสองที่อยู่พวกเขาจะเป็นเซิร์ฟเวอร์เดียวกัน
Nate Eldredge

สองกล่องที่มีโฮสต์คีย์เดียวกันอาจเป็นผลมาจากการโคลนเครื่อง
ปีเตอร์กรีน

7

ในทางทฤษฎีคุณสามารถให้ระดับความมั่นใจที่มีความหมายในกรณีส่วนใหญ่ มีข้อแม้อยู่สองสามข้อที่ทำให้การฝึกฝนยากขึ้น

ฉันจะทับซ้อนคำตอบอื่น ๆ และฉันอาจจะพลาดสิ่งต่าง ๆ แต่อย่างน้อยก็มีเหตุผลอย่างละเอียดว่าทำไมบิตเหล่านี้ถึงสำคัญหรือไม่

ก่อนอื่นให้ลืมความคิดใด ๆ ของที่อยู่ MAC หากคุณไม่สามารถเข้าถึงกลุ่มเครือข่ายโดยตรงคุณจะไม่สามารถเห็นกลุ่มเหล่านั้นได้

ยังไม่ไว้วางใจการสแกนพอร์ต มันเป็นเรื่องเล็กน้อยที่พอร์ตไฟร์วอลล์สำหรับ IP บางตัวเท่านั้นมีซอฟต์แวร์ที่ฟังบน IP บางตัวเท่านั้นหรือมีระบบ IDS / IPS ที่ใช้การกรองเมื่อตรวจพบการสแกน สิ่งเหล่านี้จะทำให้การทดสอบของคุณยุ่งเหยิงไปหมด

ตกลงดังนั้นวิธีที่คุณสามารถบอกได้ว่าง่าย: ความน่าจะเป็นของกล่องสองกล่องที่เหมือนกันนั้นต่ำมากเว้นแต่ว่ามันจะเกี่ยวข้องกัน ดังนั้นสิ่งที่คุณทำจริง ๆ ก็คือพยายามพิสูจน์ว่ามันเป็นกล่องที่แตกต่างกันไม่ใช่พยายามพิสูจน์ว่ามันเหมือนกัน

  1. ปิง คุณต้องทดสอบทั้งสองอย่างในเวลาเดียวกันและทำแบบทดสอบมากมาย ปรากฎว่าในขณะที่มีเครือข่ายกระวนกระวายใจครั้งที่มันเป็นเสียงหลอกหลอกที่มีคุณภาพค่อนข้างสูงหากคุณมีตัวอย่างเพียงพอในกรอบเวลาเล็ก ๆ เสียงเฉลี่ยโดยเฉลี่ยเพียงพอที่จะให้คุณเปรียบเทียบที่ถูกต้อง

    แต่ละเลเยอร์ 2 กระโดดในเครือข่ายเพิ่มจำนวนเวลาแฝงเล็กน้อยระดับความแออัดที่แตกต่างกันจะให้ค่าเวลาแฝงที่แตกต่างกัน หาก IP ทั้งสองแสดงเวลาแฝงที่เกิดขึ้นพร้อมกันอย่างมีนัยสำคัญแตกต่างกันอย่างมีนัยสำคัญคุณสามารถสันนิษฐานได้ว่าพวกเขาอาจจะไม่เหมือนกัน

    ข้อแม้ที่ 1: เซิร์ฟเวอร์เดียวที่มีอัปลิงค์สองตัว (ไม่ผูกมัด) และกำหนดค่าด้วย IP ที่แตกต่างกันในแต่ละอัปลิงค์อาจมีอัปลิงค์ที่ไม่สมดุลพอที่จะทำให้เกิดข้อผิดพลาดนี้

  2. สแกนพอร์ต พอร์ตปลายทางสามารถอยู่ในสถานะใดสถานะหนึ่งในสามสถานะ: การฟัง, ปิด, กรอง ซึ่งสิ่งเหล่านี้ไม่ได้มีประโยชน์อะไรมากตามที่ระบุไว้ข้างต้น แต่ยังมีข้อมูลที่เป็นประโยชน์ที่จะมี

    1. กล่องที่มีพอร์ตที่เปิดในหลาย IP มักจะใช้ซอฟต์แวร์เดียวกันกับ IP ทั้งหมด มีความเป็นไปได้ที่จะเรียกใช้ nginx บน IP หนึ่งรายการและ Apache อีกเครื่องหนึ่ง แต่คนส่วนใหญ่ไม่สนใจ ลายนิ้วมือที่ใช้บริการเพื่อค้นหาความคล้ายคลึงกัน ค้นหาซอฟต์แวร์และรุ่นที่โฆษณาด้วยตัวเองว่ามีตัวเลือกใดบ้างสนับสนุนชื่อโฮสต์ (ถ้ามี) ที่โฆษณาถ้ามีพฤติกรรมที่ผิดปกติของซอฟต์แวร์สิ่งต่าง ๆ เช่นนั้น

      บริการเว็บมีประโยชน์น้อยที่สุดสำหรับสิ่งนี้มีประโยชน์มากกว่าเช่น SMTP (ยากที่จะผสมและจับคู่เนื่องจากการสนับสนุน sendmail ข้อมูลรั่วไหลมาก), SNMP (เหมืองทองข้อมูล), SSH (ใครทำงาน SSH daemons หลายคน? ) และ HTTPS (หากคุณโชคดีและพวกเขากำลังเรียกใช้ซอฟต์แวร์เดียวกันคุณสามารถตรวจสอบความแตกต่างในการกำหนดค่า SSL การกำหนดค่าที่เหมือนกัน แต่ผิดปกติเป็นตัวบ่งชี้ที่ดี) NTP เคยเป็นการทดสอบที่ดี แต่มันถูกล็อคอย่างหนักในตอนนี้เนื่องจากมันใช้งานหนักเป็นเครื่องขยายเสียง DoS SNTP ไม่แม่นยำพอสำหรับปืนสูบบุหรี่ในลักษณะเดียวกัน

    2. ลายนิ้วมือเลเยอร์ 3 วิธีหลักในการพิมพ์ลายนิ้วมือบนระบบปฏิบัติการจากระยะไกลนั้นมาจากการทำงานที่ไม่ปกติในการใช้ TCP / IP รายละเอียดที่แน่นอนยาวเกินกว่าจะเข้าไปที่นี่ได้ แต่ข้อมูลเมตาแพ็คเก็ตรั่วข้อมูลเป็นจำนวนมากเช่นเดียวกับที่พอร์ตปิดหรือกรองตอบสนองต่อการเชื่อมต่อและโฮสต์ทำงานอย่างไรเมื่อรับแพ็คเก็ตที่มีรูปแบบไม่ถูกต้อง ในขณะที่คุณสมบัติเหล่านี้ไม่ใช่สิ่งที่บอกได้ว่ากำลังทำงานอะไรพวกเขารับประกันว่าจะใกล้เคียงกันทุก IP ที่ผูกติดกับสแต็ค TCP / IP เฉพาะ ระบบที่แตกต่างกันอย่างมีนัยสำคัญควรมีลักษณะแตกต่างกันอย่างมีนัยสำคัญ

    ข้อแม้ที่ 2: กล่องสองกล่องที่ใช้ระบบปฏิบัติการเดียวกันและแพทช์ผู้ขายมีแนวโน้มที่จะดูเหมือนกัน ใน Windows สำเนาของ Windows รุ่นเดียวกันสองชุดที่รันการอัปเดตอัตโนมัติจะไม่สามารถแยกแยะได้เว้นแต่จะมีไฟร์วอลล์ที่ทำงานแตกต่างกัน บน Linux ความแตกต่างมีแนวโน้มที่จะเกี่ยวข้องส่วนใหญ่กับสิ่งที่รุ่นเคอร์เนลและตัวเลือกที่มีการจัดส่ง การทดสอบนี้ให้ความน่าจะเป็นสูงที่ IP สองเครื่องไม่ได้อยู่ในระบบปฏิบัติการเดียวกัน

  3. เล่นซ้ำการโจมตี ด้วยรายการพอร์ตที่เปิดบน IP ทั้งสองให้ดำเนินการเหมือนกันในแต่ละ IP และค้นหาความแตกต่างในการทำงาน สิ่งต่าง ๆ เช่นเวลา, ข้อความแสดงข้อผิดพลาด, ลอง จำกัด , ฯลฯ ซอฟต์แวร์บางตัวยากหรือน้อยกว่าที่กำหนดค่าให้แตกต่างกันตาม IP หากคุณทราบว่า IP หนึ่งยอมรับอีเมลสำหรับโดเมนหนึ่ง ๆ ดูว่า IP อื่น ๆ ยอมรับอีเมลสำหรับโดเมนนั้นหรือไม่

    Caveat 3: นี่คือข้อมูลที่มีคุณภาพต่ำกว่าส่วนบริการพิมพ์ลายนิ้วมือของการทดสอบ 2 เพราะสิ่งนี้ง่ายต่อการกำหนดค่าที่แตกต่างกันใน IP ที่แตกต่างกันและมีฉากหลังที่เป็นไปได้ทุกชนิดที่เป็นไปได้ โอกาสสูงที่จะได้ผลลัพธ์ที่ผิดพลาดทำให้มีความมั่นใจเพียงเล็กน้อยในผลลัพธ์เหล่านั้น

อย่างที่ฉันได้กล่าวไปแล้วทฤษฎีพื้นฐานก็คือโฮสต์ที่แตกต่างกันอาจจะเป็นรูปแบบที่แตกต่างกันและข้อมูลรั่วไหล

สิ่งนี้ไม่ได้เกิดจากการที่มันยากที่จะบอกว่าเว็บไซต์เดียวกันที่ทำงานบนสอง IP เป็นเซิร์ฟเวอร์เดียวกันหรือสองเซิร์ฟเวอร์ที่กำหนดค่าสำหรับความซ้ำซ้อน นอกจากนี้ยังไม่ได้คำนึงถึงผู้ดูแลระบบที่ใช้การจัดการการกำหนดค่าเพื่อให้ระบบของพวกเขาคล้ายกันมาก และไม่คิดบัญชีสำหรับโฮสต์ที่เป็นบริการ DNAT หลายบริการที่ทำงานบนโฮสต์ที่แตกต่างกันไปยังที่อยู่ IP เดียว

เทคโนโลยี Virtualisation พ่นสไปเซอร์แปลก ๆ ในผลงาน ระบบที่ทำเป็นตู้คอนเทนเนอร์เช่นนักเทียบท่ากำลังแบ่งปันสแต็กมากพอที่จะทำให้ภาชนะแยกดูคล้ายกันมากกว่าที่เป็นจริง นิคส์เสมือนจริงที่เชื่อมต่อกับนิคทางกายภาพไม่สามารถแยกความแตกต่างจากฮาร์ดแวร์แยกทางกายภาพ แต่ไม่ได้เกิดขึ้นจากความจริงที่ว่าบริดจ์เป็นซอฟต์แวร์และแพ็คเก็ตต้องผ่าน IP สแต็คโฮสต์

มีหลายวิธีที่ทำให้คนสับสนในการทดสอบความสามารถในการทำซ้ำ สิ่งที่ดีที่สุดที่คุณสามารถคาดหวังได้คือรูปแบบที่มีความสงสัยน้อย

คุณธรรมของสิ่งนี้สำหรับผู้ที่ใช้เซิร์ฟเวอร์คือคุณควรกำหนดค่าเซิร์ฟเวอร์ของคุณให้มีการรั่วไหลของข้อมูลน้อยที่สุดเท่าที่จะทำได้:

  1. ปิดข้อมูลแบนเนอร์เท่าที่จะทำได้ การโจมตีที่น้อยกว่ารู้เกี่ยวกับการกำหนดค่าของคุณดีกว่าสำหรับคุณ

  2. มีซอฟต์แวร์ที่ยอมรับการเชื่อมต่อกับ IP ที่ควรจะให้บริการและเฉพาะเมื่อจำเป็นเท่านั้น หากไม่จำเป็นต้องเข้าถึงจากภายนอกให้เชื่อมโยงกับ localhost เท่านั้น การลดพื้นผิวการโจมตีเป็นสิ่งที่ดีเสมอ

  3. หากคุณต้องมีอะไรบางอย่างที่ฟังและคุณต้องการหลีกเลี่ยงความสัมพันธ์ระหว่างสอง IP พยายามที่จะทำให้ตัวเลือกที่ผิดปกติให้น้อยที่สุด คุณต้องการที่จะผสมผสาน

  4. มีไฟร์วอลล์ที่ทำงานด้วยนโยบายการปล่อยเริ่มต้น ฉันคิดว่าอาจมีค่าในการติดตั้ง IDS ที่ตอบสนองต่อผู้โจมตีด้วยการตอบแบบสุ่มเสียงดังจะทำให้ผู้โจมตีเชื่อใจในผลลัพธ์ของตนได้ยากขึ้น แต่จะส่งผลให้คุณโดดเด่น

  5. โมดูลหน่วงเวลาแบบสุ่มไม่มีค่าสำหรับการป้องกันการโจมตีตามกำหนดเวลา ไม่มีจริงๆ. เลือกตัวเลขสุ่มจากนั้นหมุนเป็นจำนวนครั้งเขียนผลบวกกับหมายเลขที่คุณเลือกเมื่อเริ่มต้น สิ่งที่คุณจะได้คือช่วงที่มีออฟเซ็ตคงที่ หากหมายเลขสุ่มถูกแทนที่ช่วงย้าย หากช่วงมีการเปลี่ยนแปลงการชดเชยจะยังคงเหมือนเดิมและเป็นเพียงเรื่องของการทำซ้ำกระบวนการสุ่มตัวอย่างเพื่อรับพื้นฐานใหม่

  6. ตัวสร้างสแต็คของ IP มีอยู่ แต่เป็นส่วนที่ถูกทอดทิ้งจากการวิจัยด้านความปลอดภัยครั้งที่แล้วที่ฉันดู มันอาจจะเป็นตลาดที่ดีที่จะลงทุนซื้อผู้ขายหลักทรัพย์

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.