09.12.2021

Autor: Mariusz Graj

Kategorie: Aktualności, Artykuł

W części pierwszej artykułu o zabezpieczeniach w ServiceDesk Plus opisałem m.in. sposoby szyfrowania danych czy metody uwierzytelniania. Omówiłem także sposoby zabezpieczania danych w przypadku awarii serwera, aby móc przywrócić działanie aplikacji do stanu sprzed wystąpienia niepożądanych okoliczności. Jak jednak zastosować w praktyce opisane wcześniej funkcjonalności?

— Przeczytaj pierwszą część artykułu o zabezpieczeniach w ServiceDesk Plus.

Jak włączyć bezpieczną transmisję danych?

Konfiguracja pozwalająca na przełączenie aplikacji w tryb HTTPS znajduje się w Administracja > Ustawienia Ogólne > Ustawienia zabezpieczeń. Dzięki niej możemy uniknąć ataków typu man-in-the-middle. Ustawienia pozwalają również na wybór odpowiedniego tryby TLS oraz szyfrowania.

Screenshot Konfiguracja portów i protokołów serwera

Certyfikat SSL można zaimplementować również z poziomu GUI wskazując np. plik pfx w obszarze Administracja > Ustawienia Ogólne > Importuj Certyfikat SSL.

ServiceDesk Plus jest wolny od poniższych luk SSL po zastosowaniu odpowiedniego TLS oraz szyfrowania:

  • Sweet32 (CVE-2016-2183)
  • BEAST (CVE-2011-3389)

Konfiguracja nagłówków

1. Content-Security-Policy (CSP) to dodatkowa warstwa zabezpieczeń, która pomaga wykrywać i zapobiegać niektórym rodzajom ataków. Chroni przed m.in. atakom XSS czy operacjom polegającym na implementowaniu niepożądanych danych. Zalecana wartość:

Screenshot Content-Security-Policy

2. HTTP Strict-Transport-Security umożliwia przeglądarkom dostęp do stron internetowych tylko przy użyciu protokołu HTTPS zamiast HTTP. Zalecana wartość:

Screenshot HTTP Strict-Transport-Security

Powyższa konfiguracja sprawia, że ServiceDesk Plus jest wolny od podatności Strict TLS oraz CWE-523. Nagłówki HSTS są ważne tylko w przypadku połączeń HTTPS, co gwarantuje, że nie zostanie odebrany żaden niezaszyfrowany ruch HTTP. W połączeniu ze wstępnym ładowaniem HSTS skraca również czas ładowania strony, eliminując przekierowania serwera z HTTP na HTTPS.

3. Cache-Control przechowuje instrukcje do buforowania zarówno w żądaniach, jak i odpowiedziach. Zalecana wartość:

Screenshot Cache-Control

Korzyści z powyższej konfiguracji: zmniejszenie opóźnień i obciążenia serwera, zwiększenie niezawodności działania.

4. X-Content-Type-Options służy do ochrony przed podatnościami w zabezpieczeniach MIME sniffing, które występują, gdy witryna umożliwia użytkownikom przesyłanie złośliwego oprogramowania, co stwarza XSS możliwość naruszenia integralności witryny. Zalecana wartość:

Screenshot X-Content-Type-Options

5. X-Frame-Options może służyć do wskazywania czy przeglądarka powinna mieć możliwość renderowania strony w <frame>, <iframe>, <embed> lub <object>. Witryny mogą to wykorzystać, aby uniknąć ataków typu clickjacking upewniając się, że ich zawartość nie jest osadzana w innych witrynach. Zalecana wartość:

Screenshot X-Frame-Options

6. X-XSS-Protection ma na celu włączenie filtra XSS wbudowanego w nowoczesne przeglądarki internetowe. Zalecana wartość:

Screenshot ServiceDesk Plus X-XSS-Protection

7. Access-Control-Allow-Origin wskazuje czy odpowiedź może zostać udostępniona przez żądanie kodu z danego źródła. Zalecana wartość:

Screenshot Access-Control-Allow-Origin

8. Referrer-Policy kontroluje ile informacji wysyłanych przez nagłówek referrer powinno być dołączonych do żądań. Zalecana wartość:

Screenshot Referrer-Policy

9. Expect-CT pozwala stronom wybrać egzekwowanie wymagań dotyczących przejrzystości certyfikatów, aby zapobiec wykorzystaniu błędnie wystawionych certyfikatów dla tej witryny. Zalecana wartość:

Screenshot Expect-CT ServiceDesk Plus

Wszystkie powyższe konfiguracje można wprowadzić w Administracja > Ustawienia Ogólne > Ustawienia Zabezpieczeń > Zaawansowany.

Screenshot Ustawienia zabezpieczeń w ServiceDesk Plus

Jak zapobiegać atakom brute-force?

Ataki brute-force wykorzystują metodę prób i błędów, aby odgadnąć prawidłowe dane logowania lub klucze szyfrowania poprzez sprawdzanie wszystkich możliwych kombinacji.

Rozwiązanie: włącz konfigurację zabezpieczeń określającą próg blokady konta po nieudanej liczbie prób zalogowania się użytkownika oraz czas trwania blokady:

Screenshot zapobieganie-atakom-brute-force-servicedeskplus

Jak włączyć szyfrowaną transmisję hasła?

Hasła w postaci zwykłego tekstu stanowią poważne zagrożenie bezpieczeństwa. Nie ma scenariusza, w którym możliwe jest przesyłanie takich haseł bez ryzyka.

Rozwiązanie: otwórz product-config.xml i włącz szyfrowanie hasła, zmieniając poniższą wartość konfiguracyjną na „true”. Aby zastosować tę konfigurację, należy ponownie uruchomić ServiceDesk Plus.

<configuration name=”user.password.encrypt” value=”true”/>

Jak wyłączyć funkcję „Nie wylogowuj mnie”?

Funkcja zmniejsza bezpieczeństwo aplikacji, ponieważ wybranie wspomnianej opcji na stałe przechowuje token sesji. Może on zostać przechwycony przez niepożądane osoby i zostać wykorzystany w celu uzyskania dostępu do aplikacji.

Rozwiązanie: wyłączenie funkcji w Administracja > Ustawienia Ogólne > Ustawienia Zabezpieczeń.

Screenshot Wyłączanie funkcji "Nie wylogowuj mnie" w ServiceDesk Plus

Jak rozwiązać problem z zabezpieczeniami domen (CVE-2018–7248)?

Nieuwierzytelnieni użytkownicy mogą weryfikować konta użytkowników domeny wysyłając żądanie zawierające nazwę użytkownika do punktu końcowego interfejsu API, który następnie odsyła domenę logowania użytkownika, jeśli konto istnieje.

Rozwiązanie: wyłącz poniższą opcję.

Screenshot Problem z zabezpieczeniami domen

Jak usunąć podatności http?

Kilka metod HTTP zostało zidentyfikowanych jako podatne na ataki i dlatego można je wyłączyć w ServiceDesk Plus.

 

Rozwiązanie: wykonaj poniższe czynności, aby wyłączyć podatne na ataki metody HTTP.

Krok 1: wykonaj poniższe zapytanie na bazie danych aplikacji.

update GlobalConfig SET PARAMVALUE = 'OPTIONS,TRACE’ where PARAMETER = 'DISABLED_HTTP_METHODS’;

Krok 2: następnie zrestartuj serwer aplikacji.

Jak zapobiec problemowi Logjam (CVE-2015-4000)?

Skonfiguruj Javę tak, aby używała 2048-bitowej grupy Diffie-Hellman. Ustaw jdk.tls.ephemeralDHKeySize na „2048” w parametrach JVM (np. -Djdk.tls.ephemeralDHKeySize=2048).

Wykonaj poniższe czynności, aby skonfigurować parametr JVM.
Krok 1: otwórz plik wrapper.conf, który jest dostępny w katalogu \conf.
Krok 2: dodaj linię zaznaczoną na zrzucie ekranu poniżej w pliku wrapper.conf

Screenshot

Jak zapobiec atakowi BREACH (CVE-2013-3587)?

Zapobiec atakowi można przez włączenie opcji:

Screenshot Zapobieganie atakowi BREACH w ServiceDesk Plus

ServiceDesk Plus jest wolny od poniższych problemów związanych z bezpieczeństwem:

Session fixation

SQL injection

Broken authentication

Sensitive data exposure

XML external entity injection

Broken access control

Insecure deserialization

Autocomplete enabled for all password fields

Local file inclusion

Remote file inclusion

Privilege escalation

Sensitive information printed in log files

Access restriction bypass via origin spoof

Clipboard data stealing attack

Remote code execution (RCE)

Denial-of-service (DoS) attack reported in Apache Commons FileUpload library (CVE-2014-0050 and CVE-2016-3092)

Apache Commons FileUpload RCE vulnerability (CVE-2016-1000031)

Apache Struts RCE vulnerability discovered by Semmle (CVE-2018-11776)

ClassLoader vulnerability in Apache Struts 1.1 (CVE-2014-0114)

Vulnerabilities in Apache Struts validator framework (CVE-2016-1182, CVE-2016-1181, CVE-2015-0899, and CVE-2012-1007)

Zip Slip vulnerability

Vulnerabilities in TRACE method

Multiple vulnerabilities in the jQuery framework (CVE-2016-7103 and CVE-2015-9251)

Host header injection (CWE-644)

HTTP headers injection

Multiple vulnerabilities in the DOMPurify framework

Multiple vulnerabilities in the Bootstrap framework (CVE-2019-8331, CVE-2018-14041, CVE-2018-14040, CVE-2018-14042, and CVE-2018-20677)

Bundled moment JS (2.11.0) regular expression DoS vulnerability (CVE-2016-4055)

Multiple vulnerabilities in the Handlebars framework (v4.5.7)

Cookies with an overly broad path

Moment module (before 2.19.3) for Node.js regular expression DoS via a crafted date string (CVE-2017-18214)

Dołączony serwer Tomcat (9.0.34) jest wolny od poniższych problemów związanych z bezpieczeństwem:

Tomcat RCE vulnerabilities (CVE-2017-12615, CVE-2017-12617, and CVE-2019-0232)

Slowloris DoS vulnerability (CVE-2012-5568)

Apache Struts Jakarta RCE vulnerability (CVE-2017-5638)

ETag Inode number vulnerability (CVE-2003-1418)

Ghostcat vulnerability (CVE-2020-1938)

HTTP Request Smuggling (CVE-2020-1935 and CVE-2019-17569)

RCE attack (CVE-2020-9484)

Dołączony serwer Postgres (10.12) jest wolny od poniższych problemów związanych z bezpieczeństwem:

CVE-2017-12172: Start scripts permit the database administrator to modify root-owned files

CVE-2017-15098: Memory disclosure in JSON functions

CVE-2017-15099: INSERT ... ON CONFLICT DO UPDATE fails to enforce SELECT privileges

Podsumowanie

Popularność rozwiązania jakim jest ServiceDesk Plus sprawia, że ManageEngine musi dbać o najwyższe standardy bezpieczeństwa. Wraz ze wzrostem popularności narzędzia wzrasta również zainteresowanie osób, które chciałyby pozyskać poufne dane w nielegalny sposób. Wielokrotnie spotykamy się z informacjami o przeprowadzonych audytach aplikacji, gdzie pojawiające się potencjalne problemy dotyczące zabezpieczeń można wyeliminować między innymi za pomocą powyżej opisanej konfiguracji. Bez potrzeby modyfikowania wielu plików konfiguracyjnych czy też ingerencji producenta, ponieważ większość ustawień jest dostępna w bardzo przystępny i przyjazny sposób z poziomu interfejsu aplikacji.

 

09.12.2021

Autor: Mariusz Graj

Kategorie: Aktualności Artykuł

Newsletter. Bądź na bieżąco.

Kontakt

MWT SOLUTIONS S.A.

ul. Szyperska 14, 61-754 Poznań

Napisz do nas: