Я копал, как сделать «упрочнение кота» на встроенном коте, и я не могу найти способ изменить эти 3 свойства информации о сервере каталины: server.info
, server.built
, server.number
Есть ли способ изменить эти 3 свойства в файле spring application.property? Или любым другим способом?
Конфигурация ниже представляет собой руководство по усилению защиты сервера tomcat специально для ServerInfo.properties, но НЕ для встроенного tomcat
Обоснование:
Изменение атрибута server.info может затруднить злоумышленникам определение уязвимостей, влияющих на платформу сервера.Требуемая конфигурация:
Выполните следующие действия, чтобы изменить строку платформы сервера, которая отображается, когда клиенты подключаются к серверу tomcat.
- Извлеките файл ServerInfo.properties из файла catalina.jar: $ cd $ CATALINA_HOME / lib $ jar xf catalina.jar org / apache / catalina / util / ServerInfo.properties
- Перейдите в каталог util, который был создан cd org / apache / Catalina / util
- Откройте ServerInfo.properties в редакторе
- Обновите атрибут server.info в файле ServerInfo.properties. server.info =
- Обновите catalina.jar измененным файлом ServerInfo.properties. $ jar uf catalina.jar org / apache / catalina / util / ServerInfo.properties
ОБНОВИТЬ:
Я попытался изменить толстую банку приложения, перезаписав tomcat-embed-core-9.0.36 с измененными в нем ServerInfo.properties. Но когда я запускаю приложение через Java, у меня возникает такая ошибка:
Причина: java.lang.IllegalStateException: невозможно открыть вложенную запись «BOOT-INF / lib / tomcat-embed-core-9.0.36.jar». Он был сжат, и вложенные файлы jar должны храниться без сжатия. Пожалуйста, проверьте механизм, используемый для создания вашего исполняемого файла jar на org.springframework.boot.loader.jar.JarFile.createJarFileFromFileEntry (JarFile.java:283) на org.springframework.boot.loader.jar.JarFile.createJarFileFileFileFileFileFile : 265) в org.springframework.boot.loader.jar.JarFile.getNestedJarFile (JarFile.java:254) ... еще 6