สรุป

บทความนี้อธิบายวิธีกำหนดค่า RPC จะใช้ช่วงพอร์ตแบบไดนามิกและวิธีการรักษาความปลอดภัยพอร์ตในช่วงนั้น โดยการใช้นโยบายการรักษาความปลอดภัย (IPsec) Internet Protocol โดยค่าเริ่มต้น RPC ใช้พอร์ตในช่วงพอร์ตข้อมูลแบบชั่วคราว (1024-5000) เมื่อกำหนดพอร์ตให้โปรแกรมประยุกต์ RPC ที่มีการรับฟังบน TCP ปลายทาง ลักษณะการทำงานนี้สามารถทำการจำกัดการเข้าถึงพอร์ตเหล่านี้เรื่องที่ท้าทายสำหรับผู้ดูแลระบบเครือข่าย บทความนี้อธิบายวิธีการลดจำนวนของพอร์ตที่พร้อมใช้งานสำหรับโปรแกรมประยุกต์ RPC และวิธีการจำกัดการเข้าถึงพอร์ตเหล่านี้ โดยใช้รีจิสทรีโดยใช้นโยบาย IPsecเนื่องจากขั้นตอนในบทความนี้เกี่ยวข้องกับการเปลี่ยนแปลงทั้งคอมพิวเตอร์ที่ต้องการให้คอมพิวเตอร์เริ่มต้นใหม่ ขั้นตอนทั้งหมดเหล่านี้ควรดำเนินการแรกในสภาพแวดล้อม nonproduction เพื่อระบุปัญหาใด ๆ เข้าแอพลิเคชันที่อาจเกิดขึ้นเป็นผลลัพธ์ของการเปลี่ยนแปลงเหล่านี้

ข้อมูลเพิ่มเติม

มีการตั้งค่าคอนฟิกหลายงานที่ต้องดำเนินการเพื่อย้ายสำนักงาน ลด และจำกัดการเข้าถึงพอร์ต RPCก่อนอื่น ช่วงพอร์ตแบบไดนามิก RPC ควรจำกัดช่วงพอร์ตที่มีขนาดเล็กกว่า ง่ายกว่าที่สามารถบล็อกได้ง่ายขึ้น โดยการใช้ไฟร์วอลล์หรือนโยบาย IPsec โดยค่าเริ่มต้น RPC แบบไดนามิกจัดสรรพอร์ตในช่วงของ 1024 เพื่อ 5000 สำหรับปลายทางที่ไม่ได้ระบุพอร์ตที่จะฟังหมายเหตุบทความนี้ใช้ช่วงพอร์ต 5001 ถึง 5021 ซึ่งช่วยลดจำนวนของพอร์ตที่พร้อมใช้งานกับปลายทาง RPC จาก 3,976 ถึง 20 หมายเลขพอร์ตที่เลือกอย่า และไม่มีคำแนะนำสำหรับจำนวนของพอร์ตที่จำเป็นสำหรับระบบใด ๆ ก็ตามที่ระบุถัดไป นโยบาย IPsec ต้องสร้างเพื่อจำกัดการเข้าถึงช่วงพอร์ตนี้เพื่อปฏิเสธการเข้าถึงโฮสต์ทั้งหมดบนเครือข่ายในตอนท้าย นโยบาย IPsec สามารถปรับปรุงเพื่อให้การกำหนดที่อยู่ IP หรือเครือข่ายเข้า กับพอร์ต RPC ถูกบล็อค และ การแยกอื่น ๆ ทั้งหมดเมื่อต้องการเริ่มต้นงานของการตั้งค่าคอนฟิกช่วงพอร์ตแบบไดนามิก RPC ดาวน์โหลดเครื่องมือการตั้งค่าคอนฟิก RPC (RPCCfg.exe), และจากนั้น คัดลอก เพื่อเวิร์กสเตชัน หรือเซิร์ฟเวอร์ที่จะถูกกำหนดค่าใหม่ เมื่อต้องการทำเช่นนี้ แวะไปที่เว็บไซต์ต่อไปนี้ของ Microsoft:

http://www.microsoft.com/downloads/details.aspx?FamilyID=0f9cde2f-8632-4da8-ae70-645e1ddaf369&DisplayLang=enการดำเนินงานตามมาของการสร้างนโยบาย IPsec การ ดาวน์โหลดเครื่องมือนโยบายความปลอดภัยของโพรโทคอลอินเทอร์เน็ต (Ipsecpol.exe), และจากนั้น คัดลอกเวิร์กสเตชัน หรือเซิร์ฟเวอร์ที่จะถูกกำหนดค่าใหม่ เมื่อต้องการทำเช่นนี้ แวะไปที่เว็บไซต์ต่อไปนี้ของ Microsoft:

http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=7D40460C-A069-412E-A015-A2AB904B7361หมายเหตุ เมื่อต้องการสร้างนโยบาย IPsec การ สำหรับ Microsoft Windows XP หรือรุ่นที่ใหม่กว่าของระบบปฏิบัติการ Windows ใช้ Ipseccmd.exe Ipseccmd.exe เป็นส่วนหนึ่งของเครื่องมือสนับสนุน Windows XP ไวยากรณ์และการใช้งานของ IPseccmd.exe จะเหมือนกับไวยากรณ์และการใช้งานของ Ipsecpol.exe สำหรับข้อมูลเพิ่มเติมเกี่ยวกับเครื่องมือสนับสนุน Windows XP โปรดคลิกที่หมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:

838079 Windows XP Service Pack 2 เครื่องมือสนับสนุน

ย้ายสำนักงาน และลดช่วงพอร์ตแบบไดนามิก RPC โดยใช้ RPCCfg.exe

เมื่อต้องการย้าย และลดช่วงพอร์ตแบบไดนามิก RPC โดยใช้ RPCCfg.exe ให้ทำตามขั้นตอนเหล่านี้:

  1. คัดลอก RPCCfg.exe ไปยังเซิร์ฟเวอร์ที่มีการกำหนดค่า

  2. ที่พรอมต์คำสั่ง พิมพ์rpccfg.exe-5001-5021 - d 0 peหมายเหตุ ช่วงพอร์ตนี้ขอแนะนำให้ใช้ โดยปลายทาง RPC ได้เนื่องจากพอร์ตในช่วงนี้ไม่น่าจะมีการปันส่วนเพื่อใช้กับโปรแกรมประยุกต์อื่น โดยค่าเริ่มต้น RPC ใช้ช่วงพอร์ต 1024 เพื่อ 5000 สำหรับการปันส่วนพอร์ตสำหรับปลายทาง อย่างไรก็ตาม พอร์ตในช่วงนี้นอกจากนี้แบบไดนามิกปันส่วนสำหรับใช้ โดยระบบปฏิบัติการ Windows สำหรับ Windows ทั้งหมดโปรแกรมประยุกต์ sockets และสามารถหมดบนเซิร์ฟเวอร์ที่ใช้งานมากเช่นเทอร์มินัลเซิร์ฟเวอร์และเซิร์ฟเวอร์ระดับกลางที่ทำการโทรมากกับระบบระยะไกลตัวอย่างเช่น เมื่อ Internet Explorer ติดต่อเว็บเซิร์ฟเวอร์บนพอร์ต 80 นั้นฟังบนพอร์ตในช่วง 1024-5000 สำหรับการตอบสนองจากเซิร์ฟเวอร์ เซิร์ฟเวอร์ COM ระดับกลางที่ทำการโทรไปยังเซิร์ฟเวอร์ระยะไกลอื่นยังใช้พอร์ตในช่วงนี้สำหรับการตอบกลับไปที่โทรเข้ามา ย้ายช่วงของพอร์ตที่ RPC ใช้สำหรับปลายทางของการช่วงพอร์ 5001 จะลดความเสี่ยงที่พอร์ตเหล่านี้จะถูกใช้โดยโปรแกรมประยุกต์อื่นสำหรับข้อมูลเพิ่มเติมเกี่ยวกับการใช้งานพอร์ตข้อมูลแบบชั่วคราวในระบบปฏิบัติการ Windows แวะไปเว็บไซต์ของ Microsoft ต่อไปนี้

ใช้เป็นนโยบาย IPsec หรือไฟร์วอลล์เพื่อบล็อกการเข้าถึงพอร์ตที่มีช่องโหว่บนโฮสต์ได้รับผลกระทบ

ในคำสั่งในส่วนต่อไปนี้ ข้อความใด ๆ ที่ปรากฏอยู่ระหว่างเครื่องหมายเปอร์เซ็นต์ (%) มีวัตถุประสงค์เพื่อแสดงข้อความในคำสั่งที่ต้องถูกป้อน โดยผู้ใช้ที่เป็นผู้สร้างนโยบาย IPsec ตัวอย่างเช่น เมื่อใดก็ ตามที่ปรากฏข้อความ "% IPSECTOOL %" ผู้สร้างนโยบายควรทดแทนข้อความดังนี้:

  • สำหรับ Windows 2000 แทนที่ "% IPSECTOOL %" กับ "ipsecpol.exe"

  • สำหรับ Windows XP หรือรุ่นที่ใหม่กว่าของ Windows แทนที่ "% IPSECTOOL %" กับ "ipseccmd.exe"

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการใช้ IPsec เพื่อบล็อกพอร์ต คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:

วิธีการ813878การบล็อกรโทคอลเครือข่ายเฉพาะและพอร์ต โดยใช้ IPSec

บล็อกการเข้าถึงแบบตัวแมปจุดสิ้นสุด RPC สำหรับที่อยู่ IP ทั้งหมด

เมื่อต้องการบล็อกการเข้าถึงแบบตัวแมปจุดสิ้นสุด RPC สำหรับที่อยู่ IP ทั้งหมด ให้ใช้ไวยากรณ์ต่อไปนี้หมายเหตุ ใน Windows XP และ บนระบบปฏิบัติการรุ่นที่ใหม่กว่า ใช้ Ipseccmd.exe ใน Windows 2000 ใช้ Ipsecpol.exe (Windows 2000)

%IPSECTOOL% -w REG -p "Block RPC Ports" -r "Block Inbound TCP 135 Rule" -f *=0:135:TCP -n BLOCK

หมายเหตุ ไม่ต้องพิมพ์ "% IPSECTOOL %" ในคำสั่งนี้ "% IPSECTOOL %" มีวัตถุประสงค์เพื่อแสดงถึงส่วนของคำสั่งที่ต้องสามารถกำหนดเอง ตัวอย่างเช่น บน Windows 2000 พิมพ์คำสั่งต่อไปนี้จากไดเรกทอรีที่ประกอบด้วย Ipsecpol.exe เพื่อบล็อคเข้า TCP 135 ขาเข้าทั้งหมด:

ipsecpol.exe -w REG -p "Block RPC Ports" -r "Block Inbound TCP 135 Rule" -f *=0:135:TCP -n BLOCK

ใน Windows XP และ บนระบบปฏิบัติการรุ่นที่ใหม่กว่า พิมพ์คำสั่งต่อไปนี้จากไดเรกทอรีที่ประกอบด้วย Ipseccmd.exe เมื่อต้องการบล็อกทั้งหมดเข้าถึง TCP 135:

ipseccmd.exe -w REG -p "Block RPC Ports" -r "Block Inbound TCP 135 Rule" -f *=0:135:TCP -n BLOCK

บล็อกการเข้าถึงช่วงพอร์ตแบบไดนามิก RPC สำหรับที่อยู่ IP ทั้งหมด

เมื่อต้องการบล็อกการเข้าถึงช่วงพอร์ตแบบไดนามิก RPC สำหรับที่อยู่ IP ทั้งหมด ให้ใช้ไวยากรณ์ต่อไปนี้หมายเหตุ ใน Windows XP และ บนระบบปฏิบัติการรุ่นที่ใหม่กว่า ใช้ Ipseccmd.exe ใน Windows 2000 ใช้ Ipsecpol.exe (Windows 2000)

%IPSECTOOL% -w REG -p "Block RPC Ports" -r "Block Inbound TCP %PORT% Rule" -f *=0:%PORT%:TCP -n BLOCK

หมายเหตุ พิมพ์ "% IPSECTOOL %" หรือ "%พอร์ต%" ในคำสั่งนี้ "% IPSECTOOL %" และ "%%พอร์ต" ไว้เพื่อแสดงส่วนของคำสั่งที่ต้องมีการกำหนดเอง ตัวอย่างเช่น พิมพ์คำสั่งต่อไปนี้บนโฮสต์ Windows 2000 เมื่อต้องการบล็อกทั้งหมดเข้าถึง TCP 5001:

ipsecpol.exe -w REG -p "Block RPC Ports" -r "Block Inbound TCP 5001 Rule" -f *=0:5001:TCP -n BLOCK

เมื่อต้องการบล็อกทั้งหมดเข้าถึง TCP 5001 พิมพ์คำสั่งต่อไปนี้ บนโฮสต์ของ Windows XP และ ในโฮสต์ของระบบปฏิบัติการ Windows รุ่นที่ใหม่กว่า:

ipseccmd.exe -w REG -p "Block RPC Ports" -r "Block Inbound TCP 5001 Rule" -f *=0:5001:TCP -n BLOCK

ทำซ้ำคำสั่งนี้สำหรับแต่ละพอร์ต RPC ที่ต้องถูกบล็อค โดยการเปลี่ยนหมายเลขพอร์ตที่จะแสดงในคำสั่งนี้ พอร์ตที่ต้องถูกบล็อคอยู่ในช่วง 5001-5021หมายเหตุ ลืมการเปลี่ยนหมายเลขพอร์ต ในชื่อกฎ (สวิตช์- r ) และ ในตัวกรอง (สวิตช์-f )

ตัวเลือก: ช่วยให้เข้าถึงตัวแมปจุดสิ้นสุด RPC ที่สำหรับเครือข่ายย่อยเฉพาะถ้าเข้าถึงจำเป็นต้องใช้

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

%IPSECTOOL% -w REG -p "Block RPC Ports" -r "Allow Inbound TCP 135 from %SUBNET% Rule" -f %SUBNET%/%MASK%=0:135:TCP -n PASS

หมายเหตุ ในคำสั่งนี้ ใช้ใบแจ้งยอดต่อไปนี้:

  • "% IPSECTOOL %" หมายถึงคำสั่งที่จะใช้ คำสั่งนี้จะเป็น "ipsecpol.exe" หรือ "ipseccmd.exe" ใช้คำสั่งใดขึ้นเมื่อระบบปฏิบัติการที่คุณกำลังตั้งค่าคอนฟิก

  • "%ซับเน็ต%" แสดงถึงระยะไกล IP เครือข่ายย่อยที่คุณต้องการให้ access เช่น 10.1.1.0

  • "%ตัวพราง%" หมายถึงซับเน็ตมาสก์การใช้ ตัวอย่างเช่น 255.255.255.0ตัวอย่างเช่น คำสั่งต่อไปนี้ช่วยให้โฮสต์ทั้งหมดจากเครือข่ายย่อย 10.1.1.0/255.255.255.0 เพื่อเชื่อมต่อกับพอร์ต TCP 135 โฮสต์อื่น ๆ ทั้งหมดจะมีการเชื่อมต่อถูกปฏิเสธ โดยกฎการบล็อกเริ่มต้นที่ถูกสร้างไว้ก่อนหน้านี้สำหรับพอร์ตนี้

    %IPSECTOOL% -w REG -p "Block RPC Ports" -r "Allow Inbound TCP Port 135 from 10.1.1.0 Rule" -f 10.1.1.0/255.255.255.0=0:135:TCP -n PASS

ตัวเลือก: ช่วยให้เข้าถึงช่วงพอร์ตแบบไดนามิก RPC ใหม่สำหรับเครือข่ายย่อยเฉพาะถ้าเข้าถึงจำเป็นต้องใช้

แต่ละซับเน็ตที่ให้เข้าไปที่ตัวแมปจุดสิ้นสุด RPC ก่อนหน้านี้ ควรยังสามารถให้เข้าถึงพอร์ตในช่วงพอร์ตแบบไดนามิก RPC (5001 5021) ใหม่ทั้งหมดถ้าคุณเปิดใช้งานเครือข่ายย่อยไปถึงตัวแมปจุดสิ้นสุด RPC ที่แต่ช่วงพอร์ตแบบไดนามิกไม่ แอพลิเคชันอาจหยุดการตอบสนอง หรือคุณอาจประสบปัญหาอื่น ๆคำสั่งต่อไปนี้ให้สิทธิ์การเข้าถึงเครือข่ายย่อยเฉพาะพอร์ตในช่วงพอร์ตแบบไดนามิก RPC ใหม่:

%IPSECTOOL% -w REG -p "Block RPC Ports" -r "Allow Inbound TCP %PORT% from %SUBNET% Rule" -f %SUBNET%/%MASK%=0:%PORT%:TCP -n PASS

หมายเหตุ ในคำสั่งนี้ ใช้ใบแจ้งยอดต่อไปนี้:

  • "% IPSECTOOL %" หมายถึงคำสั่งที่จะใช้ คำสั่งนี้จะเป็น "ipsecpol.exe" หรือ "ipseccmd.exe" ใช้คำสั่งใดขึ้นเมื่อระบบปฏิบัติการที่คุณกำลังตั้งค่าคอนฟิก

  • "%พอร์ต"%"หมายถึงพอร์ตในช่วงพอร์ตแบบไดนามิกที่ต้องการให้สิทธิ์เข้าใช้

  • "%ซับเน็ต%" แสดงถึงระยะไกล IP เครือข่ายย่อยที่คุณต้องการให้ access เช่น 10.1.1.0

  • "%ตัวพราง%" หมายถึงซับเน็ตมาสก์การใช้ ตัวอย่างเช่น 255.255.255.0ตัวอย่างเช่น คำสั่งต่อไปนี้ช่วยให้โฮสต์ทั้งหมดจากเครือข่ายย่อย 10.1.1.0/255.255.255.0 เพื่อเชื่อมต่อกับพอร์ต TCP 5001 โฮสต์อื่น ๆ ทั้งหมดจะมีการเชื่อมต่อถูกปฏิเสธ โดยกฎการบล็อกเริ่มต้นที่ถูกสร้างไว้ก่อนหน้านี้สำหรับพอร์ตนี้

    %IPSECTOOL% -w REG -p "Block RPC Ports" -r "Allow Inbound TCP Port 5001 from 10.1.1.0 Rule" -f 10.1.1.0/255.255.255.0=0:5001:TCP -n PASS

หมายเหตุ คำสั่งนี้ควรถูกทำซ้ำสำหรับแต่ละเครือข่ายย่อยและพอร์ตในช่วงพอร์ตแบบไดนามิก RPC ใหม่

กำหนดนโยบาย IPsec

หมายเหตุ คำสั่งในส่วนนี้จะมีผลทันทีหลังจากที่คุณสร้างกฎการบล็อกทั้งหมด และทั้งหมดที่ไม่จำเป็นอนุญาตให้กฎสำหรับ RPC ถูกกำหนดค่าพอร์ต กำหนดนโยบาย โดยใช้คำสั่งต่อไปนี้:

%IPSECTOOL% -w REG -p "Block RPC Ports" –x

หมายเหตุ เมื่อต้องการทันทียกเลิกกำหนดนโยบาย ใช้คำสั่งต่อไปนี้:

%IPSECTOOL% -w REG -p "Block RPC Ports" –y

หมายเหตุ เมื่อต้องการลบนโยบายจากรีจิสทรี ใช้คำสั่งต่อไปนี้:

%IPSECTOOL% -w REG -p "Block RPC Ports" -o

คุณต้องรีสตาร์โฮสต์สำหรับการเปลี่ยนแปลงมีผลบังคับใช้หมายเหตุ

  • เปลี่ยนแปลงการตั้งค่าคอนฟิก RPC จำเป็นต้องเริ่มการทำงาน

  • การเปลี่ยนแปลงนโยบาย IPsec มีผลทันที และไม่จำเป็นต้องเริ่มการทำงาน

หลังจากรีสตาร์ตเครื่องเวิร์กสเตชันหรือเซิร์ฟเวอร์ อินเทอร์เฟซใด ๆ RPC ที่ใช้ลำดับการโพรโทคอล ncacn_ip_tcp และไม่ได้ระบุพอร์ต TCP กำหนดที่จะผูก จะมีการปันส่วนจากช่วงนี้ โดยรันไทม์ RPC เมื่อเริ่มทำงานเซิร์ฟเวอร์ RPC พอร์ตหมายเหตุ เซิร์ฟเวอร์อาจจำเป็นต้องใช้พอร์ต TCP มากกว่า 20 คุณสามารถใช้คำสั่งrpcdump.exeเพื่อนับจำนวนปลายทาง RPC ที่ถูกผูกไว้กับพอร์ต TCP และเพิ่มหมายเลขนี้ถ้าคุณต้องการ สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการขอรับเครื่องมือการถ่ายโอนข้อมูล RPC แวะไปที่เว็บไซต์ต่อไปนี้ของ Microsoft:

http://www.microsoft.com/downloads/details.aspx?displaylang=en&familyid=9d467a69-57ff-4ae7-96ee-b18c4790cffd

ต้องการความช่วยเหลือเพิ่มเติมหรือไม่

ต้องการตัวเลือกเพิ่มเติมหรือไม่

สํารวจสิทธิประโยชน์ของการสมัครใช้งาน เรียกดูหลักสูตรการฝึกอบรม เรียนรู้วิธีการรักษาความปลอดภัยอุปกรณ์ของคุณ และอื่นๆ