Apache Tomcat уязвим для раскрытия информации из-за более высоких привилегий в Apache соединениях JServ Protocol (AJP) - PullRequest
0 голосов
/ 09 апреля 2020

Я недавно присоединился к проекту, и работа над загрузочным приложением Spring. Приложение уже установлено, и я обнаружил, что у них есть какой-то инструмент (похожий на SONARQube), который запускается во время развертывания для оценки проблем безопасности. Я обнаружил ряд проблем на Apache tomcat со следующим описанием

"Apache Tomcat уязвим для раскрытия информации из-за того, что соединения Apache JServ Protocol (AJP) получают более высокие привилегии, чем соединения эквивалентный HTTP-клиент "

Используемая нами версия Springboot 2.2.3

Пожалуйста, помогите!

Мои усилия были такими же, как здесь ниже

Я обнаружил, что AJP имеет больше преимуществ в версиях Tomcat, до 9.0.30 Apache люди усилили утечку в 9.0.31 и более поздних версиях .. Но они утверждают, что пользователь должен будет сделать несколько дополнительных конфигураций, и вот мои проблемы здесь 0. Я попытался использовать tomcat 9.0.31 в качестве отдельной зависимости в файле pom, но, тем не менее, приложение безопасности fortify создает ту же проблему; Поэтому я не уверен, какие конфигурации необходимо выполнить. 1. В пункте 0 сказано, что я не могу найти, какие конфигурации мне нужно сделать как пользователь. 2. Даже если я знаю, какие конфигурации необходимо выполнить, как мне реализовать их в контейнере Tomcat, работающем внутри приложения Springboot?

1 Ответ

0 голосов
/ 24 апреля 2020

Как указал @Lemmy, Spring Boot не создает AJP-соединитель из коробки (упомянутый snyk.io ), поэтому вы не были подвержены Ghostcast (это имя уязвимости, исправленной в версиях Tomcat 9.0.31). Если вам когда-либо понадобится настроить соединитель AJP, вот как вы это делаете:

@Configuration
public class TomcatConfig {


  @Bean
  public TomcatServletWebServerFactory servletContainer() {
      TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory();
      Connector ajpConnector = new Connector("org.apache.coyote.ajp.AjpNioProtocol");
      AjpNioProtocol protocol= (AjpNioProtocol)ajpConnector.getProtocolHandler();
      protocol.setSecret("myapjsecret");
      ajpConnector.setPort(9090);
      ajpConnector.setSecure(true);
      tomcat.addAdditionalTomcatConnectors(ajpConnector);
      return tomcat;
  }
}

, и вы можете найти больше информации об этой уязвимости, например, здесь

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