Software Restriction Policies to usługi kontrolujące aplikacje, jakie są uruchamiane przez użytkowników. Dzięki wdrożeniu SRP administator uzyskuje możliwość dopuszczenia do użytku wybranych programów lub zablokowaniu dostępu do konkretnych aplikacji. W niniejszym artykule omawiana jest prosta konfiguracja SRP - zapraszamy do lektury!
Software Restriction Policies zostały wprowadzone w Windows XP oraz w rodzinie Windows Server 2003. Służą do ograniczenia możliwości wykonywania programów oraz blokowania dostępu instalacji oprogramowania z witryn internetowych. Dzięki temu firmowa infrastruktura IT staje się jeszcze bardziej bezpieczna. Użytkownicy bowiem mają w zwyczaju pobieranie różnorakich plików z Internetu, nie sprawdzając wcześniej ich autentyczności (np. poprzez weryfikację sum kontrolnych). Często przynoszą też własne niezaufane dla sieci firmowej nośniki. Wszystko to powoduje poważne zagrożenie bezpieczeństwa sieci. Jest jednak sposób, aby temu zaradzić - Software Restriction Policies (restrykcje programowe). Wprowadzając SRP w infrastrukturę IT zapewnimy sieci o wiele wyższy poziom bezpieczeństwa i dodatkową pomoc w zakresie:
- przeciwdziałaniu wirusom
- ograniczaniu możliwości pobierania kontrolek ActiveX
- kontroli wykonywania skryptów *.vbs, *.cmd, *.bat itp.
- kontroli oprogramowania
- zablokowania stacji roboczej (tzw. pełna restrykcja)
Podstawy
Restrykcje programowe wprowadza się poprzez GPO. Dzięki temu zarządzanie nimi staje się bardzo łatwym i przyjemnym zadaniem. Istnieje kilka reguł restrykcji:
Kolejność reguł
Reguły są stosowane według specyficznej kolejności:
- 4 Reguła oparta na hashach
- 3 Reguła oparta na certyfikatach
- 2 Reguła oparta na ścieżce
- 1 Reguły stref internetowych
- 0 Domyśla reguła
Oznacza to, że jeżeli zabroni się wykonywania programów w ścieżce c:\Brak_Wykonywania\, a będzie się tam znajdował program putty.exe, który będzie posiadał regułę opartą na hashu zezwalającą na jego wykonanie, program się wykona.
Konfiguracja Software Restriction Policies
Na początek polecamy stworzenie konta nowego użytkownika (test) oraz nowego GPO, z którego należy usunąć uprawnienia stosowania dla użytkowników uwierzytelnionych i dodanie na to miejsce użytkownika test.
Konfiguracja ogólna
W celu podstawowego skonfigurowania usług SRP, należy otworzyć okno GPO zgodnie z instrukcją na poniższym rysunku, a następnie:

- Kliknąć prawym klawiszem myszy w Software Restriction Policies i wybierać New Software Restriction Policies. Od tego momentu restrykcje dla użytkowników są włączone.
- Wybrać opcję Enforcement
Jak widać istnieją tutaj dwie opcje. Większość programów, takich jak np. Word czy Excel oprócz plików wykonywalnych posiadają także znaczną ilość bibliotek DLL. Jeżeli opcja All software files zostanie włączona, do restrykcji będą musiały być dołączane również pliki *.DLL. Dlatego też polecamy pozostawienie zaznaczonej opcji All software files exept…, gdyż jeśli nie pozwala się na uruchomienie pliku exe, to nie ma dużego sensu zmieniać tę opcję (chyba, że w celu zabezpieczenia środowiska przed wirusami, które infekują owe biblioteki). Pomijanie kont administracyjnych pozwoli zaś na niestosowanie restrykcji dla administratorów.
- Wybrać opcję Designated File Types
W tym miejscu znajdują się wszystkie pliki uważane za wykonywalne lub stanowiące zagrożenie. Można dodać dodatkowe rozszerzenia, jeżeli zaistnieje taka konieczność.
- Trusted Publisher
- Przejść do Security Levels. Aby zastosować restrykcje, należy zmienić wartość domyślą na Disallowed.
Od tej pory użytkownik nie uruchomi żadnego programu nie objętego regułą Zezwalaj. Domyślnie strefy internetowe są zezwolone i użytkownik może w pełni korzystać z przeglądarki. Zakładając, że ściągnie jakąkolwiek aplikację, nie będzie mógł jej uruchomić, dopóki nie otrzyma na to zezwolenia w postaci jednej z poniższych reguł:
- Reguła oparta na haszach
- Reguła oparta na ścieżce
- Reguła oparta na certyfikatach
Reguła oparta na haszach
Reguła oparta na haszach to prawdopodobnie najbardziej odpowiednia reguła zezwalająca na wykonywanie programów.
Pobieramy program putty.exe i wracamy powrotem do GPO.
Wybieramy program putty.exe
Odświeżamy GPO na kliencie (gpupdate /Force) putty.exe działa niezależnie od tego, gdzie jest i jaką ma nazwę, czas modyfikacji itd.
Reguła oparta na ścieżce
Aby dodać regułę opartą na ścieżce, należy kliknąć prawym klawiszem myszy na Additional Rules i wybrać New path rule.
Ścieżka może przyjmować następujące wartości:
C:\Windows - Ścieżka lokalna
\\SERVER\UDZIAL - Udział sieciowy
%[Gałąź Rejestru]\[Klucz]\[Wartośc]% - Wartość rejestru
C:\Windows\System?? - Można stosować ?
C:\Windows\System\Temp\Dow* - Można stosować *
%[Gałąź Rejestru]\[Klucz]\[Wartośc]%katalog - Mixed mode
Jeżeli użytkownik będzie mógł zapisać do katalogu, w którym administrator zezwala na uruchamianie programów, cała operacja nie ma sensu!
Reguła oparta na certyfikatach
Stosuje się ją głównie do podpisywania skryptów. Można zdobyć certyfikat podpisu poprzez:
- wystawienie przez własne CA
- zamówienie u firm trzecich, takich jak VeriSign.
- skorzystanie z narzędzi Authenticode for Internet Explorer 5.0 (makecert.exe)
Podpisywanie pliku korzystając z narzędzi Authenticode
Po zainstalowaniu Authenticode należy przejść do wiersza poleceń i wpisać po kolei:
Makecert.exe –n „cn=CERTYFIKAT TESTOWY” –ss my –eku 1.3.6.1.5.5.7.3.3 - Tworzymy certyfikat
Setreg.exe 1 true
echo msgbox "Przykładowy skrypt" >> c:\test.vbs - Tworzymy przykładowy skrypt
signcode.exe -cn "CERTYFIKAT TESTOWY" -t http://timestamp.verisign.com/scripts/timstamp.dll c:\test.vbs - Podpisujemy skrypt
chktrust.exe c:\test.vbs - Sprawdzamy podpis
certmgr.exe -put -c -v -n "CERTYFIKAT TESTOWY" -s my c:\test.cer - Instalujemy podpis
CA
Zażądać certyfikatu można na kilka sposobów: przez enrollment lub przez certsrv. W tym przypadku do uzyskania certyfikatu wykorzystany zostanie enrollment. Przed żądaniem certyfikatu należy dodać do posiadanego CA odpowiedni szablon. Aby tego dokonać, należy:
W wierszu poleceń wpisać:
mmc.exe
W konsoli MMC wejść do menu File, wybrać Add/remove snap-in, następnie Add, po czym wybrać Certificate templates, ponownie Add i kliknąć OK.
stworzyć własny certyfikat:
w zakładce General nadać unikalną nazwę certyfikatowi oraz zaznaczyć, że certyfikat ma zostać opublikowany w Active Directory
W zakładce Request Handling:
Przejść do zakładki Security; aby użytkownik, który będzie podpisywał skrypty mógł otrzymać certyfikat poprzez Autoenrollment, musi mieć poniższe uprawnienia:
Kliknąć OK. Teraz należy dodać szablon do CA, który go roześle. Należy przejsc do sekcji Szblony certyfikatow w naszym CA i dodac nowy szblon
Następnie wybrać Code Signing
Teraz włączyć w GPO (Default Domain Policy) Autoenrollment
Kliknąć OK. W wierszu poleceń wpisać gpupdate /force i poczekać na nasz certyfikat. Po kilku minutach w zasobniku systemowym powinna pojawić się nowa ikona. Należy w nią kliknąć.
Rozpoczyna się proces pobierania certfikatu.
Po uzyskaniu certyfikatu
Po uzyskaniu certyfikatu trzeba nim podpisać posiadane skrypty. Należy użyć do tego celu jednego z wcześniej pobranych narzędzi, a mianowicie signcode.exe Po uruchomieniu ukazuje się kreator, gdzie należy wybrać skrypt, który ma zostać podpisany. Następnie należy wybrać opcję Custom.
Po wybraniu Select from store należy wskazać certyfikat, który został wystawiony dla danego użytkownika, który będzie podpisywał skrypty.
Należy kontynuować pracę kreatora aż do zakończenia.
Wpisać server timestamp= http://timestamp.verisign.com/scripts/timstamp.dll
NextàFinish. Od tego momętu skrypt jest podpisany cyfrowo i może zosać wykonany.
Teraz pozostaje jeszcze tylko dodać odpowiednią restrykcje do GPO.
Należy kliknąć Browse i wybrać przed chwilą podpisany skrypt.
Po kliknięciu OK certyfikat zostanie dodany do restrykcji. Od teraz każdy skrypt, plik itd., który zosanie nim podpisany będzie mógł zostać uruchomiony.
FAQ
Q: Czy można zablokować tylko jedną aplikacje?
A: Tak. Wystarczy dodać dwie reguły: regułę opartą o ścieżkę i nadać jej wartość Path=*, security level=Unrestricted oraz regułę opartą o hash programu który ma zostać zablokowany i security level=Disallowed.
Q: Czy można zablokować dostęp do Internetu poprzez reguły stref internetowych?
A: Nie. Reguły stref internetowych służą do ograniczania lub zezwalania na ściąganie plików instalacyjnych *.MSI w IE.
Q: Jak podpisać sterownik?
A: Wiadomo, że użytkownicy nie mogą instalować urządzeń, których sterowniki nie są podpisane. Można zatem podpisać sterownik (*.cab).
Q: Gdzie SRP posiada najwieksze zastosowanie?
A: SRP najczęściej stosuje sie na serwerach terminalowych.
Autor: Dawid Kuboszek
Spis treści