Apache Tomcat Hærdnings- og sikkerhedsvejledning

En praktisk guide til hærdning og sikker Apache Tomcat Server med den bedste praksis.


Tomcat er en af ​​de mest populære Servlet- og JSP Container-servere. Det bruges af nogle af følgende websteder med høj trafik:

  • LinkedIn.com
  • Dailymail.co.uk
  • Comcast.net
  • Wallmart.com
  • Reuters.com
  • Meetup.com
  • Webs.com

Nedenstående diagram viser Tomcats markedsposition på Java-applikationsserveren.

Kilde: Plumbr

Teknisk set kan du bruge Tomcat som en front-end-server til at betjene webstedsanmodninger direkte. I et produktionsmiljø kan du dog bruge nogle webservere som Apache, Nginx som frontend for at rute anmodningerne til Tomcat.

Brug af en webserver til at håndtere anmodningerne giver ydeevne og sikkerhed fordele. Hvis du bruger Apache HTTP som en front-web-server, skal du også overveje at sikre det.

At have Tomcat-standardkonfiguration kan muligvis afsløre følsomme oplysninger, som hjælper hackeren med at forberede sig til et angreb på applikationen.

Følgende testes i Tomcat 7.x, UNIX-miljø.

Publikum

Dette er designet til Middleware-administrator, applikationssupport, systemanalytiker eller enhver der arbejder eller ivrig efter at lære Tomcat-hærdning og sikkerhed.

God viden om Tomcat & UNIX-kommando er obligatorisk.

Noter

Vi har brug for noget værktøj til at undersøge HTTP-headere for verifikation. Der er to måder, du kan gøre dette på.

Hvis testning Internet-vender applikation, kan du muligvis bruge følgende HTTP Header-værktøjer til at verificere implementeringen.

Og for en Intranet-applikation, du kan bruge Google Chrome, Firefox-udviklerværktøjer.

Som bedste praksis skal du tage en backup af enhver fil, du er ved at ændre.

Vi kalder Tomcat installationsmappe som $ tomcat gennem disse retningslinjer.

Lad os gennemgå hærdningen & sikring af procedurer.

Fjern serverbanner

Fjernelse af serverbanner fra HTTP Header er en af ​​de første ting, der skal gøres som hærdning.

Når du har et serverbanner, udsættes det produkt og den version, du bruger, og fører til sårbarhed ved informationslækage.

Som standard vises en side, der serveres af Tomcat, sådan.

Lad os skjule produkt- og versionoplysningerne fra Serverhovedet.

  • Gå til mappen $ tomcat / conf
  • Rediger server.xml ved hjælp af vi
  • Føj følgende til Connector port

Server = ”“

Eks: –

  • Gem filen og genstart Tomcat. Når du nu åbner et program, skal du se en tom værdi for Serverhovedet.

Start Tomcat med en sikkerhedsadministrator

Security Manager beskytter dig mod en ikke-betroet applet, der kører i din browser.

Det er bedre at køre Tomcat med en sikkerhedsadministrator end at køre uden en. Tomcat har fremragende dokumentation om Tomcat Security Manager.

Det gode ved dette er, at du ikke behøver at ændre nogen konfigurationsfil. Det er bare den måde, du udfører startup.sh-fil på.

Alt hvad du skal gøre er at starte tomcat med –sikkerhedsargumentet.

[[Email protected] bin] # ./startup.sh -sikkerhed
Brug af CATALINA_BASE: / opt / tomcat
Brug af CATALINA_HOME: / opt / tomcat
Brug af CATALINA_TMPDIR: / opt / tomcat / temp
Brug af JRE_HOME: / usr
Brug af CLASSPATH: /opt/tomcat/bin/bootstrap.jar:/opt/tomcat/bin/tomcat-juli.jar
Brug af Security Manager
Tomcat startede.
[[Email protected] beholder]#

Aktivér SSL / TLS

At servere webanmodninger via HTTPS er vigtigt for at beskytte data mellem klient og Tomcat. For at gøre din webapplikation tilgængelig via HTTPS, skal du implementere SSL-certifikat.

Forudsat at du allerede har keystore klar med certifikatet, kan du tilføje nedenstående linje i server.xml-fil under Connector port-sektionen.

SSLEnabled ="rigtigt" ordningen ="https" keystoreFile ="ssl / bloggerflare.jks" keystorePass ="chandan" clientAuth ="falsk" sslProtocol ="TLS"

Skift Keystore filnavn og adgangskode med dit.

Hvis du har brug for hjælp til keystore & CSR-processen, se derefter denne vejledning.

Håndhæv HTTPS

Dette gælder kun, når du har aktiveret SSL. Hvis ikke, bryder det applikationen.

Når du har aktiveret SSL, ville det være godt at tvinge omdirigering af alle HTTP-anmodninger til HTTPS for sikker kommunikation mellem bruger til Tomcat-applikationsserver.

  • Gå til mappen $ tomcat / conf
  • Rediger web.xml ved hjælp af vi
  • Tilføj følgende før syntaks

Beskyttet kontekst
/ *

FORTROLIG

  • Gem filen og genstart Tomcat

Tilføj sikker & HttpFlager kun til cookie

Det er muligt at stjæle eller manipulere webapplikationssession og cookies uden at have en sikker cookie. Det er et flag, der indsprøjtes i svarhovedet.

Dette gøres ved at tilføje under linjen i session-config sektionen i web.xml-filen

rigtigt
rigtigt

Konfigurationsskærmbillede:

Gem filen, og genstart Tomcat for at undersøge HTTP-responshovedet.

Kør Tomcat fra en ikke-privilegeret konto

Det er godt at bruge en separat ikke-privilegeret bruger til Tomcat. Ideen her er at beskytte andre tjenester, der kører i tilfælde af, at en konto bliver kompromitteret.

  • Opret en UNIX-bruger, lad os sige tomcat

useradd tomcat

  • Stop Tomcat, hvis du kører
  • Skift $ tomcat ejerskab til bruger tomcat

chown -R tomcat: tomcat tomcat /

Start Tomcat, og sørg for, at den kører med tomcat-bruger

Fjern standard / uønskede applikationer

Som standard kommer Tomcat med følgende webapplikationer, som muligvis er eller ikke kræves i et produktionsmiljø.

Du kan slette dem for at holde det rent og undgå enhver kendt sikkerhedsrisiko med Tomcat standardapplikation.

  • ROOT – Standard velkomstside
  • Dokumenter – Tomcat-dokumentation
  • Eksempler – JSP og servlets til demonstration
  • Manager, vært-manager – Tomcat-administration

De er tilgængelige under $ tomcat / webapps-mappen

[[Email protected] webapps] # ls -lt
drwxr-xr-x 14 tomcat tomcat 4096 29. september 29.26 docs
drwxr-xr-x 7 tomcat tomcat 4096 29. september 15:26 eksempler
drwxr-xr-x 5 tomcat tomcat 4096 29. september 29. 15:26 vært-manager
drwxr-xr-x 5 tomcat tomcat 4096 29. september 15:26 manager
drwxr-xr-x 3 tomcat tomcat 4096 29. september 15:26 ROOT
[[Email protected] webapps] #

Skift SHUTDOWN-port og kommando

Som standard er tomcat konfigureret til at blive lukket på 8005-porten.

Ved du, at du kan lukke tomcat-instansen ved at lave et telnet til IP: port og udstede SHUTDOWN-kommando?

Chandans # telnet localhost 8005
Forsøger :: 1 … telnet:
opret forbindelse til adresse :: 1:
Forbindelse nægtede at prøve 127.0.0.1…
Tilsluttet localhost.
Escape-karakter er ‘^]’.
SHUTDOWN Forbindelse lukket af udenlandsk vært.
Chandans #

Farligt!

Ser du, at standardkonfiguration fører til høj sikkerhedsrisiko.

Det anbefales at ændre tomcat shutdown-port og standardkommando til noget uforudsigeligt.

  • Rediger følgende i server.xml

8005 – Skift til en anden ubrugt port

SHUTDOWN – Skift til noget kompliceret

ex-

Erstat standard 404, 403, 500 side

At have standardsiden for ikke fundet, forbudt, serverfejl afslører versionoplysninger.

Lad os se på standard 404-siden.

For at mindske kan du først oprette en generel fejlside og konfigurere web.xml til at omdirigere til en generel fejlside.

  • Gå til $ tomcat / webapps / $ applikation
  • Opret en error.jsp-fil ved hjælp af vi-editor

Fejlside

Det er en fejl!

  • Gå til mappen $ tomcat / conf
  • Tilføj følgende i web.xml-filen. Sørg for at tilføje før syntaks

404
/error.jsp

403
/error.jsp

500
/error.jsp

  • Genstart tomcat-serveren for at teste den

Meget bedre!

Du kan også gøre dette for java.lang.Exception. Dette vil hjælpe med ikke at afsløre tomcat-versionoplysninger, hvis der er nogen undtagelse fra Java lang.

Bare tilføj følgende i web.xml og genstart tomcat-serveren.

java.lang.Exception
/error.jsp

Jeg håber, at ovenstående guide giver dig en idé om at sikre Tomcat. Hvis du ønsker at lære mere om Tomcat-administration, så tjek dette online kursus.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map