มันปลอดภัยที่จะให้บริการ HTTP / HTTPS ผ่านพอร์ต 8080/8443


9

เนื่องจากข้อ จำกัด ด้านโครงสร้างพื้นฐานหนึ่งในโซลูชันที่นำเสนอสำหรับการให้บริการ HTTP ทั่วโลกคือการนำเสนอผ่านพอร์ต 8080 และ 8443

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

ดังนั้น ... มีโอกาสมากที่ผู้ใช้จากอินเทอร์เน็ตที่มีขนาดใหญ่อาจไม่สามารถเข้าถึงบริการเหล่านี้


คุณไม่สามารถใช้ที่อยู่กับพอร์ต 80 และ 443 ได้หรือไม่
Froggiz

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

ฉันหมายถึงเช่นนั้น: azure.microsoft.com/en-us/documentation/articles/ …
Froggiz

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

@NathanOsman ฉันคิดว่าเขากังวลเกี่ยวกับการเข้าถึงของผู้ใช้และไฟร์วอลล์ของผู้ใช้
Pacerier

คำตอบ:


7

เครือข่ายองค์กรมักจะเป็นค่าเริ่มต้นกับกฎเช่นนี้:

deny all; allow 80; allow 443; allow 21; allow 22; etc...

มันง่ายกว่ามากในการกำหนดค่าด้วยวิธีนี้แทนที่จะปฏิเสธ 99% จาก 65,535 พอร์ตที่มีอย่างชัดเจน

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


ฉันไม่ทราบรายละเอียดเกี่ยวกับข้อ จำกัด ด้านโครงสร้างพื้นฐานของคุณ แต่ฉันคิดว่ามีบางอย่างที่ทำงานบน 80/443

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


TL; DR

อย่าใช้พอร์ตที่ไม่ได้มาตรฐานสำหรับบริการสาธารณะที่มีพอร์ตมาตรฐานอยู่แล้ว


1
"การกำหนดค่าวิธีนี้ง่ายกว่าการปฏิเสธ 99% จาก 65,535 พอร์ตที่มีอยู่อย่างชัดเจน" - แม้ว่าพวกเขาจะปฏิเสธ 99% ของพอร์ตอย่างชัดเจน แต่ก็จะมีผลเหมือนกัน
user253751

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

@spender ฉันดีใจที่ได้ยินพวกคุณสามารถทำงานออกมาได้โดยไม่ต้องใช้พอร์ตที่ไม่ได้มาตรฐานซึ่งลูกค้าต้องเผชิญ :)
MonkeyZeus

6

มีโอกาสมากที่จะถูกบล็อกโดยเฉพาะในเครือข่ายองค์กรหรือใน wifi สาธารณะ มีโอกาสน้อยกว่าในการเชื่อมต่ออินเทอร์เน็ตที่บ้านปกติ

มันจะถูกบล็อคในเครือข่ายงานของฉันอย่างแน่นอน

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


บริการที่เป็นปัญหาจะไม่ถูกพิมพ์ลงในเบราว์เซอร์ ... แต่จะถูกชี้ไปจากทรัพยากรที่ให้บริการผ่านพอร์ตปกติ อย่างไรก็ตามดูเหมือนว่าความกังวลของฉันเกี่ยวกับความน่าเชื่อถือของวิธีการของฉันนั้นมีความชอบธรรม
spender

คุณช่วยอธิบายได้ไหมว่าทำไมมันถึงถูกบล็อก? ผมใช้พอร์ต 800 เป็นเวลานานโดยไม่มีปัญหาใด ๆ แม้จะมีเครื่องมือของ Google SEO และอ้างอิง ..
Froggiz

1
หนึ่งในงานของฉันกำลังเรียกใช้เว็บไซต์ที่จัดทำดัชนี shoutcast สตรีมและเป็นคำร้องเรียนทั่วไปที่ผู้ใช้บางคนที่อยู่เบื้องหลังเครือข่ายองค์กรไม่สามารถรับฟังสตรีมที่ทำงานผ่านพอร์ตที่ไม่ได้มาตรฐาน อย่างไรก็ตาม 8080 และ 8443 ดูเหมือนจะพิเศษเล็กน้อยแต่อาจไม่พิเศษพอ ฉันจะบอกว่าการใช้บริการบน 800 นั้นมีความเสี่ยงเป็นพิเศษเพราะอยู่ภายใต้พอร์ต "ที่รู้จักกันดี" ซึ่งมีแนวโน้มที่จะถูกบล็อกมาก
อะไรต่อมิอะไร

ทางออกที่ง่ายคือปล่อยให้เซิร์ฟเวอร์ของคุณทำงานบนพอร์ต 8080/8443 และที่ไฟร์วอลล์ NAT / พอร์ตข้างหน้า 80/443 ถึง 8080/8443
SnakeDoc

1
@SnakeDoc เห็นด้วยฉันครอบคลุมตัวเลือกพร็อกซี่ในคำตอบของฉัน :-)
MonkeyZeus

2

มันไม่ยากที่จะทำให้เบราว์เซอร์ของคุณโดนพูดว่าhttp://example.com:8080/index.htmlแต่เมื่อคุณพูดถึงนโยบายขององค์กรที่ปิดกั้นพอร์ตที่ไม่ได้มาตรฐานซึ่งดูเหมือนว่าจะยาก

หากคุณมีการตั้งค่า Load balancing บางประเภทคุณยังสามารถตั้งค่าแอปพลิเคชันของคุณให้ทำงานบนพอร์ตมาตรฐานและให้พอร์ต load balancer ส่งต่อไปยังพอร์ตคี่ภายใน แม้ว่าคุณจะไม่มีโหลดบาลานซ์ฉันแน่ใจว่าคุณสามารถหาวิธีส่งต่อพอร์ตไปยังพอร์ตภายในที่ไม่ได้มาตรฐาน

ภายในผู้ใช้สามารถเข้าถึงได้บนพอร์ตคี่ (ถ้าไม่ได้เป็นส่วนหนึ่งของนโยบายของ บริษัท ของคุณเพื่อบล็อก) ภายนอกที่พวกเขาเห็นhttp://example.com

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

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