Сканирование уязвимостей на веб-сервере показало мне, что мою версию Java необходимо обновить. Мы запускаем веб-приложения .NET на этом сервере, и, насколько мне известно, нет ничего, что использует Java. Как я могу определить, могу ли я безопасно удалить Java? Я не хочу просто удалить его, а потом что-то сломается. Есть ли простой способ проверить, не зависит ли от этого что-нибудь?
Одним из решений было бы обновить Java, чтобы удалить уязвимость. Затем напишите небольшое приложение, которое обертывает исполняемый файл java (например, переименуйте java.exe в java-real.exe и создайте приложение с именем java.exe, которое просто передает все аргументы в java.exe и регистрирует вызовы в файл. Если через месяц (или пока вы не почувствуете себя комфортно), удалите Java, если журнал пуст.
Вы могли бы использовать Монитор процессов Systernal.
По умолчанию он перечисляет все действия в системе с реестром, файлами, процессами и т. Д.
Вы можете установить фильтр для Java, оставить его работать сколько угодно долго и посмотреть, какие действия вы получите.
Например, добавьте фильтр для «Если путь содержит Java, то включить».
Вы также можете захотеть «Когда результат УСПЕШНО, тогда включайте», чтобы не получить кучу попыток сделать то, чего нет. Например, если java вызывается из переменной PATH, прежде чем он найдет java там, где он на самом деле, будут попытки для него в C: \ Windows, C: \ Windows \ System32 и т. Д.
В таких случаях я часто пробую:
find /some/path/ -type f -atime -50 # has any file been accessed (read) in last 50 days?
find /some/path/ -type f -ctime -50 # has any file had attributes changed in last 50 days?
find /some/path/ -type f -mtime -50 # has any file had been modified in last 50 days?
РЕДАКТИРОВАТЬ: пропустил тег Windows 2003 ... Вы все еще можете использовать эти команды на cygwin. Или запустите проводник -> F3 -> искать все -> отсортировать по времени доступа -> проверить вручную -> отсортировать по времени изменения -> проверить вручную). Если к файлу не обращались / не изменяли, это, вероятно, означает, что он ни для чего не нужен.
Конечно вы можете тест удалить чтобы увидеть, требует ли удаление пакета удаления чего-то еще, но это тривиальный случай. (РЕДАКТИРОВАТЬ W2k3 ... нетривиально)
Какая именно Java установлена?
Это просто обычная среда выполнения Java или что-то на стороне сервера, например Tomcat / JBoss / AnotherApplicationServer?
Скорее всего, он просто будет установлен, когда кто-то просматривает веб-сайт; но на самом деле он также может использоваться чем-то другим; но нет простого способа сказать.
В Java есть несколько внутренних параметров трассировки / ведения журнала, которые можно включить и отслеживать журнал, чтобы узнать, какие действия происходят.
Видеть Отслеживание и регистрация на сайте Sun.