Vodič za utrjevanje in varnost Apache Tomcat

Praktični vodnik za utrjevanje in zavarovanje Apache Tomcat Server z najboljšimi praksami.


Tomcat je eden najbolj priljubljenih strežnikov Servlet in JSP Container. Uporabljajo ga nekatera naslednja spletna mesta z veliko prometa:

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

Spodnji grafikon prikazuje tržni položaj podjetja Tomcat na strežniku aplikacij Java.

Vir: Plumbr

Tehnično lahko Tomcat uporabite kot sprednji strežnik za neposredno posredovanje zahtev na mestu. V produkcijskem okolju boste morda želeli uporabiti nekatere spletne strežnike, kot so Apache, Nginx, za usmerjanje zahtevkov na Tomcat.

Uporaba spletnega strežnika za obravnavo zahtevkov daje izvedba in varnost koristi. Če Apache HTTP uporabljate kot sprednji spletni strežnik, potem morate razmisliti o varovanju tega.

Če imate privzeto konfiguracijo Tomcat, lahko izpostavite občutljive podatke, kar hekerju pomaga, da se pripravi na napad na aplikacijo.

Sledi testiranje na Tomcat 7.x, UNIX okolju.

Občinstvo

Zasnovana je za skrbnika posredniške programske opreme, podpore aplikacij, sistemskega analitika ali vsakogar, ki se ukvarja ali želi, da se nauči utrjevanja in varnosti Tomcat.

Dobro poznavanje Tomcat & Ukaz UNIX je obvezen.

Opombe

Za preverjanje glave HTTP potrebujemo nekaj orodja za preverjanje. Obstajata dva načina.

Če testiramo Internet obrnjen aplikacijo, potem lahko za preverjanje izvajanja uporabite naslednja orodja glave HTTP.

In za an Intranet aplikacija, lahko uporabljate orodja za razvijalce Google Chrome, Firefox.

Kot najboljšo prakso morate upoštevati: rezerva katere koli datoteke, ki jo želite spremeniti.

Tomcat Installation mapo bomo poklicali kot $ tomcat v teh smernicah.

Gremo skozi kaljenje & postopki zavarovanja.

Odstranite strežnik strežnika

Odstranjevanje strežnika strežnika iz glave HTTP je ena izmed prvih stvari, ki se pojavijo pri utrjevanju.

Če imate strežnik pasico, izpostavite izdelek in različico, ki jo uporabljate, in vodi do ranljivosti uhajanja informacij.

Privzeto se bo prikazala stran, ki jo je poslal Tomcat.

Skrijmo podrobnosti o izdelku in različici iz glave strežnika.

  • Pojdite v mapo $ tomcat / conf
  • Spremenite server.xml z vi
  • Na vrata priključka dodajte naslednje

Strežnik = ”“

Primer: –

  • Shranite datoteko in znova zaženite Tomcat. Zdaj, ko dostopate do aplikacije, bi morali videti prazno vrednost za glavo strežnika.

Zagon Tomcat z upraviteljem varnosti

Security Manager vas ščiti pred nezaupljivim programčkom, ki deluje v vašem brskalniku.

Voditi Tomcat z varnostnim managerjem je bolje kot teči brez njega. Tomcat ima odlično dokumentacijo Tomcat Security Manager.

Dobra stvar pri tem je, da vam ni treba spreminjati nobene konfiguracijske datoteke. Je samo način izvajanja datoteke startup.sh.

Vse kar morate storiti je, da začnete tomcat z argumentom varnosti.

[[zaščitena e-pošta] bin] # ./startup.sh -zaščita
Uporaba CATALINA_BASE: / opt / tomcat
Uporaba CATALINA_HOME: / opt / tomcat
Uporaba CATALINA_TMPDIR: / opt / tomcat / temp
Uporaba JRE_HOME: / usr
Uporaba CLASSPATH: /opt/tomcat/bin/bootstrap.jar:/opt/tomcat/bin/tomcat-juli.jar
Uporaba upravitelja varnosti
Začel je Tomcat.
[[zaščitena e-pošta] košara] #

Omogoči SSL / TLS

Vročanje spletnih zahtev prek HTTPS je bistvenega pomena za zaščito podatkov med odjemalcem in Tomcatom. Da bi spletna aplikacija postala dostopna prek HTTPS, morate implementirati SSL potrdilo.

Ob predpostavki, da ste s certifikatom že pripravljeni za shranjevanje ključev, lahko pod datoteko server.xml dodate spodnjo vrstico pod razdelek vrata priključka.

SSLEnabled ="prav" shema ="https" keystoreFile ="ssl / bloggerflare.jks" keystorePass ="chandan" clientAuth ="lažno" sslProtocol ="TLS"

Ime in geslo datoteke Keystore spremenite s svojim.

Če potrebujete pomoč v trgovini s ključi & Postopek CSR, poglejte ta vodnik.

Uveljavite HTTPS

To velja samo, če imate omogočen SSL. Če ne, bo program prekinil.

Ko omogočite SSL, bi bilo dobro, da vse zahteve HTTP preusmerite na HTTPS za varno komunikacijo med uporabnikom in Tomcat aplikacijskim strežnikom.

  • Pojdite v mapo $ tomcat / conf
  • Spremenite web.xml z vi
  • Pred skladnjo dodajte naslednje

Zaščiten kontekst
/ *

ZAUPNO

  • Shranite datoteko in znova zaženite Tomcat

Dodaj varno & Označi HttpOnly na Cookie

Krajo ali manipuliranje seje spletne aplikacije in piškotkov je mogoče brez varnega piškotka. To je zastava, ki se vbrizga v glavo odgovora.

To naredite tako, da pod odsek v razdelku config-session datoteke web.xml dodate pod vrstico

prav
prav

Posnetek zaslona konfiguracije:

Shranite datoteko in znova zaženite Tomcat, da preverite glavo odziva HTTP.

Zaženite Tomcat iz ne privilegiranega računa

Za Tomcat je dobro uporabiti ločenega neuvilegiranega uporabnika. Ideja je zaščititi druge storitve, ki delujejo v primeru, da se kateri koli račun ogrozi.

  • Ustvarite uporabnika UNIX, recimo tomcat

useradd tomcat

  • Zaustavite Tomcat, če teče
  • Spremeni lastništvo $ tomcat v uporabnika tomcat

chown -R tomcat: tomcat tomcat /

Zaženite Tomcat in se prepričajte, da deluje z uporabnikom tomcat

Odstranite privzete / nezaželene aplikacije

Tomcat privzeto vsebuje naslednje spletne aplikacije, ki jih v proizvodnem okolju morda ne potrebujete.

Lahko jih izbrišete, da ostanejo čisti in se izognete vsem znanim varnostnim tveganjem s privzeto aplikacijo Tomcat.

  • ROOT – Privzeta stran dobrodošlice
  • Dokumenti – Tomcat dokumentacija
  • Primeri – JSP in servleti za demonstracijo
  • Manager, vodja gostitelja – Tomcat administracija

Na voljo so v mapi $ tomcat / webapps

[[zaščitena e-pošta] webapps] # ls -lt
drwxr-xr-x 14 tomcat tomcat 4096, 29. septembra 15:26 dokumenti
drwxr-xr-x 7 tomcat tomcat 4096 sep 29. september 15:26 primeri
drwxr-xr-x 5 tomcat tomcat 4096, 29. september 15:26 gostitelj-manager
drwxr-xr-x 5 tomcat tomcat 4096 sep 29. september 15:26 manager
drwxr-xr-x 3 tomcat tomcat 4096 sep 29. september 15:26 ROOT
[[zaščitena e-pošta] webapps] #

Spremenite vrata in ukaz

Tomcat je privzeto konfiguriran za izklop na pristanišču 8005.

Ali veste, da lahko primerek tomcat izklopite tako, da naredite telnet v IP: port in izdate ukaz SHUTDOWN?

Chandans # telnet localhost 8005
Poskusi: 1 … telnet:
povezava do naslova :: 1:
Povezava zavrnjena Poskusi 127.0.0.1…
Povezana z lokalnim gostiteljem.
Znak za izhod v sili je ‘^]’.
SHUTDOWN Povezava zaprta s tujim gostiteljem.
Chandans #

Nevarno!

Vidite, da ima privzeta konfiguracija tveganje z visoko varnostjo.

Priporočamo, da spremenite vrata za izklop in privzeti ukaz tomcat v nekaj nepredvidljivega.

  • V strežniku server.xml spremenite naslednje

8005 – Preklopite na nekatera druga neuporabljena vrata

SHUTDOWN – Spremenite se v nekaj zapletenega

Izv-

Zamenjajte privzeto stran 404, 403, 500

Če privzeta stran ni najdena, je prepovedana, napaka strežnika izpostavi podrobnosti o različici.

Poglejmo privzeto stran 404.

Za ublažitev lahko najprej ustvarite splošno stran z napako in konfigurirate web.xml tako, da se preusmeri na splošno stran z napako.

  • Pojdite na aplikacijo $ tomcat / webapps / $
  • Ustvarite datoteko error.jsp z urejevalnikom vi

Stran z napako

To je napaka!

  • Pojdite v mapo $ tomcat / conf
  • V datoteko web.xml dodajte naslednje. Prepričajte se, da dodate pred skladnjo

404
/error.jsp

403
/error.jsp

500
/error.jsp

  • Znova zaženite tomcat strežnik in ga preizkusite

Precej bolje!

To lahko storite tudi za java.lang.Exception. To bo pomagalo pri izpostavljanju informacij o različici tomcat, če obstajajo izjeme java lang.

Samo dodajte naslednje v web.xml in znova zaženite tomcat strežnik.

java.lang.Exception
/error.jsp

Upam, da vam zgornji vodnik daje idejo, kako zavarovati Tomcat. Če želite izvedeti več o Tomcatovi administraciji, preverite to spletni tečaj.

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