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

เงื่อนไขข้อแรก: กฎเปลี่ยนฟิลด์ใด?

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

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

สองฟิลด์ สองคำถามที่ต่างกัน.

เงื่อนไขข้อที่สอง: อะไรกำลังฟังอยู่บนพอร์ตที่เก็บไว้?

หากกฎคงพอร์ตขาเข้าไว้ ทุกพอร์ตที่มาถึงจะถูกส่งไปยังหมายเลขเดียวกันบนโฮสต์ VPN ภายใต้นโยบายขาเข้าของโฮสต์นั้น. ซึ่งรวมถึงบริการที่คุณอาจลืมไปแล้วว่ากำลังฟังอยู่. กฎไม่ได้สร้างบริการเหล่านั้น และตอนนี้มันคือเส้นทางไปสู่บริการเหล่านั้น.

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

จัดทำบัญชีผู้รับฟังก่อนที่คุณจะเลือก.

เงื่อนไขข้อที่สาม: ทางเข้าภายนอกกว้างเพียงใด?

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

สำหรับทางเข้า VPN ทั่วไป ให้เผยแพร่การขนส่งและผู้รับฟังที่การออกแบบต้องการจริง ๆ. จากนั้นตรวจสอบอีกสามสิ่ง ได้แก่ การแมปที่มีผลของเราเตอร์ กฎขาเข้าของโฮสต์เป้าหมายเอง และผู้รับฟัง IPv6 เผยแพร่บริการเดียวกันหรือไม่. กฎที่ดูแคบในตระกูลที่อยู่หนึ่งอาจกว้างในอีกตระกูลหนึ่ง.

เขียนปลายทางที่แปลแล้วให้ครบถ้วน: โพรโทคอล พอร์ตภายนอก ที่อยู่ภายใน พอร์ตภายใน.

สิ่งที่ทั้งสองกฎไม่ได้ให้คุณ

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

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

การวิเคราะห์การเปิดเผยเป็นเรื่องของสิ่งที่เข้าถึงสิ่งใดได้ ไม่ใช่ป้ายบนหน้าจอ.

ตัดสินใจโดยมีปลายทางที่แปลแล้วอยู่ในมือ

เขียนผลลัพธ์ของกฎเป็นประโยค: พอร์ต UDP สาธารณะ X ไปถึงที่อยู่ Y พอร์ต Z. จากนั้นถามว่าบริการใดบน Y สามารถตอบบน Z ได้ และใครเป็นเจ้าของ.

nft list ruleset

หากคำตอบคือผู้รับฟังรายเดียวที่คุณตั้งใจ กฎก็ทำหน้าที่ของมัน.

หากคำตอบมีหลายราย แสดงว่าคุณเลือกการส่งต่อไปยังโฮสต์ทั้งหมด ไม่ว่าอินเทอร์เฟซจะเรียกเช่นนั้นหรือไม่.

บทความที่เกี่ยวข้อง