Czy usługa agenta msdeploy może otworzyć wektor ataku na naszych serwerach?

13

oceniamy wykorzystanie usługi msdeploy Web Deployment Agent Service do automatycznych wdrożeń na naszych serwerach produkcyjnych.

Jednej rzeczy, której nie możemy się dowiedzieć, są potencjalne skutki dla bezpieczeństwa.

Po pierwsze, nasze serwery są oczywiście zabezpieczone (za zaporami ogniowymi i modułami równoważenia obciążenia), więc tylko ruch http (s) jest dozwolony z zewnątrz.

Niemniej jednak webowy agent wdrażania działa zintegrowany z IIS (jedyną rzeczą na zewnątrz), ponieważ jest on dostępny przez http (s). Obawiamy się więc, że potencjalnie możliwe byłoby uzyskanie dostępu do agenta za pośrednictwem stron internetowych hostowanych w tym IIS - i tym samym uzyskanie dostępu do odczytu i zapisu do wszystkich naszych stron internetowych.

Jak bezpieczny jest msdeploy do użytku w środowisku produkcyjnym?

Aktualizacja: na produkcyjnym serwerze WWW działają usługi IIS7.

Sebastian PR Gingter
źródło
używasz IIS 6 lub 7 z msdeploy?
sierpień
Będzie to głównie IIS7. Informacje również zaktualizowane. w pytaniu.
Sebastian PR Gingter

Odpowiedzi:

10

Minęło trochę czasu, odkąd go użyłem, i użyłem go tylko z IIS 6, który nie obejmuje części do zarządzania siecią. Możesz zmodyfikować adres URL zdalnego zarządzania i port oraz zablokować go na zewnętrznej zaporze. Zobacz: Dostosowywanie i zabezpieczanie usługi zdalnej . Jego głównym mechanizmem bezpieczeństwa wydaje się być bezpieczeństwo konta użytkownika, ale tak jak powiedziałeś, wszystko jest w IIS, więc luka w IIS może sprawić, że środki bezpieczeństwa będą bezużyteczne, dopóki nie zostaną załatane. Tylko z tego powodu wahałbym się, czy pozwolić na aktualizację treści internetowych z Internetu, ale zależy to od wymagań bezpieczeństwa twojej organizacji w stosunku do potrzeb twojego programisty.

Aby uniknąć narażania usługi wdrażania internetowego na Internet, możesz wykonać następujące czynności:

  • domyślna witryna internetowa nasłuchuje na wewnętrznym adresie IP, który nie jest NAT-owy ani nie wchodzi w zakres zakresu adresów IP równoważących obciążenie
  • domyślna witryna zarządzania może nasłuchiwać tylko na hoście lokalnym, a następnie napisać skrypt, który wywołuje plik wykonywalny msdeploy na każdym hoście, aby działał lokalnie (zamiast używać msdeploy do zdalnego łączenia się ze wszystkimi hostami z jednego punktu)
  • niech twój moduł równoważenia obciążenia filtruje zewnętrzne żądania, które próbują trafić do adresu URL wdrożenia internetowego (np. https: // server: 8081 / MSDeploy )
  • mieć wyznaczonego (wewnętrznego) hosta wdrażania, z którego pochodzą wszystkie Twoje wdrożenia internetowe i zezwalać, aby ten adres IP łączył się z serwerami WWW pod adresem URL wdrożenia (blokuj cokolwiek innego niż z jednego hosta wdrażania)

Jeśli nadal istnieje potrzeba udostępnienia funkcji wdrażania sieci bezpośrednio z Internetu, powiedz, czy wszyscy programiści działali zdalnie (nie wyobrażam sobie, dlaczego byłoby to konieczne bezpośrednioz powszechnym użyciem VPN), możesz mieć 2-etapowy proces wdrażania, w którym konfigurujesz izolowaną strefę DMZ z wbudowanym IIS 7 z włączonym modułem Web Deploy (niezależnie od DMZ Twojej farmy internetowej) i pozwalasz programistom na połącz się tylko z tą strefą DMZ z Internetu, aby zdalnie wdrażać zmiany. Następnie możesz połączyć się wewnętrznie z tym hostem i wdrożyć na pozostałych serwerach WWW po przejrzeniu zmian, testowaniu itp. Nawet ta metoda nie jest pozbawiona ryzyka - złośliwy użytkownik może w końcu naruszyć funkcjonalność wdrażania sieci, wprowadzając pewne złośliwy kod bez Twojej wiedzy i możesz nieświadomie wprowadzić go do środowiska produkcyjnego.

sierpień
źródło
Aktualizacje byłyby wykonywane tylko z bezpiecznego dostępu VPN do serwerów produkcyjnych, więc nie jest wymagany dostęp z Internetu. Nadal mam złe przeczucia co do instalacji czegoś, co może zmienić konfigurację serwera WWW. W tej chwili osoby z „uprawnieniami do wdrażania” mają dostęp SFTP tylko do określonych folderów internetowych, serwery sieciowe nie są w domenie i całkowicie izolowane w żaden inny sposób.
Sebastian PR Gingter
1
normalnie zgodziłbym się z tym, że „nadal mam złe przeczucia co do instalowania czegoś, co może zmienić konfigurację serwera WWW.”, ale w tym przypadku, gdy masz farmę internetową, szanse na błędną konfigurację czegoś na jednym z serwerów i otwarcie niezamierzona dziura w procesie ręcznej aktualizacji jest o wiele bardziej prawdopodobna i ryzykowna niż włączenie usługi zapewniającej spójną konfigurację na wszystkich serwerach WWW.
sierpień
Okej, przyjąłbym to jako „prawdopodobnie wystarczająco bezpieczne, aby podjąć ryzyko w zamian za szanse na łatwiejsze zautomatyzowane wdrożenie”. Dzięki.
Sebastian PR Gingter
0

Prosta odpowiedź. TAK, wszystko, co działa na dowolnym komputerze, otwiera wektory ataku. Zawsze należy zakładać, że w oprogramowaniu występują luki. Łagodzenie jest kluczowym czynnikiem, ogranicza dostęp do sieci, użytkowników, komputerów, adresów IP itp. Sprawdź także fizyczny dostęp.

Możesz także ograniczyć czas, w którym aktualizacje mogą się odbywać, jeśli zapora może obsługiwać reguły z określonych pór dnia.

Zalecam ograniczenie użytkowników na twoim serwerze (serwerach), tzn. Kto może dokonać aktualizacji. (Prawdopodobnie już to zrobiłeś). Następnie używałbym zapór ogniowych, aby ograniczyć dostęp do interfejsu zarządzania przez sieci (IP). Następnie, jeśli jest obsługiwany, zezwalam na obsługę aktualizacji tylko w godzinach pracy (za pomocą reguły zapory). Uwaga: zawsze możesz poprosić administratora zapory o edycję reguły aktualizacji awaryjnej. W końcu będę obserwował znane luki w zabezpieczeniach Web Deployment Agent i dalej je łagodził lub wyłączał, dopóki nie będzie można zaimplementować poprawki.

tkrabec
źródło