ฉันจะบล็อกปริมาณการใช้งานทั้งหมดสำหรับพอร์ตเดียวได้อย่างไร ใช้สถานการณ์ต่อไปนี้:
- Ubuntu Desktop VM
- เบราว์เซอร์สามารถเข้าถึงอินเทอร์เน็ต (พอร์ต 80 เปิดอยู่)
- บริการอัปเดตของ Ubuntu ทำงานได้ตามปกติ (อาจไม่ถูกบล็อก)
- ติดตั้งไคลเอนต์กราฟิก MySQL
ในการตั้งค่าปกติไคลเอนต์ MySQL สามารถเชื่อมต่อกับเซิร์ฟเวอร์ mysql ที่โฮสต์เช่นเดียวกับ Amazon EC2 เพราะอนุญาตการรับส่งข้อมูลขาออก
ฉันมีการตั้งค่าต่อไปนี้แล้ว ฉันคิดว่าสิ่งนี้จะบล็อก 3306 แต่ฉันยังสามารถเชื่อมต่อกับ Amazon โดยใช้ไคลเอนต์ MySQL ได้ ฉันรีสตาร์ทเพื่อให้แน่ใจว่ากฎทั้งหมดถูกนำไปใช้
เพื่อดำเนินการจาก - ------ ---- [1] 22 ยอมแพ้ทุกที่ [2] 80 ให้ทุกที่ [3] 5900 ให้ทุกที่ [4] ทุกที่ปฏิเสธใน 3306 [5] 3306 ปฏิเสธทุกที่ [6] 22 ให้ทุกที่ (v6) [7] 80 ให้ทุกที่ (v6) [8] 5900 ให้ทุกที่ (v6) [9] ทุกที่ (v6) ปฏิเสธใน 3306 [10] 3306 ปฏิเสธทุกที่ (v6)
มีคำอธิบายเพิ่มเติม ...
ฉันใช้ VM เพื่อทดสอบเว็บแอปพลิเคชันที่มีอยู่ ฉันทำสำเนาของสภาพแวดล้อมแบบสดคืนค่านั้นใน VM แอปพลิเคชั่นออนไลน์โฮสต์กับ Amazon EC2 เซิร์ฟเวอร์ฐานข้อมูลสำหรับแอปพลิเคชันสดไม่ใช่โลคัลโฮสต์ แต่เป็นเซิร์ฟเวอร์อื่น ด้วย Amazon คุณสามารถใช้ที่อยู่สาธารณะสำหรับสตริงการเชื่อมต่อ12.34.56.78.eu-west-1.compute.amazonaws.com
ได้ ภายในจะจับสิ่งนี้และใช้ที่อยู่ IP ภายใน นี่เป็นข้อได้เปรียบที่เมื่ออินสแตนซ์ขัดข้องและคุณจำเป็นต้องสร้างอินสแตนซ์อื่นด้วยที่อยู่ IP ภายในอื่นสตริงการเชื่อมต่อไม่จำเป็นต้องเปลี่ยน
ที่อยู่นี้ใช้งานได้จากนอก AWS ดังนั้นจึงทำงานได้จาก VM ของฉัน ฉันสามารถเชื่อมต่อจาก VM ของฉันไปยังฐานข้อมูลการผลิตได้ ฉันรู้แล้วและรู้ว่าฉันควรแก้ไขสตริงการเชื่อมต่อ บางครั้งฉันลืมมันแล้วใช้ฐานข้อมูลการผลิต ฉันชอบที่จะได้รับข้อความแสดงข้อผิดพลาดใหญ่น่าเกลียดจากสภาพแวดล้อมการทดสอบของฉันบอกฉันว่าการเชื่อมต่อฐานข้อมูลล้มเหลว (หากลูกค้าอื่นในเครือข่ายท้องถิ่นต้องการเชื่อมต่อกับเซิร์ฟเวอร์ mysql ใน VM นั่นไม่ใช่ปัญหาจริงๆ)
ดังนั้นฉันจะทำงานนี้ได้อย่างไร ฉันคิดว่าการบล็อกพอร์ต 3306 ในไฟร์วอลล์อาจทำงานได้