เหตุใดฉันจึงควรอนุญาตให้ใช้ที่อยู่ IP หลายรายการในเว็บไซต์หนึ่งเซสชัน


18

ฉันหวังว่าคำถามของฉันจะตรงกับขอบเขตของไซต์นี้

ฉันพัฒนาCMS ขณะนี้ผู้ใช้ที่เข้าสู่ระบบของฉันถูกล็อคไปยังที่อยู่ IP สำหรับเซสชัน น่าเสียดายที่ส่วนเล็ก ๆ ของฐานผู้ใช้ของฉันข้ามไปมาอย่างต่อเนื่องระหว่างที่อยู่ IP สองแห่งขึ้นไป ส่วนใหญ่อาจใช้ตัวปรับสมดุล ในทางเทคนิคแล้วมันไม่จำเป็นต้องล็อคเซสชันผู้ใช้ไปยังที่อยู่ IP เดียว ฉันไม่ได้คาดหวังให้ลูกค้าสลับระหว่างที่อยู่ IP หลายแห่งเพื่อขอหน้าเดียวในเว็บไซต์ของฉัน

ฉันสงสัยว่าตอนนี้อะไรคือความเสี่ยงในการอนุญาตให้ลูกค้าของฉันข้ามไปมาระหว่างที่อยู่ IP สำหรับคำขอหน้าเว็บอย่างต่อเนื่อง (ตัวอย่างเช่นร้องขอไฟล์ CSS โดย xxx.xxx.xxx.xxx และไฟล์ JavaScript ร้องขอโดย yyy.yyy.yyy yyy)? ฉันควรอนุญาตหรือห้ามโดยทั่วไปหรือไม่


39
คุณไม่จำเป็นต้องมี load balancer เพื่อกระโดดไปรอบ ๆ ไอพี เชื่อมต่อโทรศัพท์ของคุณบนรถไฟใต้ดินคุณอาจได้รับ IP ที่แตกต่างกันทุกสองสามนาทีขณะที่รถไฟกำลังเดินทางจากนั้นอีกครั้งเมื่อโทรศัพท์ของคุณเปลี่ยนเป็น WiFi ที่ปลายทาง
whatsisname

13
สำหรับแล็ปท็อปที่ย้ายระหว่างสถานที่ต่างๆ (เช่นบ้าน> ที่ทำงาน> สตาร์บัค) นอกจากนี้: ที่อยู่ IPv6 แบบสุ่ม (ส่วนขยายความเป็นส่วนตัวของ IPv6 SLAAC)
marcelm

โดยสัญชาตญาณฉันคาดหวังว่าลูกค้าจะกระโดดไปมาบน Ips แหล่งต่าง ๆ เพื่อสร้างปัญหาหากเป็นอะไรที่มากกว่า "เป็นครั้งคราว"
Tom H

1
หาก คุณกำลังพัฒนา webapp ว่าจะได้รับการติดตั้งในเครือข่ายที่คุณควบคุมหรือคุณมีความรู้ของคุณที่อาจตัดสินใจที่จะทำเช่นนี้สำหรับการรักษาความปลอดภัยเนื่องจากคุณอาจจะสามารถที่จะพูดว่า "ในสถานการณ์เช่นนี้หลาย IPs จะไม่เกิดขึ้นเนื่องจากผู้ใช้ต้อง เข้าถึงสิ่งนี้จาก WS ของพวกเขาและไม่มีตัวโหลดบาลานเซอร์หรือสิ่งอื่น ๆ ในระหว่างที่อาจเปลี่ยน IP ของพวกเขา "... ในกรณีนี้คุณอาจจะสามารถติดตาม IP ของผู้ใช้เนื่องจาก WS ของพวกเขาอาจมีสิ่งเดียวกันเสมอ (หรือ อาจมีการเปลี่ยนแปลงเพียงครั้งเดียวทุกสองสามเดือน)
บาคุริ

1
@TomH ไม่ webapps ส่วนใหญ่ไม่สนใจเกี่ยวกับที่อยู่ IP ของคุณพวกเขาจะยอมรับคุกกี้เดียวกันในคำขอ HTTP ผ่านการเชื่อมต่อ TCP ใหม่ เฉพาะอึและการออกแบบที่ไม่ดีจะล็อคเซสชันของคุณกับ IP หรือการเชื่อมต่อ
Navin

คำตอบ:


35

ส่วนเล็ก ๆ ของฐานผู้ใช้ของฉันข้ามไปมาอย่างต่อเนื่องระหว่างที่อยู่ IP สองแห่งขึ้นไป

สาเหตุ

สมมติว่าผู้ใช้ของคุณไม่ได้พยายามซ่อนที่อยู่ IP จริงโดยใช้บริการลบข้อมูลระบุตัวตน ... :

ตัวอย่างขององค์กรส่วนใหญ่ที่ฉันเห็นมีสาเหตุมาจาก บริษัท ขนาดใหญ่และ ISP บางรายใช้คลัสเตอร์พร็อกซีเซิร์ฟเวอร์ซึ่งแต่ละแห่งมีที่อยู่ IP ภายนอกที่แตกต่างกันโดยที่ผู้ใช้ร้องขอให้โหลดสมดุลกับคลัสเตอร์นั้น

คุณอาจเห็นผู้ใช้ Dual Stack ทำการร้องขอผ่านทั้ง IPv4 และ IPv6 และสลับไปมาระหว่างสองโปรโตคอลRFC 8305สำหรับคำขอถัดไป

สถานการณ์อื่นคือเมื่อฉันอยู่ในช่วงของจุดเชื่อมต่อ Wi-Fi และอุปกรณ์ของฉัน "สุ่ม" จะสลับระหว่าง Wi-Fi และข้อมูลมือถือ

โซลูชั่น

ในสถานการณ์แรกคุณอาจประนีประนอมในการรักษาที่อยู่ IP "ความปลอดภัย" ดังกล่าวในเซสชันของคุณโดยพิจารณาเฉพาะสามออคเต็ตแรกโดยทั่วไปคลัสเตอร์คลัสเตอร์ของพร็อกซีเซิร์ฟเวอร์ทั้งหมดจะอยู่ในซับเน็ตขนาดเล็กและจะมีที่อยู่ IP ใกล้เคียง

ในสถานการณ์ที่สองและสามคุณจะเห็นที่อยู่ IP ไคลเอนต์ที่แตกต่างกันอย่างสิ้นเชิงจากผู้ให้บริการที่ไม่เกี่ยวข้องกัน

อย่าผูกเซสชันของคุณกับที่อยู่ IP เฉพาะซึ่งมีแนวโน้มที่จะทำลายประสบการณ์ผู้ใช้มากกว่าที่จะให้ความปลอดภัยที่ดีขึ้นจริง


27
ไม่มีใครเชื่อมโยงเซสชันกับที่อยู่ IP อีกต่อไปด้วยเหตุผลเหล่านี้
Michael Hampton

33
ไม่เคยผูกเซสชันกับที่อยู่ IP ยุค 80 สิ้นสุดลง! ISP ของฉันให้บริการเครือข่ายที่สมบูรณ์ / 64 ถึงโทรศัพท์ของฉันซึ่งเบราว์เซอร์ของฉันกระโดดไปมาอย่างบ้าคลั่ง
bjoster

6
นอกจากนี้ Multipath TCP ยังเพิ่มขึ้นเรื่อย ๆ
Can Poyrazoğlu

3
หากคุณกำลังทำให้ CMS ของคุณสำหรับผู้ใช้ด้านเทคนิคคุณสามารถใส่ "จำกัด เซสชั่นนี้ไว้ที่ ip (xxx.yyy.zzz.iii) เท่านั้น" ช่องทำเครื่องหมายในหน้าเข้าสู่ระบบ
Ferrybig

6
@bjoster นั่นเป็นเพราะส่วนขยายความเป็นส่วนตัวของ IPv6 มันจะทำการสลับที่อยู่เพื่อให้เว็บไซต์ไม่สามารถติดตามคุณด้วยไอพีของคุณคนเดียว (นี่ไม่ใช่ปัญหาของ IPv4 เนื่องจากหลายคนอยู่หลังที่อยู่เดียวกัน)
Ferrybig

9

ฉันสงสัยว่าตอนนี้อะไรคือความเสี่ยงในการอนุญาตให้ลูกค้าของฉันข้ามไปมาระหว่างที่อยู่ IP สำหรับคำขอหน้าเว็บอย่างต่อเนื่อง (ตัวอย่างเช่นร้องขอไฟล์ CSS โดย xxx.xxx.xxx.xxx และไฟล์ JavaScript ร้องขอโดย yyy.yyy.yyy yyy)? ฉันควรอนุญาตหรือห้ามโดยทั่วไปหรือไม่

ความเสี่ยงหลักคือผู้ใช้ที่เป็นอันตรายที่ถูกแย่งชิงเซสชัน หากคุณสามารถล็อคที่อยู่ IP หนึ่งหรือชุดเล็กคุณสามารถปิดกั้นผู้ใช้จากที่อยู่ IP ที่แตกต่างกันอย่างสิ้นเชิงจากการไฮแจ็กเซสชัน

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

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

TL; DR : โดยทั่วไปคุณควรอนุญาตคำขอจากที่อยู่ IP ที่แตกต่างกันสำหรับผู้ใช้รายเดียวกัน มีเหตุผลที่ถูกต้องที่สามารถเกิดขึ้นได้ ใช้ HTTPS แทนเพื่อป้องกันการโจมตีประเภทนั้น


4

อะไรคือความเสี่ยงในการอนุญาตให้ลูกค้าของฉันข้ามไปมาระหว่างที่อยู่ IP สำหรับคำขอหน้าเว็บอย่างต่อเนื่อง

จากมุมมองด้านความปลอดภัย - ความเสี่ยงเป็นศูนย์

ตอนนี้จากมุมมองการปฏิบัติ หมายความว่าคุณไม่สามารถใช้อัลกอริทึมบางประเภทสำหรับการรักษาความปลอดภัยหรือการป้องกันDoS

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

กรณีการใช้งานที่เกี่ยวข้อง แต่แตกต่างกันคือการพยายามควบคุมการเข้าสู่ระบบล้มเหลว นี่คือเพื่อป้องกันการเดารหัสผ่านที่ดุร้าย แต่อีกครั้งไม่มีอะไรที่คุณสามารถทำได้หากผู้ใช้เปลี่ยนที่อยู่ IP แฮกเกอร์ที่ร้ายแรงจริงๆจะไม่ใช้เครื่องของเขาเอง เขาจะซื้อเวลาสักครู่บน botnet (หรือใช้บ็อตเน็ตที่ติดเชื้อของตัวเองก่อนหน้านี้) และเชื่อมต่อกับบริการของคุณผ่านพีซีของบุคคลอื่น (ที่อยู่ IP) 10,000 เครื่อง สิ่งนี้ไม่เกี่ยวข้องกับการ จำกัด ที่อยู่ IP ของผู้ใช้เนื่องจากเป็นการลงชื่อเข้าใช้ล่วงหน้า แต่เป็นสิ่งที่ควรคำนึงถึง


1

มีสาเหตุหลายประการที่ทำให้ผู้ใช้อาจข้ามไปยังที่อยู่ IP ใหม่

  1. ส่วนขยายความเป็นส่วนตัวของ IPv6 ลูกค้า IPv6 จำนวนมากในปัจจุบันจะกระโดดไปมาภายใน / 64 บนเครือข่าย LAN
  2. โหลดบาลานซ์พร็อกซี่ที่ลูกค้าร้องขอจะถูกส่งไปยังหนึ่งในหลาย ๆ พร็อกซี่แต่ละเครื่องด้วย IP ที่แยกต่างหาก
  3. พูล NAT NAT กำหนดค่าขอบด้วยหลายที่อยู่ IP และกำหนด IP / พอร์ตรวมจากสระว่ายน้ำให้กับการเชื่อมต่อ TCP ลูกค้า
  4. ผู้ใช้ย้ายระหว่างเครือข่ายต่าง ๆ หรือส่วนต่าง ๆ ของเครือข่ายทั่วไปกับโทรศัพท์ทุกวันนี้
  5. ผู้ใช้สแต็กคู่อาจข้ามไปมาระหว่าง IPv4 และ IPv6

ฉันสงสัยว่าตอนนี้อะไรคือความเสี่ยงในการอนุญาตให้ลูกค้าของฉันข้ามไปมาระหว่าง IP สำหรับคำขอหน้าเว็บ

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

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

ไซต์ส่วนใหญ่ในปัจจุบันดูเหมือนว่าการแตกหักนั้นมีค่ามากกว่าประโยชน์ของการล็อคดังกล่าว

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