I have been running crowdsec on my OpenWRT firewall for a bit now, I am just curious as to what others think about it?
Thank you @irmadlad the webui you suggested is showing the logs a lot better than my vibe coded HA plug ins (both my ssh honey pot and my plug in showed nothing) looking over the logs shows so much activity that is happening.
I believe it is a good start with crowdsec but feels like it gives false protection. The blocking only happens after they have done a couple of attempts and not before.
It’s great! I use it on both my home server and my Hetzner server. It blocks connections based on behaviors defined by scenarios. I configured it to block any connections it decides to block via the firewall.
So far, so good. I don’t even know it’s running. It just does its job of blocking bots.
i run it on opnsense. When my services were on individual subdomains each with their own certificate, they got hit a lot and crowdsec blocked lots of bots and scripts
I ultimately moved all my services to a wildcard sub-subdomain, and poof all the bots went away and now crowdsec doesn’t do much other than block port scanners which the firewall does anyway.
it’s not worth the hassle to uninstall though.
I also haven’t seen any bot activity after I started using wildcard sub domains. My ISP blocks all incoming on common ports so I also use uncommon ports. I assume the combination of the two makes it too time consuming to find me.
I hid my ssh port with a wireguard connection so I also don’t see any attempts on my ssh port anymore either. My logs, including fail2ban, are quiet and boring.
It’s nice to have a quiet corner of the internet for myself.
Ahh so bots are finding subdomains by scraping SSL certificates?
Yes, and also by trying common subdomains under the main domain (like
jellyfin.,home.etc.) (They also scan the entire IPv4 address space, all TCP ports, over and over, but that’s a different discussion.)If you’re using DDNS you have to also be careful where you put the
AandAAAArecords. Some people put them on the main domain and then do a wildcardCNAMEpointing to it for all the subdomains, or individual subdomainCNAMEs. But since the main domain is known from TLS cert logs it’s trivial for bots to also check to see if there’sA/AAAArecords on it.It’s better to put the
A/AAAAon a dedicated subdomain, obfuscate the name beyond trivial guesses (eg. maybe don’t useip.), and make an individualCNAMEfor each services that points to the IP subdomain, and obfuscate those service subdomains similarly.For those who aren’t familiar with DNS, the information in it is publicly available to anybody who can name a [sub]domain and record type explicitly, but they refuse to do “list all the records for all the subdomains of this domain”. So bots are limited to asking for the most commonly used record types on the main domain but can’t get to records on subdomain names unless they can name the subdomain. (For completion, asking for a list of all records is possible, but nowadays due to abuse that function is restricted on all the public servers to just the known IPs of their fellow redundant servers.)
A similar limitation applies to reverse proxies, bots can’t get to a service behind it unless they can correctly name the FQDN that the proxy uses for that service. (But please note that a reverse proxy works independently of DNS. If the proxy has
foo.example.comdefined to reach a service, it will work even if that domain isn’t in DNS or doesn’t exist.)Even after taking these measures you have to keep in mind that this is not security, it’s obscurity. It cuts down on bot scans which is great but don’t assume it means nobody knows your service domains. Your ISP probably knows them, there are DNS servers out there that know them, your mobile carrier can see them, and if you ever connect to WiFi when away from home the owners of those WiFi can see them (think hotels, airports, coffee shops etc.) It’s not out of the question for a coffee shop WiFi to have been compromised and to collect URLs and attempt attacks against them. Use VPN or a SSH tunnel to connect to services whenever possible, rather than exposing them publicly, and if you must expose them publicly then use mTLS or at the very least a custom header key.
That was my experience also. Within minutes of spinning up any new subdomain with a dedicated A DNS record, I had bots that scraped it from https://crt.sh/ knocking on the door.
With wildcard subdomains and relatively obscure URLs, it’s pretty quiet.
When I ran Crowdsec, I thought it was a great piece of software, and a very decent free tier. I didn’t have any real complaints other that there was not a way, at the time that I knew of, to have the UI selfhosted. I think now someone has created a selfhostable user front end to it, but I haven’t dabbled in that.
Here we go: https://corelab.tech/crowdsec-web-ui-setup-guide/
I think this gent posted this a week or so ago.
I am using HA
Edit: after looking at what you posted I thought I would check it out, and it is a lot better than the HA thing I vibe coded into home assistant.
Ooops! Well at least the link was helpful to ZebraGoose
I did not mean to through shade onto you this webui is a lot better than my ha vibe code.
Wow thanks! Defently gonna check that out!!






