RemoteApp .rdp osadzić poświadczenia?

11

Serwer Windows 2008 R2 z uruchomionymi usługami pulpitu zdalnego (wcześniej nazywaliśmy je usługami terminalowymi) . Ten serwer jest punktem wejścia do hostowanej aplikacji - można by to nazwać oprogramowaniem jako usługą. Mamy klientów zewnętrznych łączących się, aby z nich korzystać.

Korzystanie z RemoteApp Manager do budowania skrótów .rdp RemoteApp do dystrybucji na stacjach roboczych klienta. Te stacje robocze nie są w tej samej domenie co serwer RDS. Nie ma relacji zaufania między domenami (i nie będzie). Pomiędzy stacjami roboczymi a serwerem RDS znajduje się ściśle kontrolowana witryna do lokalizacji VPN, jesteśmy przekonani, że mamy zablokowany dostęp do serwera.

Uruchamiana aplikacja RemoteApp to aplikacja ERP z własnym schematem uwierzytelniania.

Problem? Staram się unikać konieczności tworzenia loginów AD dla każdego użytkownika końcowego podczas łączenia się z serwerem RemoteApp. W rzeczywistości, ponieważ robimy aplikację zdalną i muszą oni uwierzytelnić się w tej aplikacji, wolałbym nie pytać ich wcale o AD. Z pewnością nie chcę, aby zajmowali się zarządzaniem hasłami AD (i okresowymi wygaśnięciami) dla kont, których używają tylko do uzyskania dostępu do loginu ERP.

Nie mogę jednak dowiedzieć się, jak osadzić poświadczenia AD w pliku rdp RemoteApp. Tak naprawdę nie chcę wyłączać całego uwierzytelniania na serwerze RDS na tym poziomie.

Jakieś dobre opcje? Moim celem jest, aby użytkownicy końcowi działali tak płynnie, jak to możliwe.

Pytania wyjaśniające są mile widziane.

Chris_K
źródło

Odpowiedzi:

10

Możliwe jest osadzenie hasła w pliku .rdp, ale hasło jest szyfrowane za pomocą identyfikatora SID lokalnego konta użytkownika w taki sposób, że pliku .rdp nie można zamieniać między użytkownikami lub komputerami. Takie zachowanie jest zgodne z projektem: Microsoft nie chciał, aby intruz mógł uzyskać klucze do serwera terminali tylko poprzez kradzież pliku .rdp z czyjegoś pulpitu.

Na szczęście istnieje dość dobrze udokumentowane obejście. Zasadniczo musisz utworzyć plik .rdp „w locie” za pomocą pliku wsadowego lub skryptu uruchamianego przez użytkownika zamiast mstsc.exebezpośredniego wywoływania . Twój skrypt tworzy odpowiedni plik .rdp, a tym samym szyfruje hasło w taki sposób, mstsc.exeaby zaakceptowało je w kontekście bieżącego użytkownika.

Zasoby:

Każdy z powyższych artykułów zawiera łącze do narzędzia, którego można użyć do szyfrowania haseł RDP i / lub kodu źródłowego. Jeśli to możliwe, sugerowałbym pracę z kodu źródłowego. (Jak zawsze używaj plików binarnych skompilowanych przez obcych użytkowników na własne ryzyko).

Podniebny Jastrząb
źródło
To wygląda jak droga i dziękuję za linki! Zabawne (OK, nie do końca) długoletnia „potrzeba biznesowa” z tego powodu zniknęła dzisiaj, ale myślę, że to byłaby odpowiedź.
Chris_K
1

Hmm interesujące. Pierwszą rzeczą, która przychodzi na myśl, jest użycie klucza / certyfikatu (takiego jak ssh):

czy to pomaga?

mbrownnyc
źródło
Certyfikaty! Tak, warto się temu przyjrzeć. Nie mam serwera bram w mieszance, ale może wypychanie certyfikatów klienta może być opcją? Dzięki.
Chris_K,
Moje search-fu może być słabe, ale nie widzę opcji zastąpienia user / pass certyfikatem dla klientów.
Chris_K,
Gotowy na złożoność? Tak myślałem! technet.microsoft.com/en-us/library/ff404286(WS.10).aspx (uwaga: przekierowanie karty inteligentnej może wystąpić w dowolnym kliencie RDP 6.0 + ... i żadnego z nich nie zaimplementowałem)
mbrownnyc
... O kurwa!
Chris_K,