Jak skonfigurować wywoływanie RPC w taki sposób, aby używało pewnych portów i jak ułatwić zabezpieczanie tych portów za pomocą zasad IPsec

Tłumaczenia artykułów Tłumaczenia artykułów
Numer ID artykułu: 908472 - Zobacz jakich produktów dotyczą zawarte w tym artykule porady.
Rozwiń wszystko | Zwiń wszystko

Streszczenie

W tym artykule opisano, jak skonfigurować wywołanie RPC do używania określonego zakresu portów dynamicznych i jak zabezpieczyć porty z tego zakresu za pomocą zasad IPsec (Internet Protocol security). Domyślnie wywołanie RPC używa portów z zakresu portów do jednorazowego użytku (1024-5000) podczas przypisywania portów do aplikacji RPC w celu nasłuchiwania w punkcie końcowym TCP. Takie zachowanie może ograniczyć dostęp do tych portów, co może być kłopotliwe dla administratorów sieci. W tym artykule omówiono sposoby ograniczania liczby portów dostępnych dla aplikacji RPC oraz ograniczania dostępu do tych portów za pomocą opartych na rejestrze zasad IPsec.

Ponieważ kroki przedstawione w tym artykule wiążą się z wprowadzeniem zmian dotyczących całego komputera i wymagających jego ponownego uruchomienia, wszystkie te kroki powinny być wykonywane w środowiskach nieprodukcyjnych, aby zlokalizować wszelkie problemy ze zgodnością aplikacji mogące wystąpić w wyniku tych zmian.

Więcej informacji

Należy wykonać wiele zadań konfiguracyjnych, aby przenieść, zredukować i ograniczyć dostęp do portów wywołań RPC.

Po pierwsze należy ograniczyć zakres dynamicznych portów wywołań RPC do mniejszego, dającego się łatwiej zarządzać zakresu portów i który łatwiej blokować za pomocą zapory sieciowej lub zasad IPsec. Domyślnie wywołanie RPC dynamicznie przydziela porty z zakresu od 1024 do 5000 na punkty końcowe, które nie określają portu, na którym ma być prowadzone nasłuchiwanie.

Uwaga: W tym artykule są używane porty z zakresu 5001 do 5021 w celu uniknięcia wyczerpania portów do użytku jednorazowego i w celu ograniczenia liczby portów dostępnych dla punktów końcowych wywołań RPC z 3976 do 20.

Następnie trzeba utworzyć zasady IPsec w celu ograniczenia dostępu do tego zakresu portów, aby odmówić dostępu do wszystkich hostów w sieci.

Następnie można zaktualizować zasady IPsec w taki sposób, aby przydzielić pewnym adresom IP lub podsieciom dostęp do zablokowanych portów wywołań RPC i wykluczyć pozostałe.

Aby rozpocząć realizację zadania ponownej konfiguracji zakresu dynamicznych portów wywołań RPC, należy pobrać narzędzie RPC Configuration Tool (RPCCfg.exe), a następnie skopiować je na stację roboczą (lub na serwer), którą należy ponownie skonfigurować. W tym celu odwiedź następującą witrynę firmy Microsoft w sieci Web:
http://www.microsoft.com/downloads/details.aspx?FamilyID=0f9cde2f-8632-4da8-ae70-645e1ddaf369&DisplayLang=en
Aby wykonać kolejne zadania dotyczące tworzenia zasad IPsec, należy pobrać narzędzie zasad zabezpieczeń protokołu internetowego (Internet Protocol Security Policies Tool, Ipsecpol.exe), a następnie skopiować je na komputer stacji roboczej lub serwera, który będzie konfigurowany. W tym celu odwiedź następującą witrynę firmy Microsoft w sieci Web:
http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=7D40460C-A069-412E-A015-A2AB904B7361
Uwaga Do utworzenia zasad IPsec dla systemu Microsoft Windows XP lub nowszej wersji systemu operacyjnego Windows należy użyć narzędzia Ipseccmd.exe. Narzędzie Ipseccmd.exe należy do zestawu narzędzi obsługi systemu Windows XP. Składnia i korzystanie z programu IPseccmd.exe są takie same jak programu Ipsecpol.exe. Aby uzyskać więcej informacji dotyczących narzędzi obsługi dla systemu Windows, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
838079 Narzędzia obsługi dodatku Service Pack 2 dla systemu Windows XP

Zmienianie i ograniczanie zakresu portów dynamicznych wywołania RPC za pomocą narzędzia RPCCfg.exe

Aby zmienić i ograniczyć zakres portów dynamicznych wywołania RPC za pomocą narzędzia RPCCfg.exe, wykonaj następujące czynności:
  1. Skopiuj program RPCCfg.exe na serwer, który ma być skonfigurowany
  2. W wierszu polecenia wpisz rpccfg.exe -pe 5001-5021 -d 0.
    Uwaga: Ten zakres portów jest zalecany do użytku przez punkty końcowe RPC, ponieważ nie jest prawdopodobne, że porty z tego zakresu będą przydzielone innym aplikacjom. Domyślnie wywołanie RPC korzysta z zakresu portów od 1024 do 5000 do przydzielania portów punktom końcowym. Jednak porty w tym zakresie są także dynamicznie przydzielane przez system operacyjny do użytku przez wszystkie aplikacje Windows sockets i mogą się wyczerpać na intensywnie używanych serwerach, takich jak serwery terminali czy serwery średniej klasy, które realizują wychodzące wywołania zdalnych systemów.

    Na przykład, gdy program Internet Explorer kontaktuje się z serwerem sieci Web za pośrednictwem portu 80, to nasłuchuje odpowiedzi od serwer na porcie z zakresu 1024-5000. Średniej klasy serwer COM realizujący wywołania innych systemów zdalnych również korzysta z portu z tego zakresu do nasłuchiwania przychodzących odpowiedzi na wywołanie. Przeniesienie zakresu portów używanych przez wywołanie RPC dla punktów końcowych do zakresu portów 5001 zredukuje prawdopodobieństwo, że te porty będą używane przez inne aplikacje.
    Aby uzyskać więcej informacji na temat używania przez system operacyjny Windows portów jednorazowego użytku, odwiedź następujące witryny firmy Microsoft w sieci Web.

Blokowanie dostępu do zagrożonych portów na zagrożonym hoście za pomocą zasad IPsec lub zasad zapory

W poleceniach przedstawionych w poniższej sekcji ciągi tekstowe ujęte w znaki procentu (%) reprezentują części poleceń, które muszą zostać wprowadzone przez osobę tworzącą zasady IPsec. Na przykład za każdym razem, gdy pojawia się tekst „%IPSECTOOL%”, osoba tworząca zasady powinna dokonać następującego podstawienia:
  • W przypadku systemu Windows 2000 należy zastąpić „%IPSECTOOL%” tekstem „ipsecpol.exe”.
  • W przypadku systemu Windows XP lub nowszej wersji systemu Windows należy zastąpić „%IPSECTOOL%” tekstem „ipseccmd.exe”.
Aby uzyskać więcej informacji dotyczących używania zasad IPSec do blokowania portów, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
813878 Jak blokować wybrane protokoły i porty sieciowe za pomocą protokołu IPSec

Blokowanie wszystkim adresom IP dostępu do programu mapowania punktów końcowych wywołań RPC

Aby zablokować wszystkim adresom IP dostęp do programu mapowania punktów końcowych wywołań RPC, należy użyć poniższej składni.

Uwaga W systemie Windows XP i w nowszych systemach operacyjnych należy użyć narzędzia Ipseccmd.exe. W systemie Windows 2000 należy użyć narzędzia Ipsecpol.exe (Windows 2000).
%IPSECTOOL% -w REG -p "Block RPC Ports" -r "Block Inbound TCP 135 Rule" -f *=0:135:TCP -n BLOCK
Uwaga W tym poleceniu nie należy wpisywać tekstu „%IPSECTOOL%”. Tekst "%IPSECTOOL%" reprezentuje część polecenia, którą trzeba dostosować. Na przykład w systemie Windows 2000 wpisz następujące polecenie z katalogu zawierającego program Ipsecpol.exe, aby zablokować wszystkie przychodzące wywołania portu TCP 135:
ipsecpol.exe -w REG -p "Block RPC Ports" -r "Block Inbound TCP 135 Rule" -f *=0:135:TCP -n BLOCK
W systemie Windows XP i w nowszych systemach operacyjnych należy wpisać następujące polecenie z poziomu katalogu zawierającego program Ipseccmd.exe, aby zablokować wszystkie przychodzące żądania dostępu do portu 135 protokołu TCP:
ipseccmd.exe -w REG -p "Block RPC Ports" -r "Block Inbound TCP 135 Rule" -f *=0:135:TCP -n BLOCK

Blokowanie wszystkim adresom IP dostępu do zakresu portów dynamicznych wywołania RPC

Aby zablokować wszystkim adresom IP dostęp do zakresu portów dynamicznych wywołania RPC, należy użyć poniższej składni.

Uwaga W systemie Windows XP i w nowszych systemach operacyjnych należy użyć narzędzia Ipseccmd.exe. W systemie Windows 2000 należy użyć narzędzia Ipsecpol.exe (Windows 2000).
%IPSECTOOL% -w REG -p "Block RPC Ports" -r "Block Inbound TCP %PORT% Rule" -f *=0:%PORT%:TCP -n BLOCK
Uwaga W tym poleceniu nie należy wpisywać tekstu „%IPSECTOOL%” ani „%PORT%”. Teksty "%IPSECTOOL%" oraz „%PORT%” reprezentują część polecenia, którą trzeba dostosować. Na przykład na hoście z systemem Windows 2000 wpisz następujące polecenie, aby zablokować wszystkie przychodzące wywołania portu TCP 5001:
ipseccmd.exe -w REG -p "Block RPC Ports" -r "Block Inbound TCP 5001 Rule" -f *=0:5001:TCP -n BLOCK
Aby zablokować wszystkie przychodzące żądania dostępu do portu 5001 protokołu TCP, należy wpisać poniższe polecenie na hoście z systemem Windows XP lub z nowszym systemem operacyjnym Windows:
ipseccmd.exe -w REG -p "Block RPC Ports" -r "Block Inbound TCP 5001 Rule" -f *=0:5001:TCP -n BLOCK
Powtórz tę procedurę dla każdego portu RPC, który musi być zablokowany, zmieniając numer portu wymieniony w tym poleceniu. Porty, które muszą być zablokowane, znajdują się w zakresie 5001-5021.

Uwaga Należy pamiętać o konieczności zmiany numeru portu w nazwie reguły (przełącznik -r) i w filtrze (przełącznik -f).

Opcjonalne. Przydzielanie dostępu programowi mapowania punktów końcowych wywołań RPC dla konkretnych podsieci, jeśli taki dostęp jest potrzebny

Jeśli trzeba przydzielić konkretnym podsieciom dostęp do ograniczonych portów wywołań RPC, należy najpierw przydzielić tym podsieciom dostęp do programu mapowania punktów końcowych wywołań RPC, który został wcześniej zablokowany. Aby przydzielić konkretnej podsieci dostęp do programu mapowania punktów końcowych wywołań RPC, należy użyć następującego polecenia:
Aby przydzielić konkretnej sieci dostęp do programu mapowania punktów końcowych wywołań RPC, użyj następującego polecenia:
%IPSECTOOL% -w REG -p "Block RPC Ports" -r "Allow Inbound TCP 135 from %SUBNET% Rule" -f %SUBNET%/%MASK%=0:135:TCP -n PASSUwaga: W tym poleceniu obowiązuje następujący warunek:
  • Tekst „%IPSECTOOL%” reprezentuje polecenie, które ma być użyte. Tym poleceniem jest albo „ipsecpol.exe” albo „ipseccmd.exe”. To, którego polecenia należy użyć, zależy od konfigurowanego systemu operacyjnego..
  • Tekst „%SUBNET%” reprezentuje zdalną podsieć IP, której ma być przydzielony dostęp, na przykład 10.1.1.0.
  • Tekst „%MASK%” reprezentuje maskę podsieci, której należy użyć, na przykład 255.255.255.0.

    Na przykład następujące polecenie umożliwia łączenie się z portem TCP 135 wszystkim hostom z podsieci 10.1.1.0/255.255.255.0. Wszystkim innym hostom dostęp nie zostanie przydzielony w wyniku zastosowania domyślnej reguły blokowania utworzonej wcześniej dla tego portu.
    %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

Opcja: Przydzielanie dostępu zakresowi portów dynamicznych wywołania RPC dla konkretnych podsieci, jeśli dostęp jest potrzebny

Każdej podsieci, której wcześniej przydzielono dostęp do programu mapowania punktów końcowych wywołań RPC, należy też przydzielić dostęp do wszystkich portów w nowym zakresie portów dynamicznych wywołania RPC (5001–5021).

Jeśli podsieciom zostanie przydzielony dostęp do programu mapowania punktów końcowych wywołań RPC, ale nie do zakresu dynamicznych portów, aplikacja może przestać odpowiadać lub mogą wystąpić inne problemy.

Następujące polecenie przydziela konkretnej podsieci dostęp do portu w nowym zakresie dynamicznych portów wywołań RPC:
%IPSECTOOL% -w REG -p "Block RPC Ports" -r "Allow Inbound TCP %PORT% from %SUBNET% Rule" -f %SUBNET%/%MASK%=0:%PORT%:TCP -n PASS
Uwaga Znaczenie poszczególnych elementów tego polecenia:
  • Tekst „%IPSECTOOL%” reprezentuje polecenie, które ma być użyte. Tym poleceniem jest albo „ipsecpol.exe” albo „ipseccmd.exe”. To, którego polecenia należy użyć, zależy od konfigurowanego systemu operacyjnego.
  • Tekst „%PORT%” reprezentuje port z zakresu dynamicznych portów, do którego jest przydzielany dostęp.
  • Tekst „%SUBNET%” reprezentuje zdalną podsieć IP, której ma być przydzielony dostęp, na przykład 10.1.1.0.
  • " Tekst „%MASK%” reprezentuje maskę podsieci, której należy użyć, na przykład 255.255.255.0.

    Na przykład następujące polecenie umożliwia łączenie się z portem TCP 5001 wszystkim hostom z podsieci 10.1.1.0/255.255.255.0. Wszystkim innym hostom dostęp nie zostanie przydzielony w wyniku zastosowania domyślnej reguły blokowania utworzonej wcześniej dla tego portu.
    %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
Uwaga To polecenie należy powtórzyć dla wszystkich podsieci i portów w nowym zakresie portów dynamicznych wywołania RPC.

Przypisanie zasad IPsec

Uwaga Zmiany wprowadzane za pomocą poleceń wymienionych w tej sekcji są stosowane od razu.

Po utworzeniu wszystkich reguł blokowania i wszystkich opcjonalnych reguł zezwalania dla skonfigurowanych portów wywołania RPC należy przypisać zasady za pomocą poniższego polecenia:
%IPSECTOOL% -w REG -p "Block RPC Ports" –x
Uwaga Aby natychmiast cofnąć przypisanie zasad, należy użyć następującego polecenia:
%IPSECTOOL% -w REG -p "Block RPC Ports" –y
Uwaga Aby usunąć zasady z rejestru, należy użyć następującego polecenia:
%IPSECTOOL% -w REG -p "Block RPC Ports" -o
Aby te zmiany zostały wprowadzone, należy ponownie uruchomić hosta.

Uwagi:
  • Zmiany konfiguracji wywołań RPC wymagają ponownego uruchomienia komputera.
  • Zmiany zasad IPsec zaczynają obowiązywać natychmiast i nie wymagają ponownego uruchamiania komputera.
Po ponownym uruchomieniu stacji roboczej lub serwera każdy interfejs wywołań RPC korzystający z sekwencji protokołu ncacn_ip_tcp, a który nie określa konkretnego portu TCP, będzie mieć przydzielony port z tego zakresu przez moduł wykonywania wywołań RPC, gdy zostanie uruchomiony serwer RPC.

Uwaga: Serwer może potrzebować ponad 20 portów TCP. Można użyć polecenia rpcdump.exe do policzenia liczby punktów końcowych wywołań RPC związanych z portem TCP i do zwiększenia tej liczby, gdy zajdzie taka potrzeba. Aby dowiedzieć się więcej o tym, jak uzyskać narzędzie zrzutu wywołań RPC (RPC Dump tool), odwiedź następującą witrynę firmy Microsoft w sieci Web:
http://www.microsoft.com/downloads/details.aspx?displaylang=en&familyid=9d467a69-57ff-4ae7-96ee-b18c4790cffd

Właściwości

Numer ID artykułu: 908472 - Ostatnia weryfikacja: 6 listopada 2009 - Weryfikacja: 6.0
Informacje zawarte w tym artykule dotyczą:
  • Microsoft Windows Server 2003 Service Pack 1 na następujących platformach
    • Microsoft Windows Server 2003, Datacenter Edition (32-bit x86)
    • Microsoft Windows Server 2003, Enterprise Edition (32-bit x86)
    • Microsoft Windows Server 2003, Standard Edition (32-bit x86)
    • Microsoft Windows Server 2003, Web Edition
  • Microsoft Windows 2000 Server SP4 na następujących platformach
    • 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
Słowa kluczowe: 
kbinfo KB908472

Przekaż opinię

 

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