Как реализовать SSL в Apache Tomcat?

Пошаговое руководство по настройке сертификата SSL / TLS на сервере Tomcat..


Одной из важных задач для защиты Tomcat является настройка SSL-сертификата, чтобы веб-приложение было доступно через HTTPS.

Есть много способов добиться этого.

  • Вы можете прекратить SSL на балансировщике нагрузки
  • Внедрить SSL на уровне CDN
  • Используйте веб-серверы, такие как Apache, Nginx и т. Д., И внедрите там SSL

Однако, если вы не используете ничего из вышеперечисленного или не используете его в качестве внешнего интерфейса или вам необходимо развернуть SSL напрямую в Tomcat, то вам поможет следующее.

В этой статье мы сделаем как ниже.

  • Создать CSR (запрос на подпись сертификата)
  • Импорт сертификата в файл хранилища ключей
  • Включить SSL в Tomcat
  • Настроить протокол TLS
  • Изменить Tomcat для прослушивания на 443 порту
  • Протестируйте Tomcat на уязвимость SSL

Давайте начнем…

Подготовка к сертификату SSL / TLS

Первым шагом было бы создать CSR и подписать его центр сертификации. Мы будем использовать утилиту keytool для управления сертификатами.

  • Вход на сервер Tomcat
  • Перейти к пути установки Tomcat
  • Создайте папку с именем ssl
  • Выполнить команду для создать хранилище ключей

keytool -genkey -alias domainname -keyalg RSA -keysize 2048 -keystore filename.jks

В приведенных выше командах есть две переменные, которые вы можете изменить.

  1. Псевдоним – лучше сохранить его осмысленным, чтобы в будущем его можно было быстро распознать. Я предпочитаю сохранить это как доменное имя.
  2. Имя файла – опять же, хорошо сохранить доменное имя.

Пример:

[[Электронная почта защищена] ssl] # keytool -genkey -alias bloggerflare -keyalg RSA -keysize 2048 -keystore bloggerflare.jks
Введите пароль хранилища ключей:
Повторно введите новый пароль:
Ваше имя и фамилия?
[Неизвестно]: bloggerflare.com
Как называется ваша организационная единица?
[Неизвестно]: ведение блога
Как называется ваша организация?
[Неизвестно]: Geek Flare
Как называется ваш город или населенный пункт??
[Unknown]:
Как называется ваш штат или провинция??
[Unknown]:
Что такое двухбуквенный код страны для данного устройства?
[Unknown]:
Является ли CN = bloggerflare.com, OU = Blogging, O = Geek Flare, L = Неизвестно, ST = Неизвестно, C = Неизвестно правильно?
[нет да

Введите пароль для ключа
(ВОЗВРАТ если совпадает с паролем хранилища ключей):

[[Электронная почта защищена] SSL] #

Обрати внимание на первый и последний вопрос. Это немного вводит в заблуждение, я думаю. Это не ваше имя, а доменное имя, которое вы хотите защитить.

Как только вы предоставите всю информацию, он создаст файл хранилища ключей в текущем рабочем каталоге.

Далее будет создать новый CSR с недавно созданным хранилищем ключей с помощью команды ниже.

keytool -certreq -alias bloggerflare -keyalg RSA -file bloggerflare.csr -keystore bloggerflare.jks

Это создаст CSR, который вам нужно отправить в центр сертификации, чтобы подписать его. Если вы играете вокруг, то вы можете рассмотреть возможность использования БЕСПЛАТНОГО поставщика сертификатов, иначе перейдите на премиум-сертификат.

Я получил подписанный сертификат и приступлю к импортировать в хранилище ключей с командой ниже.

  • Импорт корневого сертификата предоставляется провайдером

keytool -importcert -alias root -file root -keystore bloggerflare.jks

  • Импорт промежуточного сертификата

keytool -importcert -alias промежуточный -файл промежуточный -keystore bloggerflare.jks

Запись: без импорта корня & промежуточный, вы не сможете импортировать сертификат домена в хранилище ключей. Если у вас есть более одного промежуточного звена, вы должны импортировать их все.

  • Импортировать сертификат домена

keytool -importcert -file bloggerflare.cer -keystore bloggerflare.jks -alias bloggerflare

и вы получите подтверждение, что оно было установлено.

Ответ сертификата был установлен в хранилище ключей

большой, Итак, хранилище ключей сертификатов готово. Давайте перейдем к следующему шагу.

Если вы новичок в SSL и хотите узнать больше, зарегистрируйтесь на этом онлайн-курсе – Операции SSL / TLS.

Включить SSL в Tomcat

Предполагая, что вы все еще вошли на сервер Tomcat, перейдите в папку conf

  • Сделайте резервную копию файла server.xml
  • Перейти в раздел и добавить строку

SSLEnabled ="правда" схема ="HTTPS" keystoreFile ="SSL / bloggerflare.jks" keystorePass ="Chandan" clientAuth ="ложный" SSLProtocol ="TLS"

  • Не забудьте изменить имя файла и пароль хранилища ключей
  • Перезапустите tomcat, и вы увидите, что Tomcat доступен через HTTPS

Сладкий!

Стандартный порт HTTPS

Почему?

Хорошо, если вы посмотрите на скриншот выше, я обращаюсь к Tomcat через 8080 с https, который не является стандартным и еще несколько причин.

  • Вы не хотите просить пользователей использовать пользовательский порт
  • Браузер выдаст предупреждение при выдаче сертификата на доменное имя без порта

Идея состоит в том, чтобы заставить Tomcat прослушивать порт 443, чтобы он был доступен только через https: // без номера порта..

Для этого отредактируйте server.xml в вашем любимом редакторе

  • Перейти к 
  • Изменить порт с 8080 на 443
  • Это должно выглядеть так
  • Перезапустите Tomcat и получите доступ к вашему приложению с помощью https без номера порта.

впечатляющий, это успех!

Тест уязвимости SSL / TLS

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

Есть много онлайн-инструментов, которые я обсуждал здесь, и здесь я буду использовать SSL Labs.

  • Перейти к SSL Labs и введите URL, чтобы начать тест

И его ЗЕЛЕНЫЙ – рейтинг.

Тем не менее, всегда полезно прокрутить отчет вниз и посмотреть, найдете ли вы какую-либо уязвимость и исправите ее..

Так что на сегодня все.

Я надеюсь, что это поможет вам узнать процедуру защиты Tomcat с сертификатом SSL / TLS. Если вы заинтересованы в получении дополнительной информации, я очень рекомендую это курс.

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