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.
źródło
Odpowiedzi:
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?
źródło
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 ,
źródło
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.
źródło
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
źródło