Konfigurera RPC så att vissa portar används och skydda dessa portar med hjälp av IPsec

Artikelöversättning Artikelöversättning
Artikel-id: 908472 - Visa produkter som artikeln gäller.
Visa alla | Dölj alla

Sammanfattning

I denna artikel beskrivs hur du konfigurerar RPC så att ett visst dynamiskt portintervall används och hur du skyddar portarna i intervallet med en IPsec-princip (Internet Protocol Security). I RPC används som standard portar i det tillfälliga intervallet (1 024?5 000) för tilldelning av portar till RPC-program som lyssnar på en TCP-slutpunkt. Detta gör att det kan vara svårt för nätverksadministratörer att begränsa åtkomst till portarna. I denna artikel beskrivs olika sätt att minska antalet tillgängliga portar för RPC-program och hur de kan skyddas med hjälp av en registerbaserad IPsec-princip.

Metoderna i artikeln innebär ändringar i hela systemet och kräver att datorn startas om. Därför bör de testas först i en avskild miljö så att eventuella problem med programkompatibilitet kan identifieras.

Mer Information

Begränsningen, flyttningen och minskningen av åtkomsten till RPC-portar kräver flera konfigurationsändringar.

Du ska börja med att minska intervallet för dynamiska RPC-portar till en omfattning som är enklare att blockera med en brandvägg eller IPsec-princip. I RPC tilldelas som standard portar i intervallet 1 024 till 5 000 för slutpunkter där ingen särskild port anges för lyssningen.

Obs! I denna artikel används portintervallet 5 001 till 5 021 för att undvika brist på portar och antalet portar som är tillgängliga för RPC-slutpunkter minskas från 3 976 till 20.

Sedan ska du skapa en IPsec-princip som begränsar åtkomsten till portintervallet så att ingen av värdarna i nätverket kan ansluta till portarna.

Till sist kan du uppdatera IPsec-principen så att endast vissa IP-adresser eller undernät kan ansluta till de blockerade RPC-portarna.

Börja med att hämta RPC-konfigurationsverktyget (RPCCfg.exe) och kopiera det till den arbetsstation eller server som ska konfigureras om. Verktyget finns att hämta på följande Microsoft-webbplats:
http://www.microsoft.com/downloads/details.aspx?FamilyID=0f9cde2f-8632-4da8-ae70-645e1ddaf369&DisplayLang=en
Hämta också IPsec-principverktyget (Ipsecpol.exe) som du behöver för att kunna skapa en IPsec-princip, och kopiera det till arbetsstationen eller servern som ska konfigureras om. Verktyget finns att hämta på följande Microsoft-webbplats:
http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=7D40460C-A069-412E-A015-A2AB904B7361
Obs! Använd Ipseccmd.exe om du behöver skapa en IPsec-princip för Microsoft Windows XP eller senare versioner av Windows-operativsystemet. Ipseccmd.exe ingår i supportverktygen för Windows XP. IPseccmd.exe har samma syntax och används på samma sätt som Ipsecpol.exe. Om du vill veta mer om supportverktygen för Windows XP klickar du på följande artikelnummer och läser artikeln i Microsoft Knowledge Base:
838079 Supportverktyg för Windows XP Service Pack 2

Flytta och minska det dynamiska RPC-portintervallet med hjälp av RPCCfg.exe

Gör så här för att flytta och minska det dynamiska RPC-portintervallet med hjälp av RPCCfg.exe:
  1. Kopiera RPCCfg.exe till servern som ska konfigureras.
  2. Skriv rpccfg.exe -pe 5001-5021 -d 0 på kommandoraden.
    Obs! Detta portintervall rekommenderas för RPC-slutpunkter eftersom portarna i intervallet sannolikt inte används i andra program. I RPC används som standard intervallet 1 024 till 5 000 för tilldelning av portar för slutpunkter. Portarna i intervallet tilldelas emellertid även dynamiskt för användning i Windows och för alla Windows-socketprogram, vilket gör att det kan uppstå brist på portar på servrar med stor belastning, t.ex. terminalservrar och servrar på mellannivå där många utgående anrop görs till fjärrsystem.

    När till exempel Internet Explorer kontaktar en webbserver på 80, lyssnar programmet efter svar från servern på en port i intervallet 1 024?5 000. Portar i detta intervall används även för svar på COM-servrar på mellannivå där utgående anrop görs till fjärrservrar. Du kan minska risken för att dessa portar används av andra program genom att flytta intervallet till 5 001.
    Det finns mer information om hur tillfälliga portar används i Windows på följande Microsoft-webbplatser.

Använda en IPsec- eller brandväggsprincip för att blockera åtkomst till de sårbara portarna på värden

I kommandona i nästa avsnitt representerar all text mellan procentteckenen (%) text i kommandot som måste anges av den person som skapar IPsec-principen. Till exempel ska "%IPSECTOOL%" ersättas med följande:
  • För Windows 2000 ska "%IPSECTOOL%" ersättas med "ipsecpol.exe."
  • För Windows XP och senare versioner av Windows ska "%IPSECTOOL%" ersättas med "ipseccmd.exe."
Om du vill veta mer om hur du använder IPsec för att blockera portar klickar du på artikelnumret nedan och läser artikeln i Microsoft Knowledge Base:
813878 Blockera vissa nätverksprotokoll och portar med hjälp av IPSec (Länken kan leda till en webbplats som är helt eller delvis på engelska)

Blockera åtkomst till RPC-slutpunktsmapparen för alla IP-adresser

Använd följande syntax för att blockera RPC-slutpunktsmapparen för alla IP-adresser.

Obs! Du ska använda Ipseccmd.exe för Windows XP och senare och Ipsecpol.exe för Windows 2000.
%IPSECTOOL% -w REG -p "Block RPC Ports" -r "Block Inbound TCP 135 Rule" -f *=0:135:TCP -n BLOCK
Obs! Skriv inte "%IPSECTOOL%" i detta kommando. "%IPSECTOOL%" motsvarar den del av kommandot som ska anpassas. Om du använder Windows 2000 ska du t ex skriva följande kommando i en katalog som innehåller Ipsecpol.exe om du vill blockera åtkomsten till TCP 135:
ipsecpol.exe -w REG -p "Block RPC Ports" -r "Block Inbound TCP 135 Rule" -f *=0:135:TCP -n BLOCK
Om du använder Windows XP eller senare ska du t ex skriva följande kommando i en katalog som innehåller Ipseccmd.exe om du vill blockera åtkomsten till TCP 135:
ipseccmd.exe -w REG -p "Block RPC Ports" -r "Block Inbound TCP 135 Rule" -f *=0:135:TCP -n BLOCK

Blockera åtkomst till det dynamiska RPC-portintervallet för alla IP-adresser

Använd följande syntax för att blockera det dynamiska RPC-portintervallet för alla IP-adresser.

Obs! Du ska använda Ipseccmd.exe för Windows XP och senare och Ipsecpol.exe för Windows 2000.
%IPSECTOOL% -w REG -p "Block RPC Ports" -r "Block Inbound TCP %PORT% Rule" -f *=0:%PORT%:TCP -n BLOCK
Obs! Skriv inte "%IPSECTOOL%" eller "%PORT%" i detta kommando. "%IPSECTOOL%" och "%PORT%" motsvarar de delar av kommandot som ska anpassas. Om du använder Windows 2000 ska du t ex skriva följande kommando om du vill blockera inkommande åtkomst till TCP 5001:
ipsecpol.exe -w REG -p "Block RPC Ports" -r "Block Inbound TCP 5001 Rule" -f *=0:5001:TCP -n BLOCK
Om du använder Windows XP eller senare ska du skriva följande kommando för att blockera inkommande åtkomst till TCP 5001:
ipseccmd.exe -w REG -p "Block RPC Ports" -r "Block Inbound TCP 5001 Rule" -f *=0:5001:TCP -n BLOCK
Upprepa kommandot för alla RPC-portar som måste blockeras genom att ändra portnumret. De portar som måste blockeras finns i intervallet 5001?5021.

Obs! Glöm inte att ändra portnumret i regelnamnet (växeln -r) och i filtret (växeln -f).

Valfritt: Ge åtkomst till RPC-slutpunktsmapparen för särskilda undernät om det behövs

Om du behöver ge särskilda undernät åtkomst till de begränsade RPC-portarna måste du ge undernäten åtkomst till RPC-slutpunktsmapparen som du tidigare blockerade. Använd följande kommando om du vill ge ett särskilt undernät åtkomst till RPC-slutpunktsmapparen:
%IPSECTOOL% -w REG -p "Block RPC Ports" -r "Allow Inbound TCP 135 from %SUBNET% Rule" -f %SUBNET%/%MASK%=0:135:TCP -n PASS
Obs! Följande gäller i detta kommando:
  • "%IPSECTOOL%" motsvarar kommandot som ska användas. Detta kommando är antingen "ipsecpol.exe" eller "ipseccmd.exe", beroende på vilket operativsystem du konfigurerar.
  • "%SUBNET%" motsvarar fjärrundernätet som ska få åtkomst, t ex 10.1.1.0.
  • "%MASK%" motsvarar nätmasken som ska användas, t ex 255.255.255.0.

    Följande kommando ger t ex åtkomst till TCP 135 för alla värdar i undernätet 10.1.1.0/255.255.255.0. Alla andra värdar nekas åtkomst med hjälp av blockeringsregeln som skapades tidigare.
    %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

Valfritt: Ge åtkomst till det nya dynamiska RPC-portintervallet för särskilda undernät om det behövs

Varje undernät som tidigare gavs åtkomst till RPC-slutpunktsmapparen bör även ges åtkomst till alla portar i det nya dynamiska RPC-portintervallet (5001?5021).

Program kan sluta svara eller så kan det uppstå andra problem om du bara beviljar åtkomst till RPC-slutpunktsmapparen och inte till portintervallet.

Följande kommando ger ett särskilt undernät åtkomst till en port i det nya dynamiska RPC-portintervallet:
%IPSECTOOL% -w REG -p "Block RPC Ports" -r "Allow Inbound TCP %PORT% from %SUBNET% Rule" -f %SUBNET%/%MASK%=0:%PORT%:TCP -n PASS
Obs! Följande gäller i detta kommando:
  • "%IPSECTOOL%" motsvarar kommandot som ska användas. Detta kommando är antingen "ipsecpol.exe" eller "ipseccmd.exe", beroende på vilket operativsystem du konfigurerar.
  • "%PORT%" motsvarar den port i intervallet som ska öppnas.
  • "%SUBNET%" motsvarar fjärrundernätet som ska få åtkomst, t ex 10.1.1.0.
  • " %MASK%" motsvarar nätmasken som ska användas, t ex 255.255.255.0.

    Följande kommande ger t ex åtkomst till TCP 5001 för alla värdar i undernätet 10.1.1.0/255.255.255.0. Alla andra värdar nekas åtkomst med hjälp av blockeringsregeln som skapades tidigare.
    %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
Obs! Du ska upprepa detta kommando för alla undernät och portar i det nya intervallet.

Tilldela IPsec-principen

Obs! Ändringarna genomförs omedelbart med alla kommandon i detta avsnitt.

När du har skapat alla blockeringsregler och valfria regler för öppning av portar ska du tilldela principen med följande kommando:
%IPSECTOOL% -w REG -p "Block RPC Ports" ?x
Obs! Använd följande kommando om du vill inaktivera principen direkt:
%IPSECTOOL% -w REG -p "Block RPC Ports" ?x
Obs! Använd följande kommando om du vill ta bort principen ur registret:
%IPSECTOOL% -w REG -p "Block RPC Ports" -o
Du måste starta om värden för att ändringarna ska börja gälla.

Obs!
  • Ändringarna i RPC-konfigurationen kräver omstart av datorn.
  • Ändringarna i IPsec-principen börjar gälla omedelbart och kräver ingen omstart.
När arbetsstationen eller servern startar om, tilldelas alla RPC-gränssnitt där protokollsekvensen ncacn_ip_tcp används och som inte har någon särskild TCP-port för bindning, en port i detta intervall av RPC-körtidsbiblioteket när RPC-servern startas.

Obs! Det kan krävas fler än 20 TCP-portar på servern. Du kan använda kommandot rpcdump.exe för att räkna antalet RPC-slutpunkter som är bundna till en TCP-port och för att öka antalet om så krävs. Mer information om hur du hämtar RPC Dump-verktyget finns på följande Microsoft-webbplats:
http://www.microsoft.com/downloads/details.aspx?displaylang=en&familyid=9d467a69-57ff-4ae7-96ee-b18c4790cffd

Egenskaper

Artikel-id: 908472 - Senaste granskning: den 6 november 2009 - Revision: 6.0
Informationen i denna artikel gäller:
  • Microsoft Windows Server 2003 Service Pack 1 på följande plattformar
    • Microsoft Windows Server 2003 Datacenter Edition
    • Microsoft Windows Server 2003 Enterprise Edition
    • Microsoft Windows Server 2003 Standard Edition
    • Microsoft Windows Server 2003 Web Edition
  • Microsoft Windows 2000 Server SP4 på följande plattformar
    • Microsoft Windows 2000 Professional Edition
    • Microsoft Windows 2000 Server
  • Microsoft Windows XP Home Edition SP2
  • Microsoft Windows XP Media Center Edition 2005
  • Microsoft Windows XP Professional SP2
  • Microsoft Windows XP Tablet PC Edition 2005
Nyckelord: 
kbinfo KB908472

Ge feedback

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com