Windows как и другие операционные системы конечно, тоже требует настройки всех сетевых параметров, про которые мы говорили в прошлых публикациях. Но у нее почему то не предусмотрено простого и шаблонного решения и многие настройки даже отсутствуют в стандартных административных шаблонах. Читать
Архив метки: security
Как реализовать защиту по SSL в Apache 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
В приведенных выше командах есть две переменные, которые вы можете изменить.
Alias – лучше сохранить его значимым, поэтому в будущем вы сможете быстро распознать. Я предпочитаю хранить его как доменное имя.
Filename- опять же, полезно сохранить доменное имя.
Пример:
[root@itsecforu.ru ssl]# keytool -genkey -alias itsecforu.ru -keyalg RSA -keysize 2048 -keystore itsecforu.ru .jks Enter keystore password: Re-enter new password: What is your first and last name? [Unknown]: itsecforu.ru What is the name of your organizational unit? [Unknown]: itsecf What is the name of your organization? [Unknown]: itsecforu What is the name of your City or Locality? [Unknown]: What is the name of your State or Province? [Unknown]: What is the two-letter country code for this unit? [Unknown]: Is CN=itsecforu.ru , OU=itsecforu.ru , O=itsecforu.ru , L=Unknown, ST=Unknown, C=Unknown correct? [no]: yes Enter key password for <itsecforu.ru > (RETURN if same as keystore password): [root@itsecforu.ru ssl]#
Обратите внимание на первый и последний вопрос. Думаю, это немного обманчиво. Это не ваше имя, а имя домена, которое вы хотите защитить.
После того, как вы предоставите всю информацию, он создаст файл хранилища ключей в текущем рабочем каталоге.
Далее следует создать новый CSR с вновь созданным хранилищем ключей с помощью команды, представленной ниже.
# keytool -certreq -alias itsecforu -keyalg RSA -file itsecforu.csr -keystore itsecforu.jks
Это действие создаст CSR, который необходимо отправить в центр сертификации, чтобы получить его.
Если вы тренеруетесь или пробуете, вы можете подумать о том, что можете использовать БЕСПЛАТНЫЙ провайдер сертификатов, чтобы дальше в случае серьезности перейти на премиальный.
Я получил подписанный сертификат и перейду к импорту в хранилище ключей с помощью команды ниже.
Импорт корневого сертификата предоставленного поставщиком:
# keytool -importcert -alias root -file root -keystore itsecforu.jks
Импортировать промежуточный сертификат:
# keytool -importcert -alias intermediate -file intermediate -keystore itsecforu.jks
Примечание: без импорта корневого и промежуточного, вы не сможете импортировать сертификат домена в хранилище ключей.
Если у вас более одного промежуточного уровня, вы должны импортировать их все.
Импортировать сертификат домена
# keytool -importcert -file itsecforu.cer -keystore itsecforu.jks -alias itsecforu
и вы получите подтверждение, что он был установлен.
Certificate reply was installed in keystore
Отлично, мы видим что хранилище сертификатов уже готово.
Перейдем к следующему шагу.
Включить SSL в Tomcat
Предполагая, что вы все еще зарегистрированы на сервере Tomcat, перейдите в папку conf
- Сделайте резервную копию файла server.xml
- Перейдите в раздел <Connector port = “8080” protocol = “HTTP / 1.1” и добавьте строку:
SSLEnabled="true" scheme="https" keystoreFile="ssl/bloggerflare.jks" keystorePass="chandan" clientAuth="false" sslProtocol="TLS"
3. Не забудьте изменить имя и пароль файла хранилища ключей на свои
4. Перезапустите tomcat, и вы увидите, что Tomcat доступен через HTTPS
Стандартный порт HTTPS
Зачем?
Ну, если вы посмотрите на скриншот выше, я обращаюсь к Tomcat с портом 8080 по https, который не является стандартным и еще несколько причин.
Вы не хотите спрашивать пользователей использовать ли пользовательский порт
Браузер будет выдавать предупреждение, поскольку сертификат выдается на имя домена без порта
Поэтому идея состоит в том, чтобы заставить Tomcat прослушивать порт 443, чтобы он был доступен только через https: // без номера порта.
Для этого отредактируйте файл server.xml вашим любимым тестовым редактором
- Перейдите к <Connector port = “8080”
- Изменить порт с 8080 до 443
- Это должно выглядеть так
<Connector port="443" protocol="HTTP/1.1" connectionTimeout="20000" SSLEnabled="true" scheme="https" keystoreFile="ssl/bloggerflare.jks" keystorePass="chandan" clientAuth="false" sslProtocol="TLS" redirectPort="8443" />
Перезапустите Tomcat и получите доступ к вашему приложению с помощью https без номера порта
Впечатляет, это успех!
Проверка уязвимости SSL / TLS
Наконец, мы проведем тест, чтобы убедиться, что он не уязвим для онлайн-угроз.
Существует множество онлайн-инструментов, которые я обсуждал здесь, и здесь я буду использовать SSL Labs.
Перейдите в SSL Labs и введите URL-адрес, чтобы начать тест
Как видно, наш рейтинг зеленый
Тем не менее, всегда будет не лишним прокрутить вниз отчет и посмотреть, обнаружите ли вы какую-либо уязвимость и исправьте ее при наличии.
Надеюсь, это поможет вам узнать о процедуре обеспечения безопасности Tomcat с сертификатом SSL / TLS.
Усиление сетевых настроек Linux
Уязвимость NAS Seagate
Вот и NAS от Seagate отличились (Seagate Personal Cloud Home Media Storage).
В отличии от Western Digital не явный бэкдор, а все лишь ошибки в функционале.
NAS предоставляет для управления веб-приложение Media Server.
С помощью запросов к его функциям getLogs и uploadTelemetry можно выполнить произвольный код на устройстве.
Веб-приложение доступно только из локальной сети, но можно заставить пользователя отправить вредоносные запросы, заманив на фишинговый сайт.
Уязвимость исправлена в версии прошивки NAS OS v4.3.18.0.
Эксплойт для уязвимости и ее подробное описание доступны: https://blogs.securiteam.com/index.php/archives/3548.
Уязвимость в клиенте BitTorrent Transmission
Опубликована информация о неисправленной еще уязвимости в клиенте BitTorrent Transmission.
Transmission имеет клиент-серверную архитектуру, где клиентский интерфейс доступен через веб-браузер и обращается к серверной части с помощью JSON RPC запросов. Сервер доступен на порту 9091 и по умолчанию – только с локального хоста. Читать
Уязвимость iphone, Ipad Mac
Создана магическая ссылка “iabem97.github.io/chaiOS“. При ее получении в приложении “Сообщения” iPhone, iPad и Mac зависают или перезагружаются.
В таком случае придется закрыть приложение и удалить переписку с данной ссылкой, чтобы оно нормально заработало.
Защититься пока можно, добавив сайт github.io в запрещенные с помощью Родительского контроля. Но причины проблемы еще не полностью выяснены, и возможно появление новых ссылок.




