This is my first post on my new site, I hope someone finds it helpful!
Is it just as secure doing this (with crowdsec) vs hosting on a rented server from a cloud provider?
My site is on a rented server at digital ocean. Some providers do more or less to protect you themselves though. I don’t think digital ocean does much monitoring or protecting, I’ve had servers on there compromised in the past that would have been caught by my current setup. It can’t hurt in any case.
I also run crowdsec on my home setup but I don’t have any open ports at home and never get alerts. I had suricata running and plugged into crowdsec as well so it would handle blocking for both, but suricata never got to get any action with crowdsec blocking malicious activity, so I disabled it to save resources.
I don’t mean about relying on the protection from these providers. I am talking about the inherent increased security of hosting on a server that’s on a different network than your local network.
Hey,
cool seeing another bearblog in the wild (I also use Hugo + Bear for my blog).
Quick question: Why do you deploy the Hugo dev server and don’t build your page to static HTML?
Just to keep it short. I was debating adding another article continuing this one using nginx for that part. I could add a section to this one though. Or would you use something other than nginx, I’m open to suggestions. I checked yours out, it’s a bit snappier than mine :) . What are you running?
I’d love to see more on something like Envoy as the reverse proxy. I tend to think of reverse proxies in “generations”:
- Apache and Friends
- Nginx and Buddies
- HAProxy and Pals
- Envoy and Associates
I’m rather familiar with 0-2 from my previous work. It’s really a pity, to me, that nginx is favored so heavily over HAProxy as in all perf and HA testing that I’ve done has resulted in nginx being left in the dust. The benchmarks that I’ve seen for Envoy show similar standings. I just haven’t spent the time yet to get familiar with it.
I use CI to compile the page and add it to nginx, which I then build into a docker container. Once it’s finished, I deploy it to my server and it gets served by traefik.
That’s another thing I was curious about. Is there a reason why you didn’t use docker?
You mentioned in another comment, that you used snap, because it is used in the official certbot instructions. Did you intend this to be 100% faithful to official docs?
Nice. I might have to clone that setup for fun. What do you use for CI? I’ve got jenkins running but I’ve been wanting to play with gitlab CI/CD too.
I do a lot of my dev work in docker containers, simply so I’m in a clean environment. Doesn’t hurt in ease of backup either. No particular reason not to use docker, I also wanted to keep it kind of brief and simple. The guide I originally read that inspired me had a lot of things that were very outdated, and as I worked through getting it working on debian 12 I generally stuck with the source providers instructions when things weren’t already packaged for dpkg, or alternatives were more complex.
I am currently mulling around doing extensions on this guide and adding links at the bottom, or just extending this one a bit. Also just thinking about writing a guide for other stuff too. I’ve been helping people on discord and irc a bit recently and some of what I know might be useful to someone.
I don’t know everything by any means far from it, but I’ve been around since my first beOS and slackware installs a long time ago and I’ve picked up a lot. I worked developing and deploying pfsense images for a company years ago and have just had a lot of random experience in linux and bsds over the years.
For CI I currently use GitLab, but I want to move it to another git server (and therefore CI) in case they actually sell.
Thanks for sharing! TIL about crowdsec
first thing is to install snapd an a perfectly fine debian 12???
I know I know. If you wanna install certbot another way feel free. Share it with me I’m sure it’ll take up less space. I only did it that way because it’s the certbot official©®™ instructions. That and I had issues with the other method I tried.
apt install python3-certbot :)
Hah did not know about that thanks!
Yeah it took a while for me to find as well, Debian moved to managing alot of packages you used to install with pip. In many cases you can just prefix pip packages with python3- and find them via apt.
I can really recommend acme.sh if you wanted to try a certbot alternative.
Or a docker image with Nginx Proxy Manager. You get a working reverse proxy, an automatically renewing certbot, easy to use UI, plus a working nginx install that you can use for serving static files, forward proxy etc.
I like docker and traefik, traefik has let’s encrypt built-in.
I’ve got plenty of experience with docker and I’ve heard of traefik but never used it. Thanks, I’m gonna look into it.
It is in the official repos
sudo apt-get install certbot
You also can use a container
I could have swore I tried it. facepalm I’ll check that out then I might edit that part.
Another thing you could check out is Caddy, comes with a lot of stuff onboard and has an optional crowdsec module (though I should point out that I never used that module myself so I can’t make guarantees how well it works) https://caddyserver.com/