Вместо того, чтобы хранить файл в незашифрованном виде в файловой системе, вы можете сохранить его вне среды выполнения.
Для этого есть несколько опций, например, сохранение файла в базе данных, а затем разрешать доступ, только если предоставлены правильные учетные данные.
В качестве альтернативы вы можете использовать облачное решение для хранения файлов, такое как Amazon S3, которое хорошо масштабируется и позволяет защищать файлы и генерировать безопасные URL-адреса для извлечения файлов при необходимости.
Хранение файла вне среды выполнения также имеет то преимущество, что вы можете масштабировать до нескольких сред выполнения, и файлы будут доступны через узлы.
Если вы действительно хотите или хотите сохранить файл в файловой системе и никогда не ожидаете увеличения числа сред выполнения, то вы можете использовать ServletFilter для перехвата запросов на доступ к файлам и только для их обслуживания. если были предоставлены правильные учетные данные.