Skip to content

Document update - Added serialization to Security section#7923

Merged
JinwooHwang merged 4 commits intoapache:developfrom
kaajaln2:develop
Sep 11, 2025
Merged

Document update - Added serialization to Security section#7923
JinwooHwang merged 4 commits intoapache:developfrom
kaajaln2:develop

Conversation

@kaajaln2
Copy link
Copy Markdown
Contributor

  Added serialization page under Security section
  Added link to serialization page from Security model page   Added a bullet point to the Security Implementaton Overview page

For all changes:

  • Is there a JIRA ticket associated with this PR? Is it referenced in the commit message?

  • Has your PR been rebased against the latest commit within the target branch (typically develop)?
    yes

  • Is your initial contribution a single, squashed commit?
    yes

  • Does gradlew build run cleanly?

  • Have you written or updated unit tests to verify your changes?

  • If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under ASF 2.0?

  Added serialization page under Security section
  Added link to serialization page from Security model page
  Added a bullet point to the Security Implementaton Overview page
Copy link
Copy Markdown
Member

@raboof raboof left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm no Geode expert, so I can't fully judge the technical details, but the general change looks reasonable. One question about the mention of 'Java 8'.

in the context of security and performance. This is primarily achieved through:


## Global Serialization Filter (Java 8)
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this for 'exactly Java 8' or 'at least Java 8'?

If it's for 'exactly Java 8', what should operators running on later versions do?

If it's 'at least Java 8', we can remove it, as Geode doesn't support older Java versions anyway.

@JinwooHwang JinwooHwang self-requested a review September 10, 2025 14:45
Copy link
Copy Markdown
Contributor

@JinwooHwang JinwooHwang left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I’ve reviewed the PR and appreciate the effort put into it. To enhance clarity and impact, it may be beneficial to explicitly outline the ramifications of the default serialization configurations. For example, the current defaults allow unrestricted deserialization. Additionally, serialization filters like validate-serializable-objects and geode.enableGlobalSerialFilter are not enabled by default, which permits deserialization of custom classes without explicit whitelisting. Making these implications more visible could help readers better understand the associated security risks. @raboof, do you have any comments?

@wmh1108-sas
Copy link
Copy Markdown
Contributor

To enhance clarity and impact, it may be beneficial to explicitly outline the ramifications of the default serialization configurations.

I believe the Security Model covers this by stating that serialization is off by default, and by recommending users evaluate security features individually:

"Geode’s default configuration combines maximum flexibility and performance without any input needed from the user. Because of this, certain security measures like authentication, authorization, serialization and over-the-wire encryption are absent from a default Geode installation. It is highly recommended that users review Geode’s security capabilities and implement them as they see fit."

  Added serialization page under Security section
  Added link to serialization page from Security model page
  Added a bullet point to the Security Implementaton Overview page
  Removed Java version
@JinwooHwang
Copy link
Copy Markdown
Contributor

Good point—the Security Model does mention that serialization is off by default and encourages users to evaluate security features individually. Since we already have a serialization section, perhaps we could use that space to remind users of the specific implications when serialization is turned on. For instance, the lack of default filters like validate-serializable-objects and geode.enableGlobalSerialFilter can lead to unrestricted deserialization. Making this more explicit could help users better assess the security posture.

@JinwooHwang
Copy link
Copy Markdown
Contributor

@raboof , Please let me know if you have any questions or comments. Thanks.

@JinwooHwang
Copy link
Copy Markdown
Contributor

Initiated build checks.

Copy link
Copy Markdown
Member

@raboof raboof left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@raboof , Please let me know if you have any questions or comments. Thanks.

I don't have any strong objections. It might be good to be a bit more explicit about the fact that unrestricted deserialization of untrusted input can lead to arbitrary code execution, but I'm OK with the current wording as well.

in the context of security and performance. This is primarily achieved through:


## Global Serialization Filter (Java)
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

AFAIK all of Geode is in Java, so (Java) is also not necessary :)

@JinwooHwang
Copy link
Copy Markdown
Contributor

Restarted the failed integration test.

@JinwooHwang
Copy link
Copy Markdown
Contributor

The integration test completed successfully.

@JinwooHwang
Copy link
Copy Markdown
Contributor

Discussed the issues with @raboof . We’re committed to refining the document further in upcoming PRs. I’ll proceed with the merge.

@JinwooHwang JinwooHwang merged commit 863ba8c into apache:develop Sep 11, 2025
28 of 29 checks passed
JinwooHwang pushed a commit that referenced this pull request Sep 11, 2025
* Document update - Added serialization to Security section
  Added serialization page under Security section
  Added link to serialization page from Security model page
  Added a bullet point to the Security Implementaton Overview page

* Document update - Added serialization to Security section
  Added serialization page under Security section
  Added link to serialization page from Security model page
  Added a bullet point to the Security Implementaton Overview page
  Removed Java version

* Document update:  Removed java version in serialization section

(cherry picked from commit 863ba8c)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants