zaitanz
WIF-01 Challenge for ACME (RFC 8555)
Show HN: TLS Certificate Management and PKI
Hello! This project is a TLS/X.509 certificate manager and PKI. Designed to provision and install your TLS certificates across public and private endpoints. It's something I created for my home lab, but has quickly expanded as I have been experimenting more and more with AI development tooling.You can see the product overview: https://www.zaita.com It's architecture and usage is nicely...
Artificial Intelligence is like the Ford Model T
Given that all auto-differentiation is an approximation anyways. I've found existing tooling (CppAD, ADMB, ADOL-C, Template Model Builder (TMB)) work fine. You don't need to come up with a differentiable problem or re-parameterize. Why would I pick this over any of those?
This works so well, we actually package a library with our binary that contains the unit tests so the end user can run them locally without having to download/build anything. This has been super useful in identifying calculation differences between Linux/Windows/MacOS and processors. When a user reports an issue, we can ask them to run the unit tests just by running (./binary --test) and then give us the results.
For multiple servers running the same domain, you can configure them all the same and they will get certificates fine. If required, they will get a new certificate from LE; if this is not required then LE will provide the current certificate to the server. There maybe a short time where the actual certificate on two servers maybe different, but both would still be considered valid. So there really shouldn't be any plumbing required. (edit: This is dependent on you having a sensible way to load balance them. If you're just running IP round-robin then it's going to be difficult, but that is what scp and custom routes are for).
I use LE for multiple domains, on multiple systems. Internal and external with no issue. I've even had certificates revoked by LE and it's never had any operational impact.
As you move through from code to production we have multiple stage gates and steps.
- From a code perspective, we use dependency and code scanning (yarn audit, sonarcloud, sonarcube etc). Sonarcloud has nice IDE integrations.
- Code is pushed and is picked up by a pipeline, further scans are done looking for vulnerabilities/CVEs etc. If any significant ones are found, the pipeline fails (yarn audit, sonarcloud, sonarcube, Palo Alto container scanner, docker bench etc)
- The pipeline deploys to test and does automated checking
- Prior to a production deployment, the pipeline must be manually approved.
- Once in production, we use further scanning and monitoring (Security Hub/Centre, Tenable, SIEM)
Our developers have no direct ability to change the production systems in any way. But, they can write code and commit to our Git repository as much as they want. Everything from that point is automated (except for manual approvals).
Ransomware – Unauthorized access to Fujifilm servers
Minecraft – A Game of Slavery and Torture
Digital Automation of Security Assurance Work-Flows
TBH I accredit dumb luck more than anything to finding the cause of this. It took many hours.
This code was specifically C++ because we had the intention of integrating with libraries like CppAD and ADOL-C.
And yea you're right on the associative mistake. Will correct this :)
I didn't want to go too far into the background of floating point math in the post as it wasn't ultimately the issue, just something I was mindful of.
I think X would be cool. - How quickly can I test if X is cool with quick and dirty tactics. I tend to use notepad and make notes along the way, so I can flesh it out into something reproducible later. If the idea doesn't work, at least I have a text file of my process and thinking during that time.
If it does work, I find being able to scaffold your projects quickly is key. Build a script that creates a common set of folders and a new git repository. Things like (notes, source, libraries, docs, archives etc). From here, you can just add things to your git repository as you develop/test/build your idea. It doesn't have to be a project that involves code, as you can manage any files from a git repository. They key is having that scaffolding.
Weird compiler bug – Same code, different results
Remote: Yes, 10 years experience
Willing to relocate: No
Technologies: Cyber Security Architect, Solution Architect or Software Architect.
- PCI-DSS, Anti-money Laundering, Privacy Act/GDPR, Public Records Act
- NIST, ISO27001, ISO31000, CIS
- Automating security compliance and risk assessments (risk modeling)
- C++, Python, C#, Delphi, Javascript,
- SQL Databases, all kinds
- Networking, TCP/IP, IOT
- Linux
Résumé/CV: https://github.com/Zaita/Public/raw/master/Scott%20Rasmussen%20CV%202020.10.pdf
Email: scott[at]zaita.com