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.
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ść:
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ść:
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ść:
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ść:
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ść:
6. X-XSS-Protection ma na celu włączenie filtra XSS wbudowanego w nowoczesne przeglądarki internetowe. Zalecana wartość:
7. Access-Control-Allow-Origin wskazuje czy odpowiedź może zostać udostępniona przez żądanie kodu z danego źródła. Zalecana wartość:
8. Referrer-Policy kontroluje ile informacji wysyłanych przez nagłówek referrer powinno być dołączonych do żądań. Zalecana wartość:
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ść:
Wszystkie powyższe konfiguracje można wprowadzić w Administracja > Ustawienia Ogólne > Ustawienia Zabezpieczeń > Zaawansowany.
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:
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ń.
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ę.
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
Jak zapobiec atakowi BREACH (CVE-2013-3587)?
Zapobiec atakowi można przez włączenie opcji:
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: marketing@mwtsolutions.eu
Kategorie: Aktualności Artykuł