Антивирус Sophos или другой метод Tomcat или AmazonS3Client listObjects () для блокировки брандмауэра / AV?

У меня есть пара веб-приложений Java / Tomcat, работающих на стороннем (клиентском) сервере, и в последнее время эти приложения больше не могут перечислять или загружать объекты с AmazonS3.

Это ситуация "ничего не изменилось", когда я неожиданно получил отчет об ошибке в стабильных системах. У других наших пользователей, размещающих программное обеспечение в своих собственных сетях Windows, этой проблемы нет, а экземпляры, которые мы размещаем на Amazon EC2 также не имеет проблем. Мне удалось определить дату, когда он перестал работать, но ИТ-отдел заказчика также сообщает, что «ничего не изменилось». Я вижу, что на рассматриваемой машине работает программное обеспечение Sophos, но я не уверен, что это проблема, и это похоже, было установлено некоторое время до того, как это произошло.

Повторюсь, у меня есть два (2) приложения, работающих на этом сервере, которые взаимодействуют с S3, и они оба начали давать сбой в одно и то же время. Следует отметить, что они взаимодействуют через SQS сообщения. Одно приложение отправляет сообщения в SQS (это работает), а другое опрашивает SQS (это работает). [123 2] Чтобы отладить это, я попытался сделать следующее:

  • Установить AWS CLI на проблемный сервер и попытаться получить список объектов. Это сработало.
  • Направьте мою собственную среду разработки (вне клиентской сети) на базу данных проблемного сервера (доступную через VPN), чтобы проверить настройки свойств / конфигурации. Это сработало.
  • Жестко закодируйте ссылки на ресурсы S3 и выполните повторное развертывание, чтобы убедиться, что проблема не в инициализации приложения / отказе в разрешении config. Это по-прежнему не удается, но журналы выводят правильный сегмент и ключ, поэтому config / setup, похоже, не является проблемой.
  • Поместите явные операторы журнала вокруг методов с ошибкой, чтобы точно определить строку, которая не работает. Это вызов метода AmazonS3 listObjects (string, string).
  • Проверил Sophos McsAgent.log и McsClient.log, чтобы увидеть, не появляется ли что-нибудь, явно связанное с моими приложениями.
  • Пытался запустить модульный тест в пределах база кода приложения на проблемном сервере, которая также вызывает метод listObjects (). Это сработало.

В случае сбоя в режиме реального времени / выполнения не вызывайте исключение методом listObjects. Просто кажется, что он выполняется бесконечно, после того как я установил время ожидания браузера, которое воспроизводит это, довольно длинным = 9000000 мс

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

0
задан 14 June 2019 в 17:56
1 ответ

После разговора с администраторами сети, которые пошагово выполняли описанный выше процесс, они предположили, что это связано с заблокированным трафиком или кэшированными записями DNS. Проходя через процесс воспроизведения, когда они отслеживают журналы брандмауэра, очевидно, что в DNS была веб-фильтрация. Они отключили два правила и вуаля, это снова сработало. Я не могу понять, почему listObjects (), полученный от Tomcat, завершился неудачно, но listObjects (), полученный из модульного теста, прошел успешно, но без моего участия, поскольку они внесли изменения, эта функция "волшебным образом" снова начала работать.

0
ответ дан 23 November 2019 в 23:24

Теги

Похожие вопросы