IDPA: Luki w zabezpieczeniach domyślnej instalacji serwera Apache Tomcat

Summary: Ten artykuł zawiera obejście problemu wykrytego przez "Luki w zabezpieczeniach domyślnej instalacji i/lub strony powitalnej Apache Tomcat" wykryte przez ACM.

This article applies to This article does not apply to This article is not tied to any specific product. Not all product versions are identified in this article.

Instructions

Następująca luka w zabezpieczeniach może zostać wykryta w części ACM urządzenia IDPA dla portu 8543:

Tytuł luki w zabezpieczeniach Składniki  Port usługi Poziom istotności luki w zabezpieczeniach Opis luki w zabezpieczeniach Odporność na luki w zabezpieczeniach Rozwiązanie dotyczące luki w zabezpieczeniach
Instalacja domyślna lub zainstalowana strona powitalna Apache Tomcat ACM 8543 5 Na tym serwerze zostanie zainstalowana domyślna instalacja lub strona powitalna Tomcat. Zazwyczaj oznacza to nowo zainstalowany serwer, który nie został jeszcze poprawnie skonfigurowany i o którym może nikt nie wiedzieć.

Często serwer Tomcat jest instalowany razem z innymi aplikacjami, a użytkownik może nie wiedzieć, że serwer WWW jest uruchomiony. Serwery te są rzadko aktualizowane i rzadko monitorowane, zapewniając hakerom wygodny cel, który prawdopodobnie nie uruchomi żadnych alarmów.
Uruchamianie usługi

HTTPS * Produkt Tomcat istnieje — Apache Tomcat 9.0.45.

HTTP GET Prośba o https://<ACM IP>:8543/
Oczekiwany kod odpowiedzi HTTP to oczekiwana wartość 200.
<h1>Apache Tomcat/9.0.45</h1> 27: </div> 28: <div id="upper" class="curved container"> 29: <div id="congrats" class="curved container"> 30: ... this, you have successfully installed Tomcat. Congratulations!</h2>
Zmień stronę domyślną lub zatrzymaj i całkowicie wyłącz serwer Tomcat.

Jeśli ten serwer jest wymagany do zapewnienia niezbędnej funkcjonalności, domyślna strona powinna zostać zastąpiona odpowiednią treścią. W przeciwnym razie serwer ten powinien zostać usunięty z sieci, zgodnie z zasadą bezpieczeństwa minimalnej złożoności.

Wykonaj następujące kroki, aby obejść ten problem:

  1. Zaloguj się jako użytkownik root do ACM
  2. Zmień katalog roboczy na /usr/local/dataprotection/apache-tomcat-9.0.*/webapps/ROOT.
acm:~ # cd /usr/local/dataprotection/apache-tomcat-9.0.*/webapps/ROOT

W tym przykładzie ścieżka Apache Tomcat to 

/usr/local/dataprotection/apache-tomcat-9.0.45/webapps/ROOT

Można to zmienić w zależności od wersji IDPA, nad którą pracujesz.

  1. Potwierdź , że index.jsp istnieje w katalogu:
acm:/usr/local/dataprotection/apache-tomcat-9.0.45/webapps/ROOT # ls -la
total 188
drwxr-x--- 3 idpauser idpauser  4096 Nov 12 00:29 .
drwxr-x--- 6 idpauser idpauser  4096 Dec  6 17:00 ..
-rw-r----- 1 idpauser idpauser 12243 Feb  4  2022 1
-rw-r----- 1 idpauser idpauser  6898 Mar 30  2021 RELEASE-NOTES.txt
drwxr-x--- 2 idpauser idpauser  4096 May  7  2021 WEB-INF
-rw-r----- 1 idpauser idpauser 27235 Mar 30  2021 asf-logo-wide.svg
-rw-r----- 1 idpauser idpauser   713 Mar 30  2021 bg-button.png
-rw-r----- 1 idpauser idpauser  1918 Mar 30  2021 bg-middle.png
-rw-r----- 1 idpauser idpauser  1401 Mar 30  2021 bg-nav.png
-rw-r----- 1 idpauser idpauser  3103 Mar 30  2021 bg-upper.png
-rw-r----- 1 idpauser idpauser 21630 Mar 30  2021 favicon.ico
-rw-r----- 1 idpauser idpauser 12243 Feb  4  2022 index.jsp
-rw-r----- 1 idpauser idpauser  5542 Mar 30  2021 tomcat.css
-rw-r----- 1 idpauser idpauser 67795 Mar 30  2021 tomcat.svg
acm:/usr/local/dataprotection/apache-tomcat-9.0.45/webapps/ROOT # 
  1. Utwórz kopię zapasową istniejącego index.jsp kopiując go do index.jsp.default:
acm:/usr/local/dataprotection/apache-tomcat-9.0.45/webapps/ROOT # cp -p index.jsp index.jsp.default

 

UWAGA: Aby uzyskać więcej informacji, przed wdrożeniem obejścia uruchom polecenie curl -kv https://localhost:8543. Te dane wyjściowe powinny być używane w kroku 8 do porównywania danych wyjściowych po obejściu.

 

  1. Utwórz nowy plik o nazwie index.jsp i zastąp jego treść następującym tekstem:
<html>
<body>
<%
response.sendRedirect("../dataprotection/");
%>
</body>
</html>

Oto prosta procedura tworzenia i edytowania pliku index.jsp pliku:

  1. Usuń istniejący index.jsp
rm index.jsp
  1. Utwórz nowy index.jsp za pomocą edytora VI.
vi index.jsp
  1. Naciśnij i , aby przejść do trybu wstawiania. Pozwala to na edycję do pliku.
  2. Skopiuj powyższy tekst i wklej go do edytora vi.
  3. Wyjdź z trybu wstawiania, naciskając Esc
  4. Zapisz zmiany i wyjdź z vi, wpisując :wq! i naciskając Enter.
  1. Sprawdź zawartość index.jsp za pomocą następujących poleceń:
acm:/usr/local/dataprotection/apache-tomcat-9.0.45/webapps/ROOT # ls -la
total 192
drwxr-x--- 3 idpauser idpauser  4096 Dec  6 17:05 .
drwxr-x--- 6 idpauser idpauser  4096 Dec  6 17:00 ..
-rw-r----- 1 idpauser idpauser 12243 Feb  4  2022 1
-rw-r----- 1 idpauser idpauser  6898 Mar 30  2021 RELEASE-NOTES.txt
drwxr-x--- 2 idpauser idpauser  4096 May  7  2021 WEB-INF
-rw-r----- 1 idpauser idpauser 27235 Mar 30  2021 asf-logo-wide.svg
-rw-r----- 1 idpauser idpauser   713 Mar 30  2021 bg-button.png
-rw-r----- 1 idpauser idpauser  1918 Mar 30  2021 bg-middle.png
-rw-r----- 1 idpauser idpauser  1401 Mar 30  2021 bg-nav.png
-rw-r----- 1 idpauser idpauser  3103 Mar 30  2021 bg-upper.png
-rw-r----- 1 idpauser idpauser 21630 Mar 30  2021 favicon.ico
-rw-r----- 1 idpauser idpauser    81 Feb 10 05:27 index.jsp
-rw-r----- 1 idpauser idpauser 12243 Feb  4  2022 index.jsp.default
-rw-r----- 1 idpauser idpauser  5542 Mar 30  2021 tomcat.css
-rw-r----- 1 idpauser idpauser 67795 Mar 30  2021 tomcat.svg

acm:/usr/local/dataprotection/apache-tomcat-9.0.45/webapps/ROOT # cat index.jsp
<html>
<body>
<%
response.sendRedirect("../dataprotection/");
%>
</body>
</html>
acm:/usr/local/dataprotection/apache-tomcat-9.0.45/webapps/ROOT #
  1. Otwórz przeglądarkę internetową i przejdź do strony internetowej ACM, a następnie sprawdź, czy działa poprawnie. Podczas otwierania strony internetowej ACM:
https://<ACM IP Adddress>:8543/
Powinien on automatycznie przekierowywać:
https://<ACM IP Adddress>:8543/dataprotection/#/login
  1. Sprawdź zmiany w wierszu polecenia ACM:
Przed wdrożeniem obejścia należy wykonać następujące czynności: curl -kv https://localhost:8543 byłoby podobne do:
 
UWAGA: Polecenie curl -kv https://<ACM IP address>:8543 zwraca ten sam wynik:
 
acm:/usr/local/dataprotection/apache-tomcat-9.0.45/webapps/ROOT # curl -kv https://localhost:8543
* Rebuilt URL to: https://localhost:8543/
*   Trying 12x.0.0.1...
* TCP_NODELAY set
* Connected to localhost (12x.0.0.1) port 8543 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* Cipher selection: ALL:!EXPORT:!EXPORT40:!EXPORT56:!aNULL:!LOW:!RC4:@STRENGTH
* TLSv1.2 (OUT), TLS header, Certificate Status (22):
* TLSv1.2 (OUT), TLS handshake, Client hello (1):
* TLSv1.2 (IN), TLS handshake, Server hello (2):
* TLSv1.2 (IN), TLS handshake, Certificate (11):
* TLSv1.2 (IN), TLS handshake, Server key exchange (12):
* TLSv1.2 (IN), TLS handshake, Server finished (14):
* TLSv1.2 (OUT), TLS handshake, Client key exchange (16):
* TLSv1.2 (OUT), TLS change cipher, Client hello (1):
* TLSv1.2 (OUT), TLS handshake, Finished (20):
* TLSv1.2 (IN), TLS change cipher, Client hello (1):
* TLSv1.2 (IN), TLS handshake, Finished (20):
* SSL connection using TLSv1.2 / ECDHE-RSA-AES256-SHA384
* ALPN, server did not agree to a protocol
* Server certificate:
*  subject: C=US; ST=California; L=Irvine; O=EMC; OU=Avamar; CN=localhost.localdom
*  start date: Feb  4 12:27:16 2022 GMT
*  expire date: Feb  2 12:27:16 2032 GMT
*  issuer: C=US; ST=California; L=Irvine; O=EMC; OU=Avamar; CN=localhost.localdom
*  SSL certificate verify result: self signed certificate (18), continuing anyway.
> GET / HTTP/1.1
> Host: localhost:8543
> User-Agent: curl/7.60.0
> Accept: */*
>
< HTTP/1.1 200
< Content-Type: text/html;charset=UTF-8
< Transfer-Encoding: chunked
< Date: Fri, 10 Feb 2023 05:39:29 GMT
< Connection: close
< Server: DataDomain
<



<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <title>Apache Tomcat/9.0.45</title>
        <link href="favicon.ico" rel="icon" type="image/x-icon" />
        <link href="tomcat.css" rel="stylesheet" type="text/css" />
     <script>window.location = window.location.origin + "/dataprotection/"; </script></head>

    <body>
        <div id="wrapper">
            <div id="navigation" class="curved container">
                <span id="nav-home"><a href="https://tomcat.apache.org/">Home</a></span>
                <span id="nav-hosts"><a href="/docs/">Documentation</a></span>
                <span id="nav-config"><a href="/docs/config/">Configuration</a></span>
                <span id="nav-examples"><a href="/examples/">Examples</a></span>
                <span id="nav-wiki"><a href="https://wiki.apache.org/tomcat/FrontPage">Wiki</a></span>
                <span id="nav-lists"><a href="https://tomcat.apache.org/lists.html">Mailing Lists</a></span>
                <span id="nav-help"><a href="https://tomcat.apache.org/findhelp.html">Find Help</a></span>
                <br class="separator" />
            </div>
            <div id="asf-box">
                <h1>Apache Tomcat/9.0.45</h1>
            </div>
            <div id="upper" class="curved container">
                <div id="congrats" class="curved container">
                    <h2>If you're seeing this, you've successfully installed Tomcat. Congratulations!</h2>
                </div>

... skipped

    </body>

</html>


Po zaimplementowaniu obejścia dane wyjściowe powinny wyglądać następująco:
 

acm:/usr/local/dataprotection/apache-tomcat-9.0.45/webapps/ROOT # curl -kv https://localhost:8543
* Rebuilt URL to: https://localhost:8543/
*   Trying 12x.0.0.1...
* TCP_NODELAY set
* Connected to localhost (12x.0.0.1) port 8543 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* Cipher selection: ALL:!EXPORT:!EXPORT40:!EXPORT56:!aNULL:!LOW:!RC4:@STRENGTH
* TLSv1.2 (OUT), TLS header, Certificate Status (22):
* TLSv1.2 (OUT), TLS handshake, Client hello (1):
* TLSv1.2 (IN), TLS handshake, Server hello (2):
* TLSv1.2 (IN), TLS handshake, Certificate (11):
* TLSv1.2 (IN), TLS handshake, Server key exchange (12):
* TLSv1.2 (IN), TLS handshake, Server finished (14):
* TLSv1.2 (OUT), TLS handshake, Client key exchange (16):
* TLSv1.2 (OUT), TLS change cipher, Client hello (1):
* TLSv1.2 (OUT), TLS handshake, Finished (20):
* TLSv1.2 (IN), TLS change cipher, Client hello (1):
* TLSv1.2 (IN), TLS handshake, Finished (20):
* SSL connection using TLSv1.2 / ECDHE-RSA-AES256-SHA384
* ALPN, server did not agree to a protocol
* Server certificate:
*  subject: C=US; ST=California; L=Irvine; O=EMC; OU=Avamar; CN=localhost.localdom
*  start date: Feb  4 12:27:16 2022 GMT
*  expire date: Feb  2 12:27:16 2032 GMT
*  issuer: C=US; ST=California; L=Irvine; O=EMC; OU=Avamar; CN=localhost.localdom
*  SSL certificate verify result: self signed certificate (18), continuing anyway.
> GET / HTTP/1.1
> Host: localhost:8543
> User-Agent: curl/7.60.0
> Accept: */*
>
< HTTP/1.1 302
< Set-Cookie: JSESSIONID=3396A12A1A458BBB4DDCB636A72B66EE; Path=/; Secure; HttpOnly
< Location: ../dataprotection/
< Content-Type: text/html;charset=ISO-8859-1
< Content-Length: 0
< Date: Fri, 10 Feb 2023 05:42:58 GMT
< Connection: close
< Server: DataDomain
<
* Closing connection 0
* TLSv1.2 (OUT), TLS alert, Client hello (1):

Additional Information

Jeśli strona internetowa ACM pokazuje "HTTP Status 500 - Internal Server Error" po wykonaniu powyższej procedury, na przykład:

Zaloguj się do ACM przy użyciu SSH jako użytkownika głównego, a następnie uruchom ponownie usługę ACM za pomocą następujących poleceń:

service dataprotection_webapp stop
service dataprotection_webapp start

Następnie ponownie załaduj stronę internetową ACM.

W razie potrzeby skontaktuj się z pomocą techniczną firmy Dell , aby uzyskać dalszą pomoc.

Affected Products

PowerProtect DP4400, PowerProtect DP5300, PowerProtect DP5800, PowerProtect DP8300, PowerProtect DP8800, PowerProtect Data Protection Software, Integrated Data Protection Appliance Family, Integrated Data Protection Appliance Software , PowerProtect DP5900, PowerProtect DP8400, PowerProtect DP8900 ...
Article Properties
Article Number: 000206114
Article Type: How To
Last Modified: 25 Aug 2025
Version:  11
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.