UFW: บล็อกทราฟฟิกทั้งหมดสำหรับพอร์ต 3306


1

ฉันจะบล็อกปริมาณการใช้งานทั้งหมดสำหรับพอร์ตเดียวได้อย่างไร ใช้สถานการณ์ต่อไปนี้:

  • 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 ในไฟร์วอลล์อาจทำงานได้


นี่คือผลลัพธ์ของสถานะ ufw ที่เครื่องเซิร์ฟเวอร์ใดที่ลูกค้าต้องการ
MariusMatutiae

VM desktop ของ Ubuntu เป็นเซิร์ฟเวอร์ สำหรับการทดสอบและการพัฒนาการใช้ฟังก์ชั่นเดสก์ท็อปนั้นมีประโยชน์มากกว่า VM ทำหน้าที่เป็นเว็บเซิร์ฟเวอร์สำหรับเครื่องอื่น ๆ ในเครือข่ายเดียวกันเช่นโฮสต์ ดังนั้นเอาต์พุต UFW ที่คุณเห็นที่นี่มาจากเซิร์ฟเวอร์ / เดสก์ท็อป
SPRBRN

เปลี่ยนไฟล์กำหนดค่า mysql ของคุณเพื่อยอมรับการเชื่อมต่อจาก localhost เท่านั้น
Renju Chandran chingath

1
มันดูเหมือนว่าฉันว่าคุณจะต้องปฏิเสธหรือทั้งหมดปฏิเสธใน 3306.
harrymc

@ RenjuChandranchingath - ฉันอาจยังไม่ได้อธิบายอย่างถูกต้อง โลคัลไคลเอ็นต์ (บน VM เอง) ไม่ควรเชื่อมต่อกับเซิร์ฟเวอร์ mysql ภายนอก ฉันไม่สนใจ LAN แต่ควรบล็อก WAN หาก LAN ถูกบล็อกเช่นกันการรักษาง่ายขึ้นก็โอเค หากการอนุญาต LAN ทำได้ง่ายกว่าในขณะที่บล็อก WAN นั่นก็ใช้ได้เช่นกัน
SPRBRN

คำตอบ:


1

เนื่องจากเซิร์ฟเวอร์ Ubuntu กำลังเชื่อมต่อกับ Amazon การตั้งค่า DENY IN บนพอร์ต 3306 จะไม่หยุดการเชื่อมต่อนี้กับภายนอก

อย่างน้อยที่สุดคุณจะต้องปฏิเสธแพ็กเก็ต tcp และ udp ขาออกบนพอร์ต 3306:

sudo ufw deny out 3306

แต่แม้จะปลอดภัยกว่าก็คือการปฏิเสธแพ็กเก็ต tcp และ udp ทั้งหมดในพอร์ต 3306:

sudo ufw deny 3306

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