Skip to content
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

dkim-verifier blocks thunderbird until finished #53

Closed
h1618 opened this issue Nov 6, 2015 · 5 comments
Closed

dkim-verifier blocks thunderbird until finished #53

h1618 opened this issue Nov 6, 2015 · 5 comments
Assignees
Labels
enhancement Improvements or new features

Comments

@h1618
Copy link

h1618 commented Nov 6, 2015

I noticed that loading of email body is delayed when dkim-verifier checks the signature. This is especially visible when there is a DNS timeout (e.g. due to errors in DNSSEC, local unbound will not respond): this freezes thunderbird itself, until the timeout is over or DNSSEC resolution is fixed. This should never happen: the dkim-verifier thread must not block.

@lieser
Copy link
Owner

lieser commented Nov 6, 2015

I will try to make the add-on non blocking, but it may take some time.

Until then, I recommend you to enable the caching of the DKIM keys (in Options > General). This should reduce the number of times a DNS queries is needed by a lot.

Also note that only the libunbound resolver seems to block on a timeout. So if you can live without the indication in the add-on that a key is not secured by DNSSEC, you could change the resolver to the default JavaScript DNS library until this is fixed.

@lieser lieser added the enhancement Improvements or new features label Nov 6, 2015
@lieser lieser self-assigned this Nov 6, 2015
@h1618
Copy link
Author

h1618 commented Nov 6, 2015 via email

@lieser
Copy link
Owner

lieser commented Nov 6, 2015

About the caching:
This should have absolutely no negative impact on security. Not just the DKIM key is cached, but also whether the key was protected by DNSSEC or not, so you can still enable the DNSSEC waring in the advanced options if you want.

About the resolver:
If I understood you correctly, you use a local unbound server. This server should already verify DNSSEC and should only return data which is either authenticated or insecure ("Insecure data is data which it is known can never be either Authenticated or found Bad", quote from the RFC). Data which fails the authentication should be filtered out by the server.
So as long as an attacker is not able to compromise the connection between the add-on and the local DNS server, it should not have a big negative impact on security. The only think you should loose is the ability to distinguish between authenticated and insecure data.

Don't get me wrong, using a DNSSEC aware resolver like libunbound is definitely the best for security. Just wanted to let you know that as long as you use a local DNSSEC aware Server, the negative security impact by using a non DNSSEC aware resolver may be lower that you thought.

@lieser
Copy link
Owner

lieser commented Nov 6, 2015

A correction of my statement about security if caching is enabled:
I was a little hasty an forgot about the ability to revoke a DKIM key. If caching is enabled, such a revocation will not be noticed. Therefore, unlike previously stated, enabling caching can have a negative impact on security.

@lieser
Copy link
Owner

lieser commented Jan 22, 2016

This will be fixed in the next version (1.4.0). You can already download a pre-release form https://github.com/lieser/dkim_verifier/releases.

@lieser lieser closed this as completed Jan 22, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement Improvements or new features
Projects
None yet
Development

No branches or pull requests

2 participants