Рейтинг:0

Удалить версию Tomcat Apache из приложения на уровне контейнера

флаг cn

Я пытаюсь отправить ПОЛУЧАТЬ запрос к моему приложению, как показано:

Запрос
ПОЛУЧИТЬ /c%3a%5cboot.ini HTTP/1.1
Хост: myapp.io
Принять: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Кэш-контроль: без кеша
Файл cookie: appCookie=MH3.7.9823272323477.1639691466;
User-Agent: Mozilla/5.0 (Windows NT 10.0; x64) AppleWebKit/537.36 (KHTML, например Gecko) Chrome/79.0.39
45,0 Сафари/537,36

Ответ:

HTTP/1.1 400
Соединение: Keep-alive
Длина контента: 795
Язык содержания: en
Тип содержимого: текст/html; кодировка = utf-8
Дата: Чт, 16 декабря 2021 г., 21:51:50 по Гринвичу
<!doctype html><html lang="en"><head><title>Статус HTTP 400 – Неверный запрос</title><style type="text/c
ss"> body {семейство шрифтов: Tahoma, Arial, sans-serif;} h1, h2, h3, b {цвет: белый; цвет фона: # 525D76
;} h1 {размер шрифта: 22 пикселя;} h2 {размер шрифта: 16 пикселей;} h3 {размер шрифта: 14 пикселей;} p {размер шрифта: 12 пикселей;} a {цвет: черный
;} .line {height:1px;background-color:#525D76;border:none;}</style></head><body><h1>Статус HTTP 400
â Неверный запрос</h1><hr class="line" /><p><b>Тип</b> Отчет о состоянии</p><p><b>Сообщение</b> Недопустимый URI
</p><p><b>Описание</b> Сервер не может или не будет обрабатывать запрос из-за чего-то, что
воспринимается как ошибка клиента (например, неверный синтаксис запроса, неверный кадр сообщения запроса или
маршрутизация ложных запросов).</p><hr class="line" /><h3>Apache Tomcat/8.5.68</h3></body></html>

Из этого ответа есть ли способ удалить версию в <h3>Apache Tomcat/8.5.68</h3> и отображать его как просто <h3>Apache Tomcat</h3> на уровне контейнера, так как это проблема безопасности.

Мой Докерфайл выглядит так:

ОТ maven:3.6.3-jdk-11 как строитель

КОПИРОВАТЬ . .
ЗАПУСК mvn clean package -Dapp.host=$MYAPP_HOST

ОТ кота: 8.5-jdk11
ENV TZ=Америка/Нью-Йорк
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

КОПИРОВАТЬ --from=builder ./target/app.war /usr/local/tomcat/webapps/ROOT.war
ЗАПУСК mkdir /usr/local/tomcat/webapps/ROOT
ЗАПУСК cp /usr/local/tomcat/webapps/ROOT.war /usr/local/tomcat/webapps/ROOT/ROOT.war
ЗАПУСК cd /usr/local/tomcat/webapps/ROOT && jar xvf ROOT.war

RUN apt-get update && apt-get install -y nginx && mkdir /etc/nginx/certs
КОПИРОВАТЬ proxy.conf /etc/nginx/
КОПИРОВАТЬ vhosts.conf /etc/nginx/conf.d/

ВЫСТАВИТЬ 443
RUN echo '#!/bin/bash\nnginx\ncatalina.sh run' > start-wrapper.sh && chmod +x start-wrapper.sh && mv start-wrapper.sh /usr/bin/
CMD ["start-wrapper.sh"]

Можно ли удалить версию Apache Tomcat здесь, на уровне контейнера докеров?

флаг jp
https://tomcat.apache.org/tomcat-8.5-doc/security-howto.html#Valves
merilstack avatar
флаг cn
@AlexD может использовать эту команду для изменения версии apache? ```sed -i \ 's#^server.info=.*#server.info=Apache Tomcat#' \ CATALINA_BASE/lib/org/apache/catalina/util/ServerInfo.properties```
Рейтинг:0
флаг in

Информация о версии сервера Apache определяется в коде, а не в конфигурации или внешнем файле. Чтобы изменить это, вам нужно разветвить репо и создать свою собственную версию после внесения изменений.

merilstack avatar
флаг cn
Какое изменение должно быть сделано?

Ответить или комментировать

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