-
Notifications
You must be signed in to change notification settings - Fork 945
Add support for encrypting IP addresses #gdpr #6242
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
With this change, PowerDNS core gains ability to encrypt & decrypt IP addresses as described in https://medium.com/@bert.hubert/on-ip-address-encryption-security-analysis-with-respect-for-privacy-dabe1201b476 For IPv4 this uses ipcrypt, for IPv6 it uses a 128-bit AES ECB operation. This CR also hooks up ipencrypt() and ipdecrypt() methods for dnsdist use, specifically to pseudonomyse logging.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, just one nit regarding dnsdist's linkage.
@@ -152,14 +152,13 @@ if HAVE_RE2 | |||
dnsdist_LDADD += $(RE2_LIBS) | |||
endif | |||
|
|||
if HAVE_DNS_OVER_TLS |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This would cause dnsdist
to be linked against libgnutls
and $(LIBSSL_LIBS)
when they are available, regardless of whether DNS over TLS support is enabled. If I'm not mistaken you only need to link against $(LIBCRYPTO_LIBS)
for this to work?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yes, that is correct, but I did not find a way to make that happen correctly.
@@ -52,10 +52,11 @@ PDNS_CHECK_LUA_HPP | |||
DNSDIST_ENABLE_DNS_OVER_TLS | |||
DNSDIST_CHECK_GNUTLS | |||
DNSDIST_CHECK_LIBSSL | |||
PDNS_CHECK_LIBCRYPTO | |||
AS_IF([test "x$enable_dns_over_tls" != "xno"], [ | |||
AS_IF([test "$HAVE_LIBSSL" = "1"], [ | |||
# we need libcrypto if libssl is enabled |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This comment is now useless
Superseded by #7481. |
Short description
With this change, PowerDNS core gains ability to encrypt & decrypt IP addresses as described in https://medium.com/@bert.hubert/on-ip-address-encryption-security-analysis-with-respect-for-privacy-dabe1201b476
For IPv4 this uses ipcrypt, for IPv6 it uses a 128-bit AES ECB operation.
This PR also hooks up ipencrypt() and ipdecrypt() methods for dnsdist use, specifically to pseudonomyse logging.
Checklist
I have: