Практическо ръководство за закаляване и обезопасяване на Apache Tomcat Server с най-добрите практики.


Tomcat е един от най-популярните сървъри за сървъри и JSP контейнери. Използва се от някои от следните уебсайтове с голям трафик:

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

По-долу е показана пазарната позиция на Tomcat в сървъра за приложения на Java.

Източник: Plumbr

Технически можете да използвате Tomcat като преден сървър, за да обслужвате директно заявките на сайта. Въпреки това, в производствена среда, може да искате да използвате някои уеб сървъри като Apache, Nginx като предна част, за да насочите заявките към Tomcat.

Използването на уеб сървър за обработка на заявките дава производителност и сигурност Ползи. Ако използвате HTTP Apache като преден уеб сървър, трябва да помислите и за осигуряването му.

Наличието на конфигурация Tomcat по подразбиране може да изложи чувствителна информация, което помага на хакера да се подготви за атака срещу приложението.

Следните са тествани на Tomcat 7.x, UNIX среда.

Публика

Това е предназначено за администратор на Middleware, поддръжка на приложения, системен анализатор или всеки, който работи или има желание да научи Tomcat закаляване и сигурност.

Добро познаване на Tomcat & Командата UNIX е задължителна.

бележки

Нуждаем се от някакъв инструмент за проверка на HTTP заглавките за проверка. Има два начина да направите това.

Ако тества Интернет изложение приложение, тогава можете да използвате следните инструменти на HTTP Header, за да проверите изпълнението.

И за ан Интранет приложение, може да използвате Google Chrome, инструменти за разработчици на Firefox.

Като най-добра практика трябва да вземете a резервно копие на всеки файл, който ще промените.

Ще наречем папката за инсталиране на Tomcat като $ котарак в настоящите насоки.

Да преминем през втвърдяването & процедури за обезопасяване.

Премахване на банер на сървъра

Премахването на сървърния банер от HTTP Header е едно от първите неща, които се правят като втвърдяване.

Наличието на банер на сървъра излага на продукта и версията, които използвате, и води до уязвимост на изтичане на информация.

По подразбиране страница, обслужвана от Tomcat, ще се покаже така.

Да скрием подробности за продукта и версията от заглавката на сървъра.

  • Отидете в папката $ tomcat / conf
  • Променете server.xml с помощта на vi
  • Добавете следното към порта на конектора

Сървър = ”“

Например: –

  • Запазете файла и рестартирайте Tomcat. Сега, когато имате достъп до приложение, трябва да видите празна стойност за заглавката на сървъра.

Стартиране на Tomcat с мениджър за сигурност

Security Manager ви защитава от ненадежден аплет, работещ във вашия браузър.

Пускането на Tomcat с мениджър по сигурността е по-добре от това да работиш без такъв. Tomcat има отлична документация за Tomcat Security Manager.

Хубавото на това е, че не е необходимо да променяте конфигурационен файл. Това е само начинът, по който изпълнявате startup.sh файл.

Всичко, което трябва да направите, е да започнете tomcat с аргумент за сигурност.

[[Имейл защитен] bin] # ./startup.sh -защита
Използване на CATALINA_BASE: / opt / tomcat
Използване на CATALINA_HOME: / opt / tomcat
Използване на CATALINA_TMPDIR: / opt / tomcat / temp
Използване на JRE_HOME: / usr
Използване на CLASSPATH: /opt/tomcat/bin/bootstrap.jar:/opt/tomcat/bin/tomcat-juli.jar
Използване на Security Manager
Токат започна.
[[Имейл защитен] бин] #

Активиране на SSL / TLS

Обслужването на уеб заявки през HTTPS е от съществено значение за защита на данните между клиент и Tomcat. За да направите вашето уеб приложение достъпно чрез HTTPS, трябва да внедрите SSL сертификат.

Ако приемем, че вече имате готов магазин за ключове със сертификата, можете да добавите по-долу ред в файл server.xml под секцията порт на конектора.

SSLEnabled ="вярно" схема ="HTTPS" keystoreFile ="SSL / bloggerflare.jks" keystorePass ="Chandan" clientAuth ="фалшив" sslProtocol ="TLS"

Променете името и паролата на файла Keystore с вашите.

Ако имате нужда от помощ в магазина за ключове & CSR процес, след това вижте това ръководство.

Прилагане на HTTPS

Това е приложимо само когато сте активирали SSL. Ако не, то ще прекъсне приложението.

След като активирате SSL, би било добре да принудите да пренасочите всички HTTP заявки към HTTPS за сигурна комуникация между потребителя и сървъра на приложения Tomcat.

  • Отидете в папката $ tomcat / conf
  • Променете web.xml с помощта на vi
  • Добавете следното преди синтаксиса

Защитен контекст
/ *

ПОВЕРИТЕЛНО

  • Запазете файла и рестартирайте Tomcat

Добавете Безопасно & HttpOnly знаме на бисквитката

Възможно е да се открадне или манипулира сесия на уеб приложение и бисквитки, без да имате сигурна бисквитка. Това е флаг, който се инжектира в заглавката на отговора.

Това става, като се добави под реда в секцията за конфигуриране на сесията на файла web.xml

вярно
вярно

Снимка на конфигурацията:

Запазете файла и рестартирайте Tomcat, за да разгледате заглавката на отговорите на HTTP.

Пуснете Tomcat от непривилегирован акаунт

Добре е да използвате отделен непривилегирован потребител за Tomcat. Идеята тук е да защитим други услуги, работещи в случай, че някой от профилите бъде компрометиран.

  • Създайте потребител на UNIX, да речем tomcat

useradd tomcat

  • Спрете Tomcat, ако работи
  • Променете собствеността на $ tomcat на потребител tomcat

chown -R tomcat: tomcat tomcat /

Стартирайте Tomcat и се уверете, че той работи с tomcat потребител

Премахване на приложения по подразбиране / нежелани

По подразбиране Tomcat се предлага със следните уеб приложения, които могат или не се изискват в производствена среда.

Можете да ги изтриете, за да ги поддържате чисти и да избегнете известен риск за сигурността с приложението по подразбиране Tomcat.

  • ROOT – Приветстваща страница по подразбиране
  • Документи – документация на Tomcat
  • Примери – JSP и сервлети за демонстрация
  • Мениджър, хост-мениджър – администрация на Tomcat

Те са достъпни в папка $ tomcat / webapps

[[Имейл защитен] webapps] # ls -lt
drwxr-xr-x 14 tomcat tomcat 4096 септември 29 15:26 док
drwxr-xr-x 7 tomcat tomcat 4096 септември 29 15:26 примери
drwxr-xr-x 5 tomcat tomcat 4096 септември 29 15:26 хост-мениджър
drwxr-xr-x 5 tomcat tomcat 4096 септември 29 септември 15:26 мениджър
drwxr-xr-x 3 tomcat tomcat 4096 Sep 29 15:26 ROOT
[[Имейл защитен] webapps] #

Промяна на SHUTDOWN порт и команда

По подразбиране tomcat е конфигуриран за изключване на 8005 порт.

Знаете ли, че можете да изключите tomcat екземпляр, като направите telnet до IP: порт и издадете команда SHUTDOWN?

Chandans # telnet localhost 8005
Пробвам: 1 … telnet:
свържете се с адрес :: 1:
Връзката е отказана Опитайте 127.0.0.1…
Свързан е с localhost.
Героят за бягство е ‘^]’.
SHUTDOWN Връзката е затворена от чужд хост.
Chandans #

опасно!

Виждате ли, че конфигурирането по подразбиране води до риск с висока сигурност.

Препоръчва се да промените порта за изключване на tomcat и командата по подразбиране на нещо непредсказуемо.

  • Променете следното в server.xml

8005 – Промяна на друг неизползван порт

SHUTDOWN – Промяна на нещо сложно

бивш-

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

Като страница по подразбиране за не е намерена, забранена, грешката на сървъра разкрива подробности за версията.

Нека да разгледаме страницата по подразбиране 404.

За да смекчите, първо трябва да създадете обща страница с грешки и да конфигурирате web.xml, за да пренасочите към обща страница с грешки.

  • Отидете на приложението $ tomcat / webapps / $
  • Създайте файл error.jsp с помощта на редактор vi

Страница за грешка

Това е грешка!

  • Отидете в папката $ tomcat / conf
  • Добавете следното във файла web.xml. Уверете се, че добавяте преди синтаксиса

404
/error.jsp

403
/error.jsp

500
/error.jsp

  • Рестартирайте tomcat сървъра, за да го тествате

Много по-добре!

Можете да направите това и за java.lang.Exception. Това ще помогне да не се излага информация за версията на tomcat, ако има изключение от java lang.

Просто добавете следване в web.xml и рестартирайте tomcat сървъра.

java.lang.Exception
/error.jsp

Надявам се, че горното ръководство ви дава идея за осигуряване на Tomcat. Ако искате да научите повече за администрацията на Tomcat, проверете това онлайн курс.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me