Водич за учвршћивање и безбедност Апацхе Томцат-а

Практични водич за учвршћивање и безбедност Апацхе Томцат сервера са најбољим праксама.

Томцат је један од најпопуларнијих сервера Сервлет и ЈСП Цонтаинер. Користе га неке од следећих веб локација са великим прометом:

  • ЛинкедИн.цом
  • Даилимаил.цо.ук
  • Цомцаст.нет
  • Валлмарт.цом
  • Реутерс.цом
  • Меетуп.цом
  • Вебс.цом

Доњи графикон приказује тржишну позицију Томцат-а на Јава серверу апликација.

Извор: Плумбр

Технички, можете користити Томцат као фронт-енд сервер за директно опслуживање захтева за сајт. Међутим, у производном окружењу, можда ћете желети да користите неке веб сервере као што су Апацхе, Нгинк као фронт-енд за усмеравање захтева на Томцат.

Коришћење веб сервера за руковање захтевима даје предности перформансама и безбедности. Ако користите Апацхе ХТТП као фронт-енд веб сервер, онда морате размотрити и то да обезбедите.

Подразумевана Томцат конфигурација може открити осетљиве информације, што помаже хакеру да се припреми за напад на апликацију.

Следеће су тестиране на Томцат 7.к, УНИКС окружењу.

Публика

Ово је дизајнирано за администратора средњег софтвера, подршку за апликације, аналитичара система или било кога ко ради или жели да научи Томцат Харденинг и безбедност.

Добро познавање Томцат & УНИКС команде је обавезно.

Напомене

Потребан нам је неки алат за испитивање ХТТП заглавља ради верификације. То можете учинити на два начина.

Ако тестирате апликацију окренуту према Интернету, можете користити следеће алате за ХТТП заглавље да бисте проверили примену.

А за интранет апликацију можете користити Гоогле Цхроме, Фирефок алатке за програмере.

Као најбољу праксу, морате да направите резервну копију било које датотеке коју намеравате да измените.

  Што је добро за ултимативну веб безбедност

У овим смерницама ћемо звати фасциклу Томцат Инсталлатион као $томцат.

Хајде да прођемо кроз поступке очвршћавања и причвршћивања.

Уклони банер сервера

Уклањање серверског банера из ХТТП заглавља је једна од првих ствари које треба урадити као учвршћивање.

Поседовање банера сервера открива производ и верзију коју користите и доводи до рањивости на цурење информација.

Подразумевано, страница коју послужује Томцат ће се приказати овако.

Хајде да сакријемо детаље о производу и верзији из заглавља сервера.

  • Идите у фасциклу $томцат/цонф
  • Измените сервер.кмл користећи ви
  • Додајте следеће на порт конектора
Server =” “

На пример: –

<Connector port="8080" protocol="HTTP/1.1" 
connectionTimeout="20000" 
Server =" "
redirectPort="8443" />
  • Сачувајте датотеку и поново покрените Томцат. Сада, када приступите апликацији, требало би да видите празну вредност за заглавље сервера.

Покретање Томцат-а помоћу менаџера безбедности

Сецурити Манагер вас штити од непоузданог аплета који се покреће у вашем претраживачу.

Покретање Томцат-а са менаџером безбедности је боље него без њега. Томцат има одличну документацију о Томцат Сецурити Манагер.

Добра ствар у вези са овим је што не морате да мењате ниједну конфигурациону датотеку. То је само начин на који извршавате стартуп.сх датотеку.

Све што треба да урадите је да покренете томцат са –сецурити аргументом.

[[email protected] bin]# ./startup.sh -security
Using CATALINA_BASE: /opt/tomcat
Using CATALINA_HOME: /opt/tomcat
Using CATALINA_TMPDIR: /opt/tomcat/temp
Using JRE_HOME: /usr
Using CLASSPATH: /opt/tomcat/bin/bootstrap.jar:/opt/tomcat/bin/tomcat-juli.jar
Using Security Manager
Tomcat started.
[[email protected] bin]#

Омогућите ССЛ/ТЛС

Послуживање веб захтева преко ХТТПС-а је од суштинског значаја за заштиту података између клијента и Томцат-а. Да би ваша веб апликација била доступна преко ХТТПС-а, потребно је да имплементирате ССЛ сертификат.

Под претпоставком да већ имате спремно складиште кључева са сертификатом, можете додати доњи ред у сервер.кмл датотеци у одељку Порт конектора.

SSLEnabled="true" scheme="https" keystoreFile="ssl/bloggerflare.jks" keystorePass="chandan" clientAuth="false" sslProtocol="TLS"

Промените име датотеке и лозинку за Кеисторе својим.

  Како променити подразумевани фонт у Оутлоок-у

Ако вам је потребна помоћ у вези са складиштењем кључева и процесом ЦСР-а, погледајте овај водич.

Примени ХТТПС

Ово је применљиво само када сте омогућили ССЛ. Ако не, поквариће апликацију.

Када омогућите ССЛ, било би добро да принудно преусмерите све ХТТП захтеве на ХТТПС ради безбедне комуникације између корисника и Томцат сервера апликација.

  • Идите у фасциклу $томцат/цонф
  • Измените веб.кмл користећи ви
  • Додајте следеће пре синтаксе
<security-constraint> 
<web-resource-collection> 
<web-resource-name>Protected Context</web-resource-name> 
<url-pattern>/*</url-pattern>
</web-resource-collection> 
<user-data-constraint> 
<transport-guarantee>CONFIDENTIAL</transport-guarantee> 
</user-data-constraint> 
</security-constraint>
  • Сачувајте датотеку и поново покрените Томцат

Могуће је украсти или манипулисати сесијом веб апликације и колачићима без безбедног колачића. То је заставица која се убацује у заглавље одговора.

Ово се ради додавањем испод линије у секцију конфигурација сесије веб.кмл датотеке

<cookie-config>
<http-only>true</http-only>
<secure>true</secure>
</cookie-config>

Снимак екрана конфигурације:

Сачувајте датотеку и поново покрените Томцат да бисте испитали заглавље ХТТП одговора.

Покрените Томцат са непривилегованог налога

Добро је користити засебног непривилегованог корисника за Томцат. Идеја је да се заштите други сервиси који раде у случају да било који налог буде компромитован.

  • Креирајте УНИКС корисника, рецимо томцат
useradd tomcat
  • Зауставите Томцат ако трчи
  • Промените власништво $томцат у корисника томцат
chown -R tomcat:tomcat tomcat/

Покрените Томцат и уверите се да ради са томцат корисником

Уклоните подразумеване/нежељене апликације

Томцат подразумевано долази са следећим веб апликацијама, које могу или не бити потребне у производном окружењу.

Можете да их избришете да бисте били чисти и избегли било који познати безбедносни ризик са Томцат подразумеваном апликацијом.

  • РООТ – подразумевана страница добродошлице
  • Документи – Томцат документација
  • Примери – ЈСП и сервлети за демонстрацију
  • Менаџер, хост-менаџер – Томцат администрација

Доступни су у фолдеру $томцат/вебаппс

[[email protected] webapps]# ls -lt
drwxr-xr-x 14 tomcat tomcat 4096 Sep 29 15:26 docs
drwxr-xr-x 7 tomcat tomcat 4096 Sep 29 15:26 examples
drwxr-xr-x 5 tomcat tomcat 4096 Sep 29 15:26 host-manager
drwxr-xr-x 5 tomcat tomcat 4096 Sep 29 15:26 manager
drwxr-xr-x 3 tomcat tomcat 4096 Sep 29 15:26 ROOT
[[email protected] webapps]#

Промените СХУТДОВН порт и команду

Подразумевано, томцат је конфигурисан да се искључи на 8005 порту.

  6 најбољих Гхост Публисхинг хостинг платформи за ваше пословање

Да ли знате да можете искључити томцат инстанцу тако што ћете извршити телнет на ИП: порт и издати команду СХУТДОВН?

Chandans # telnet localhost 8005
Trying ::1... telnet:
connect to address ::1:
Connection refused Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
SHUTDOWN Connection closed by foreign host.
Chandans #

Опасно!

Видите, подразумевана конфигурација доводи до високог безбедносног ризика.

Препоручује се да промените порт за искључивање томцата и подразумевану команду у нешто непредвидиво.

  • Измените следеће у сервер.кмл
<Server port="8005" shutdown="SHUTDOWN">

8005 – Промена на неки други неискоришћени порт

ИСКЉУЧИВАЊЕ – Пребаците се на нешто компликовано

бивши

<Server port="8867" shutdown="NOTGONNAGUESS">

Замените подразумевану страницу 404, 403, 500

Подразумевана страница за грешку сервера није пронађена, забрањена, открива детаље о верзији.

Хајде да погледамо подразумевану 404 страницу.

Да бисте ублажили последице, прво можете да направите страницу са општом грешком и конфигуришете веб.кмл да преусмерава на страницу опште грешке.

  • Идите на $томцат/вебаппс/$апплицатион
  • Направите датотеку еррор.јсп користећи ви едитор
<html>
<head> 
<title>Error Page</title>
</head>
<body> That's an error! </body>
</html>
  • Идите у фасциклу $томцат/цонф
  • Додајте следеће у датотеку веб.кмл. Обавезно додајте синтаксу пре
<error-page> 
<error-code>404</error-code> 
<location>/error.jsp</location>
</error-page>
<error-page> 
<error-code>403</error-code> 
<location>/error.jsp</location>
</error-page>
<error-page> 
<error-code>500</error-code> 
<location>/error.jsp</location>
</error-page>
  • Поново покрените томцат сервер да бисте га тестирали

Много боље!

Ово можете учинити и за јава.ланг.Екцептион. Ово ће помоћи да се не излажу информације о верзији томцат-а ако постоји било какав изузетак јава ланг.

Само додајте следеће у веб.кмл и поново покрените томцат сервер.

<error-page> 
<exception-type>java.lang.Exception</exception-type> 
<location>/error.jsp</location>
</error-page>

Надам се да вам горњи водич даје идеју како да обезбедите Томцат. Ако желите да сазнате више о администрацији Томцат-а, погледајте ово онлајн курс.
Такође, научите како да конфигуришете ВАС да престане да тражи лозинку током искључивања овде.