Zabezpečení Manager aplikace u Tomcatu

publikováno: 11.3.2014

Čirou náhodou jsem webu narazil na zmínku o worm Java.Tomdep, který byl objeven koncem minulého roku a napadá Tomcaty, které mají nainstalovanou Manager aplikaci a jednoduchá uživ. jména a hesla (jako je admin / admin, manager / admin, root / tomcat apod.):

Upozornění: Nemusíte se děsit, podle Symantecu to není moc rozšířené. Každopádně mě to donutilo sepsat best practice zabezpečení (nejenom) Manager aplikace.

Pokud Manager aplikaci nepotřebujete, tak ji smažte. To samé se týká dalších web. aplikací, které jsou na Tomcatu ve výchozím nastavení nainstalované. Pokud ji používat chcete, pak je důležité zabezpečení:

  • Samozřejmostí je, aby Tomcat neběžel pod uživatelem root / Administrator. Když ostatní selže, tak tím minimalizujete škody.
  • Pomocí Valve RemoteAddrValve povolte k Manager aplikaci přístup pouze z vybraných IP adres. Nebo to samé pomocí firewallu / předřazeného Apache HTTPD. http://tomcat.apache.org/tomcat-7.0-doc/manager-howto.html
  • Používejte kombinaci dostatečně dlouhého uživ. jména a hesla. Nepoužívat uživ. jména admin, manager, tomcat, root atp. Používejte LockOutRealm pro zabránění brute-force útoku.
  • Nastavte HTTPS tak, aby komunikace mezi Manager aplikací a klientem probíhala zašifrovaně. K tomu je nutné nastavit v [apache-tomcat]/conf/server.xml SSL Connector a v [apache-tomcat]/webapps/manager/WEB-INF/web.xml dovnitř tagu <security-constraint>:
<user-data-constraint>
   <transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>

Reference

Školení mi pomohlo ujasnit si jak má správně probíhat testování kódu, představilo užitečné knihovny a nástroje. Vše bylo podáno zábavnou formou, takže nebyl problém udržet pozornost. Navíc byl výhodou dostatek

Certicon
David

Jedno z nejlepších školení za poslední roky. Kromě seznámení se Springem apod. mě velmi příjemně překvapila hluboká znalost probírané látky a schopnost ji srozumitelně vysvětlit v případě ad hoc dotazů.

Jaroslav

Přestože jsem Cčkař, tak jsem se na školení JUnit dozvěděl nové věci. Zejména co se týče metodiky jednotkového testování a některých odborných termínů.

Retia
Jaromír


Novinky

26.11.2020: On Project Loom, the Reactive model and coroutines

15.11.2020: Porovnání rychlosti String.replace (<= Java 8), Java 9, Java 13+ a StringUtils.replace
Jednu dobu bylo nejlepší použít StringUtils.replace() (do Java 8 včetně), v Java 9 už bylo String.replace() stejně rychlé a od Java 13 je String.replace() rychlejší!

11.11.2020: Docker Hub Rate Limiting
Docker BOHUŽEL začal omezovat počty stažení Docker images