Ograniczenia oprogramowania GPO systemu Windows 2003

9

Prowadzimy farmę serwerów terminali w domenie Windows 2003 i znalazłem problem z ustawieniami GPO ograniczeń oprogramowania, które są stosowane do naszych serwerów TS. Oto szczegóły naszej konfiguracji i problemu:

Wszystkie nasze serwery (kontrolery domeny i serwery terminali) mają system Windows Server 2003 z dodatkiem SP2, a zarówno domena, jak i las znajdują się na poziomie systemu Windows 2003. Nasze serwery TS znajdują się w jednostce organizacyjnej, w której mamy określone GPO połączone i dziedziczenie zablokowane, więc tylko te GPO specyficzne są stosowane do tych serwerów TS. Wszyscy użytkownicy są zdalni i nie mają przyłączonych stacji roboczych do naszej domeny, więc nie używamy przetwarzania zasad sprzężenia zwrotnego. Przyjmujemy podejście „białej listy”, aby umożliwić użytkownikom uruchamianie aplikacji, więc tylko aplikacje zatwierdzone i dodane jako reguły ścieżki lub skrótu mogą być uruchomione. Mamy poziom bezpieczeństwa w ograniczeniach oprogramowania ustawiony na Niedozwolone, a Egzekwowanie jest ustawione na „Wszystkie pliki oprogramowania oprócz bibliotek”.

Odkryłem, że jeśli dam użytkownikowi skrót do aplikacji, może on uruchomić aplikację, nawet jeśli nie ma jej na liście reguł dodatkowych aplikacji znajdujących się na białej liście. Jeśli dam użytkownikowi kopię głównego pliku wykonywalnego aplikacji i spróbuje go uruchomić, otrzyma oczekiwany komunikat „program został ograniczony ...”. Wygląda na to, że ograniczenia oprogramowania rzeczywiście działają, z wyjątkiem sytuacji, gdy użytkownik uruchamia aplikację za pomocą skrótu, w przeciwieństwie do uruchamiania aplikacji z samego głównego pliku wykonywalnego, co wydaje się być sprzeczne z celem używania ograniczeń oprogramowania.

Moje pytania brzmią: czy ktoś jeszcze widział takie zachowanie? Czy ktokolwiek może odtworzyć to zachowanie? Czy brakuje mi czegoś w rozumieniu ograniczeń oprogramowania? Czy jest prawdopodobne, że mam coś źle skonfigurowanego w Ograniczeniach oprogramowania?

EDYTOWAĆ

Aby trochę wyjaśnić problem:

Nie są egzekwowane żadne obiekty GPO wyższego poziomu. Uruchomienie gpresults pokazuje, że w rzeczywistości stosowane są tylko GPO na poziomie TS i rzeczywiście widzę, że moje ograniczenia oprogramowania są stosowane. Żadne symbole wieloznaczne ścieżki nie są używane. Testuję z aplikacją, która jest w folderze „C: \ Program Files \ Application \ executable.exe”, a plik wykonywalny aplikacji nie znajduje się w żadnej ścieżce ani regule mieszającej. Jeśli użytkownik uruchomi główny plik wykonywalny aplikacji bezpośrednio z folderu aplikacji, Ograniczenia oprogramowania są egzekwowane. Jeśli podam użytkownikowi skrót wskazujący plik wykonywalny aplikacji w folderze „C: \ Program Files \ Application \ executable.exe”, oznacza to, że jest on w stanie uruchomić program.

EDYTOWAĆ

Ponadto pliki LNK są wymienione w Wyznaczonych typach plików, dlatego należy je traktować jako pliki wykonywalne, co oznacza, że ​​są związane tymi samymi ustawieniami i regułami ograniczeń oprogramowania.

joeqwerty
źródło
Czy masz jakieś obiekty zasad grupy w jednostkach organizacyjnych wyższego poziomu lub na poziomie domeny, które są egzekwowane? Sprawdziłbym również ścieżki, które mają symbole wieloznaczne lub które mogłyby w przeciwnym razie umożliwić wykonanie ze ścieżki, w której znajduje się skrót.
Chris S
@Chris S: Zobacz moją edycję.
joeqwerty
zrobiłeś „gpresult / z / user dom \ user” i uważnie przyjrzałeś się wynikom?
Tony Roth
Tak. Nie widzę niczego, co dałoby mi wgląd w przyczynę. Dzieki za sugestie.
joeqwerty
@ joeqwerty, Co to znaczy joeqwerty?
Pacerier

Odpowiedzi:

5

W końcu znalazłem odpowiedź. W naszych regułach ograniczeń oprogramowania istnieje reguła ścieżki jako taka:

% HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ ProgramFilesDir%

Dzięki temu dowolny plik wykonywalny w katalogu Program Files i jego katalogach podrzędnych może działać bez obciążenia. Ta ścieżka jest dodawana domyślnie podczas konfigurowania ograniczeń oprogramowania. Usunięcie tej reguły ścieżki powoduje odrzucenie wszystkich programów, nawet jeśli ich plik wykonywalny jest jawnie dodany jako nieograniczona ścieżka.

Co nasuwa pytanie: jeśli 99% wszystkich programów jest zainstalowanych w katalogu Program Files, ale chcę ograniczyć niektóre programy, jak mogę to osiągnąć dzięki ograniczeniom oprogramowania?

Równie ważne jest pytanie, jakie dokładnie korzyści mają ograniczenia programowe, z wyjątkiem tych programów lub plików wykonywalnych, które nie znajdują się w plikach programów?

joeqwerty
źródło
0

Sprawdziłbym listy ACL dla skrótu, który został utworzony dla użytkowników. Zgodnie z najlepszymi praktykami dotyczącymi zasad ograniczeń oprogramowania: zasady bezpieczeństwa; Usługi bezpieczeństwa ,

Użytkownicy mogą próbować ominąć zasady ograniczeń oprogramowania, zmieniając nazwy lub przenosząc niedozwolone pliki lub zastępując pliki nieograniczone. W związku z tym zaleca się korzystanie z list kontroli dostępu (ACL) w celu odmawiania użytkownikom dostępu niezbędnego do wykonywania tych zadań

Vivek Kumbhar
źródło
Użytkownicy nie mają dostępu do wykonywania działań, więc nie sądzę, aby miało to zastosowanie. Dzięki.
joeqwerty
0

Możesz spróbować usunąć LNK jako wyznaczony typ pliku. Mimo że są one traktowane jako pliki wykonywalne, nie powinny. W ten sposób ograniczenia oprogramowania powinny być stosowane do pliku wykonywalnego docelowego dla pliku LNK, a nie samego pliku LNK.

IceMage
źródło
Hmm ... Nie pomyślałem, żeby tego spróbować. Dam mu wir i dam znać, czy to działa.
joeqwerty
0

Doświadczyłem tego, o czym mówisz - to bardzo denerwujące. Jestem pewien, że domyślnie Twoi użytkownicy mogą uruchamiać aplikacje zainstalowane w Program Files.

Czy próbowałeś w ten sposób ograniczyć dostęp do aplikacji za pomocą uprawnień NTFS i białej listy?

Wówczas użytkownicy mogliby mieć skróty do wszystkiego, co chcieli i nie pomogłoby im to, ponieważ nie mieliby dostępu do programu.

Patrz: http://www.virtualizationadmin.com/articles-tutorials/terminal-services/security/locking-down-windows-terminal-services.html

fsckin
źródło