Score:1

เป็นไปได้ไหมที่จะอนุญาต HTTPS และบล็อก HTTP บนพอร์ตโดยพลการ

ธง in

เรากำลังใช้ RHEL และเราต้องเปิดพอร์ตที่ไม่มีสิทธิพิเศษและโดยพลการหนึ่งพอร์ต เช่น พอร์ต 12345 ให้กับผู้ใช้ทั่วไป ผู้ใช้ทั่วไปนี้จำเป็นต้องเรียกใช้บริการ HTTP ที่รับฟังพอร์ตนี้ และคอมพิวเตอร์ทุกเครื่องภายในเครือข่าย LAN สามารถเข้าถึงบริการได้ เมื่อพิจารณาถึงลักษณะของบริการที่ผู้ใช้ต้องการเรียกใช้ reverse proxy จึงไม่น่าจะทำงาน และบริการของผู้ใช้จะต้องรับฟังโดยตรงจากพอร์ตและให้บริการลูกค้า

เราต้องการบังคับให้ผู้ใช้รักษาความปลอดภัยบริการด้วยใบรับรอง SSL แต่ขณะนี้เราไม่มีวิธีที่ดีในด้านเทคนิค (ขณะนี้สิ่งที่เราทำคือคอยเตือนผู้ใช้ให้กำหนดค่า HTTPS ด้วยตัวเองอย่างเหมาะสม)

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

ฉันมักจะทำเช่นนี้กับพร็อกซีย้อนกลับ - บริการภายในฟังบน localhost เท่านั้นและโปรแกรมเซิร์ฟเวอร์ HTTP เฉพาะเช่น Apache ใช้เพื่อจัดการส่วน SSL วิธีนี้ใช้ไม่ได้ผลในเวลานี้เนื่องจากบริการเว็บค่อนข้างซับซ้อน (ฉันคิดว่าอาจใช้ได้กับกฎการเขียนซ้ำที่ซับซ้อนพอๆ กัน) ดังนั้นฉันจึงสงสัยว่ามีวิธีอื่นที่ง่ายกว่านี้หรือไม่

ขอบคุณ!

djdomi avatar
za flag
โปรดจัดหาอุปกรณ์ไฟร์วอลล์ที่ใช้แล้ว
Alex Kong avatar
in flag
คุณหมายถึงอะไรโดยอุปกรณ์ไฟร์วอลล์ @djdomi ? นี่คือเซิร์ฟเวอร์ RHEL แบบสแตนด์อโลน หากคุณหมายถึงโปรแกรมไฟร์วอลล์ ขณะนี้เรากำลังใช้ไฟร์วอลล์อยู่ แต่เราเปิดให้ใช้โปรแกรมอื่นหากจำเป็น
Alex avatar
us flag
หากผู้ใช้ใช้พอร์ตเหล่านี้ ฉันคิดว่าพวกเขาเริ่ม daemon บางตัวหรือเรียกใช้แอพ / สคริปต์บางตัวที่เริ่มต้นเว็บเซิร์ฟเวอร์จริง ๆ เป็นไปได้หรือไม่ที่จะเขียนสคริปต์นี้ใหม่ให้กับผู้ใช้ในลักษณะที่ยอมรับเฉพาะการเชื่อมต่อ HTTPS หรือถ้าสคริปต์กำหนดค่าเว็บเซิร์ฟเวอร์บางตัว (เช่น Apache) - อีกครั้ง คุณสามารถบล็อก HTTP ทั้งหมดหรือสร้างการเปลี่ยนเส้นทางไปยัง HTTPS ในระดับ Apache... จะเป็นไปได้ไหม โปรดแบ่งปันรายละเอียดเกี่ยวกับวิธีที่ผู้ใช้เปิดใช้เว็บเซิร์ฟเวอร์ บางทีชุมชนอาจแนะนำบางอย่าง
Alex Kong avatar
in flag
สวัสดี @Alex ปัญหาคือ ฉันไม่ต้องการที่จะถือว่าผู้ใช้ปฏิบัติตามมาตรฐานของเราเสมอ เนื่องจากเราเปิดพอร์ตให้พวกเขา จึงเป็นไปได้ที่พวกเขาข้ามสคริปต์ของฉันและใช้สคริปต์ของตนเอง (ซึ่งใช้ HTTP) . ดังนั้นสิ่งที่ฉันต้องการคือสิ่งที่คล้ายกับไฟร์วอลล์ที่สามารถแบนสิ่งนี้ได้ เกี่ยวกับการใช้ Apache สำหรับฉันแล้ว ดูเหมือนว่าการตั้งค่านี้จะค่อนข้างยาก สคริปต์ที่ผู้ใช้จะใช้มีการตั้งค่า redirect/port/relative url/etc ของตัวเอง คุณคิดว่ายังมีวิธีง่ายๆ ในการใช้ Apache หรือไม่?
Alex avatar
us flag
ไม่ หากผู้ใช้สามารถสร้างสคริปต์ของตนเองและเปลี่ยนการกำหนดค่า Apache ได้ แนวทางของฉันคงจะใช้ไม่ได้ ฉันเดาว่าฉันสันนิษฐานว่าผู้ใช้ทั้งหมดมีสคริปต์ทั่วไปหนึ่งตัวที่เรียกใช้ หรือพวกเขาทั้งหมดใช้ Apache กับไซต์เริ่มต้น ดังนั้นจึงสามารถหยุดทำงานในระดับระบบได้ หากทุกคนใช้ Apache อาจเป็นไปได้ (อาจไม่ใช่!) สร้างกฎการเขียนซ้ำโดยรวมสำหรับทุกไซต์ที่จะบังคับให้ HTTP เป็น HTTPS และเพิกถอนสิทธิ์การเขียนไปยังไฟล์กำหนดค่า Apache นั้น ตัวเลือกนี้ดูเหมือนจะสำรวจได้ง่ายกว่าเมื่อเทียบกับการตรวจสอบทราฟฟิกทั้งหมดและบล็อกทันที - นั่นเป็นงานสำหรับ WAF หรืออย่างน้อยก็ NGFW
Alex Kong avatar
in flag
สวัสดี @Alex บางทีฉันอาจไม่ได้อธิบายให้ชัดเจน "ผู้ใช้สามารถสร้างสคริปต์ของตนเอง" -> ถูกต้อง; "ผู้ใช้สามารถเปลี่ยนการกำหนดค่า Apache" -> ไม่ พวกเขาไม่สามารถเปลี่ยนการตั้งค่า Apache แต่ปัจจุบันไม่ได้ใช้ Apache ผู้ใช้เพียงใช้สคริปต์เพื่อฟังพอร์ตที่กำหนด เหตุผลที่ไม่ได้ใช้ Apache คือฉันไม่สามารถหาวิธีทำให้สคริปต์ทั้งหมดเข้ากันได้กับ reverse proxy ของ Apache...

โพสต์คำตอบ

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