LocalSubnet ในกฎไฟร์วอลล์ SMB จะไม่ครอบคลุมไคลเอนต์ VPN
กฎอนุญาต LocalSubnet ครอบคลุมซับเน็ตของเซิร์ฟเวอร์เอง ไม่ใช่พูล VPN ที่กำหนดเส้นทาง เปรียบเทียบที่อยู่ต้นทางที่เซิร์ฟเวอร์เห็นก่อนขยายขอบเขต
เดสก์ท็อปในออฟฟิศเข้าถึงแชร์ได้ ผู้ใช้ VPN หมดเวลา และบัญชีเดียวกันใช้งานได้จากฮอตสปอตมือถือ สิทธิ์การแชร์ไม่ค่อยเป็นความต่าง ที่อยู่ที่มาถึงเซิร์ฟเวอร์ไฟล์มักเป็นความต่าง กฎที่จำกัดไว้ที่ LocalSubnet ยอมรับซับเน็ตที่เชื่อมต่อของเซิร์ฟเวอร์เอง และพูล VPN ที่กำหนดเส้นทางแยกไม่ได้เป็นหนึ่งในนั้น การออกแบบสองแบบปิดช่องว่างนี้ และทิ้งบันทึกที่แตกต่างกันมาก
สองการออกแบบ หนึ่งอาการ
การออกแบบแรกเพิ่มพูล VPN ลงในเงื่อนไขที่อยู่ระยะไกลของกฎ เซิร์ฟเวอร์จึงเห็นที่อยู่ทันเนลของไคลเอนต์แต่ละราย ดังนั้นบันทึกของเซิร์ฟเวอร์จึงแยกผู้ใช้ระยะไกลคนหนึ่งจากอีกคนได้ การออกแบบที่สองกำหนดเส้นทางทราฟฟิก VPN ผ่านเกตเวย์ที่แปลเป็นที่อยู่ LAN ก่อนเซิร์ฟเวอร์เห็น ซึ่งฟื้นการเชื่อมต่อและลบความแตกต่างในขั้นตอนเดียวกัน
ตารางอธิบายบทบาทไม่ใช่ที่อยู่ และคำนำหน้าของคุณเองเป็นตัวกำหนดว่าแถวใดใช้ได้ พิมพ์ค่าจริงของเซิร์ฟเวอร์แทนการคัดลอกตัวอย่างจากโพสต์บล็อก:
Get-NetIPAddress -AddressFamily IPv4 | Select-Object InterfaceAlias, IPAddress, PrefixLength
ตารางเป็นเครื่องช่วยตัดสินใจ ไม่ใช่ข้อกล่าวอ้างเกี่ยวกับทุกการติดตั้ง โฮสต์ที่มีอินเทอร์เฟซเพิ่มเติม ลิงก์ไซต์ที่สอง หรือมาสก์ต่างกันมีชุดภายในที่ต่างกัน
| Path the packet takes | Address the server records | Filter scope that admits it | What the log can still tell you |
|---|---|---|---|
| Desktop on the server LAN | Its own LAN address | LocalSubnet or the LAN prefix | Which workstation connected |
| Client on the routed VPN pool | Its tunnel address | The VPN pool as a remote address | Which VPN account connected, if the pool is logged |
| Client behind source NAT at the gateway | The gateway's LAN address | The gateway address | Only that some VPN user connected |
| Site-to-site gateway | The remote gateway's tunnel address | The remote site's prefix | Which site connected, not which user |
เอกสารอ้างอิง New-NetFirewallRule ของ Microsoft อธิบายเงื่อนไขที่อยู่ระยะไกลและคีย์เวิร์ด LocalSubnet อ่านก่อนตัดสินใจว่าคีย์เวิร์ดหมายถึงที่อยู่ส่วนตัวทั้งหมด เพราะไม่ใช่เช่นนั้น
เปรียบเทียบสิ่งที่เซิร์ฟเวอร์ได้รับจริง
อ่านกฎที่มีผลจริง ไม่ใช่กฎที่ใครบางคนจำได้ว่าสร้างขึ้น ตรวจสอบว่าเปิดใช้งาน ใช้กับโปรไฟล์ที่ใช้งานอยู่ และเงื่อนไขที่อยู่ระยะไกลตรงกับต้นทางที่เซิร์ฟเวอร์เห็น กฎที่เปิดใช้เฉพาะโปรไฟล์ Domain จะไม่ทำอะไรเมื่ออะแดปเตอร์ย้ายไป Public หลังการเปลี่ยนเครือข่าย
Get-NetFirewallRule -DisplayGroup 'File and Printer Sharing' | Get-NetFirewallAddressFilter
Get-NetFirewallProfile | Select-Object Name,Enabled,DefaultInboundAction
คำสั่งแรกพิมพ์ตัวกรองที่อยู่ที่ผูกกับกฎแชร์ไฟล์ และคำสั่งที่สองแสดงว่าโปรไฟล์ใดใช้งานอยู่และทราฟฟิกขาเข้าที่ไม่ตรงกันได้รับการจัดการอย่างไร มองหากฎบล็อกและนโยบายที่จัดการจากส่วนกลางด้วย กฎบล็อกมีลำดับก่อนกฎอนุญาต และนโยบายที่ปิดการรวมกฎภายในอาจทำให้ข้อยกเว้นภายในใหม่ไม่มีผล
นี่คือกรณีที่กฎดูถูกต้องในคอนโซลแต่ไม่มีผลกับทราฟฟิก ตรวจสอบการกำหนดโปรไฟล์ในเวลาเดียวกัน เพราะแล็ปท็อปที่เข้าร่วมเครือข่ายอื่นอาจย้ายไปโปรไฟล์ Public โดยไม่มีใครแตะไฟร์วอลล์
ทดสอบการรับส่งก่อนการเข้าสู่ระบบ
แยกการเข้าถึงออกจากการพิสูจน์ตัวตน ตัวรับฟังบน TCP 445 พิสูจน์ว่าบริการผูกกับพอร์ต แต่ไม่ได้พิสูจน์ว่าแพ็กเก็ตระยะไกลเข้าถึงได้ การเชื่อมต่อ TCP ที่เสร็จสมบูรณ์ยังไม่บอกอะไรเกี่ยวกับการตั้งเซสชัน SMB หรือสิทธิ์ของแชร์ ทดสอบแฮนด์เชกจากทั้งสองด้านก่อนแก้ไขกฎ
Test-NetConnection -ComputerName files.corp.example -Port 445
Test-NetConnection -ComputerName files.corp.example -Port 445 -InformationLevel Detailed
คำสั่งแรกแจ้งว่าแฮนด์เชก TCP สำเร็จจากเครื่องที่คุณเรียกใช้หรือไม่ และคำสั่งที่สองเพิ่มที่อยู่ที่แก้ไขแล้วและรายละเอียดอินเทอร์เฟซ เรียกใช้จากไคลเอนต์ VPN และจากเดสก์ท็อปในออฟฟิศ แล้วเปรียบเทียบ Ping ไม่ตอบคำถามทั้งสอง เพราะ ICMP อาจถูกบล็อกในขณะที่ SMB เปิดอยู่ หรือได้รับอนุญาตในขณะที่ไฟร์วอลล์ทิ้ง 445
หากแฮนด์เชกล้มเหลวเฉพาะจาก VPN ขอบเขตต้นทางเป็นผู้ต้องสงสัยหลัก หากสำเร็จแต่แชร์ยังปฏิเสธคุณ ไปที่การวินิจฉัยเซสชันและสิทธิ์ของ SMB แทนการแก้ไขกฎไฟร์วอลล์
เมื่อ NAT ต้นทางลบความแตกต่าง
เมื่อมีการแปลที่อยู่บนเส้นทาง เซิร์ฟเวอร์ไม่สามารถแยกไคลเอนต์ VPN แต่ละรายด้วยที่อยู่ ผู้ใช้ระยะไกลทุกรายมาถึงในนามของเกตเวย์ การอนุญาตใดที่ขึ้นกับการแยกแยะพวกเขาต้องบังคับใช้ในที่ที่ตัวตนของพวกเขายังมองเห็นได้ ซึ่งมักหมายถึงคอนเซนเทรเตอร์ VPN หรือพร็อกซีที่พิสูจน์ตัวตน กฎไฟร์วอลล์ยอมรับทราฟฟิกได้ แต่ไม่สามารถคืนความแตกต่างที่การแปลลบไปแล้ว
เมื่ออนุญาตที่อยู่เกตเวย์นั้นแล้ว ผู้ใช้ระยะไกลทุกรายจะถูกบันทึกภายใต้ที่อยู่เดียว กฎจึงให้พูลทั้งหมดแก่ใครก็ตามที่เข้าถึงเกตเวย์ได้ หากการตัดสินใจรายผู้ใช้สำคัญ ให้คงที่อยู่เดิมให้มองเห็นหรือย้ายการตัดสินใจไปยังชั้นที่ยังรู้จักผู้ใช้ มิฉะนั้นผู้ใช้ระยะไกลทุกรายจะสืบทอดสิทธิ์ของที่อยู่เดียวที่เซิร์ฟเวอร์เห็น และร่องรอยการตรวจสอบจะแยกพวกเขาไม่ได้อีกต่อไป นี่คือการตัดสินใจด้านการออกแบบ ไม่ใช่รายละเอียดของไฟร์วอลล์
เลือกอย่างตั้งใจระหว่างสองการออกแบบ จำกัดกฎให้กับพูล VPN จริงเมื่อเซิร์ฟเวอร์ต้องเห็นว่าใครเชื่อมต่อ และยอมรับเส้นทางที่แปลแล้วเฉพาะเมื่อเซิร์ฟเวอร์ไม่ต้องการข้อมูลนั้นจริง ๆ บันทึกช่วงต้นทางที่เลือกไว้ข้างกฎ เพราะคนถัดไปที่แก้ปัญหานี้จะดูตารางที่อยู่ก่อน