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

Add Technitium API support to lexicon #546

Closed
renne opened this issue Feb 2, 2023 · 7 comments
Closed

Add Technitium API support to lexicon #546

renne opened this issue Feb 2, 2023 · 7 comments

Comments

@renne
Copy link

renne commented Feb 2, 2023

lexicon is an abstraction layer for DNS provider APIs available via Python Package Index.
I suggest to add the Technitium API as a provider to lexicon.

lexicon developer guide

@ShreyasZare
Copy link
Member

Thanks for the post. I would recommend that you post this as a issue in the lexicon project itself to reach out to its developers.

@Djelibeybi
Copy link

Not Lexicon, but I just submitted a PR to include DNS API support for Technitium to acme.sh.

I've submitted a provider to Lexicon before, so if I can find some spare time, I'll see what I can do.

@renne
Copy link
Author

renne commented Feb 11, 2023

@Djelibeybi
lexicon support would be great for all the web-interfaces requesting Let's Encrypt certificates.
Instead of the HTTP-challenge the DNS-challenge could be used (e.g. wildcard sub-domains).

@Djelibeybi
Copy link

@renne you can use Lexicon's existing ddns provider with Technitium. To do this, add a TSIG key via Settings -> TSIG. I recommend using a simple key name and letting Technitium generate a strong secret for you. Leave the algorithm as HMAC-SHA256 too.

You then need to allow both zone transfers and dynamic updates for Lexicon using that TSIG key. If you can limit the source IP addresses that would be good. On the Dynamic Update page, you need to specify the domain name as *.domain.com and the record type can be limited to TXT

When running Lexicon, the --auth-token parameter is hmac-sha256:lexicon:<shared_secret> and the --ddns-parameter is just the IP address of your Technitium server.

@ShreyasZare
Copy link
Member

@renne you can use Lexicon's existing ddns provider with Technitium. To do this, add a TSIG key via Settings -> TSIG. I recommend using a simple key name and letting Technitium generate a strong secret for you. Leave the algorithm as HMAC-SHA256 too.

You then need to allow both zone transfers and dynamic updates for Lexicon using that TSIG key. If you can limit the source IP addresses that would be good. On the Dynamic Update page, you need to specify the domain name as *.domain.com and the record type can be limited to TXT

When running Lexicon, the --auth-token parameter is hmac-sha256:lexicon:<shared_secret> and the --ddns-parameter is just the IP address of your Technitium server.

Yes, dynamic updates is a good option which is widely supported.

Just adding a clarification that you dont need to enable zone transfer for using dynamic updates as both are independent functions.

Also, in the dynamic update security policy, its recommended to use the specific domain name _acme-challenge.example.com instead of *.example.com and record type to TXT. This is so that if the TSIG key is leaked, then the attacker wont be able to update any other record except for the specified domain name and record type.

@Djelibeybi
Copy link

Zone transfer has to be allowed to enable Lexicon's ddns provider to list domain records.

@ShreyasZare
Copy link
Member

Zone transfer has to be allowed to enable Lexicon's ddns provider to list domain records.

Ok good to know that. In that case it would be good configure TSIG key for zone transfer too if that is supported by Lexicon to prevent anyone from doing zone transfer.

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

No branches or pull requests

3 participants