this post was submitted on 11 Jan 2026
211 points (99.5% liked)

Selfhosted

55012 readers
830 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

Rules:

  1. Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don't duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

  7. No low-effort posts. This is subjective and will largely be determined by the community member reports.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 2 years ago
MODERATORS
 

I generated 16 character (upper/lower) subdomain and set up a virtual host for it in Apache, and within an hour was seeing vulnerability scans.

How are folks digging this up? What's the strategy to avoid this?

I am serving it all with a single wildcard SSL cert, if that's relevant.

Thanks

Edit:

  • I am using a single wildcard cert, with no subdomains attached/embedded/however those work
  • I don’t have any subdomains registered with DNS.
  • I attempted dig axfr example.com @ns1.example.com returned zone transfer DENIED

Edit 2: I'm left wondering, is there an apache endpoint that returns all configured virtual hosts?

Edit 3: I'm going to go through this hardening guide and try against with a new random subdomain https://www.tecmint.com/apache-security-tips/

top 50 comments
sorted by: hot top controversial new old
[–] androidul@lemmy.world 89 points 2 weeks ago* (last edited 2 weeks ago) (3 children)

if you use Let’s Encrypt (ACME protocol) AFAIK you can find all domains registered in a directory that even has a search, no matter if it’s wildcard or not.

It was something like this https://crt.sh/ but can’t find the site exactly anymore

LE: you can also find some here https://search.censys.io/

[–] i_stole_ur_taco@lemmy.ca 50 points 2 weeks ago (1 children)

Holy shit, this has every cert I’ve ever generated or renewed since 2015.

[–] vf2000@lemmy.zip 47 points 2 weeks ago* (last edited 2 weeks ago)

Certificate Transparency makes public all issued certificates in the form of a distributed ledger, giving website owners and auditors the ability to detect and expose inappropriately issued certificates.

https://en.wikipedia.org/wiki/Certificate_Transparency

[–] Shimitar@downonthestreet.eu 25 points 2 weeks ago (4 children)

This.

That's why temping obscurity for security is not a good idea. Doesn't take much to be "safe", at least reasonably safe. But that not much its good practice to be done :)

load more comments (4 replies)
[–] antrosapien@lemmy.ml 6 points 2 weeks ago (1 children)

Holy shit... I thought it was DNS resolver selling these data

load more comments (1 replies)
[–] Decronym@lemmy.decronym.xyz 57 points 2 weeks ago* (last edited 2 weeks ago) (2 children)

Acronyms, initialisms, abbreviations, contractions, and other phrases which expand to something larger, that I've seen in this thread:

Fewer Letters More Letters
CA (SSL) Certificate Authority
DNS Domain Name Service/System
IP Internet Protocol
SSL Secure Sockets Layer, for transparent encryption
TLS Transport Layer Security, supersedes SSL
VPN Virtual Private Network
VPS Virtual Private Server (opposed to shared hosting)

7 acronyms in this thread; the most compressed thread commented on today has 16 acronyms.

[Thread #990 for this comm, first seen 11th Jan 2026, 01:25] [FAQ] [Full list] [Contact] [Source code]

[–] Goodlucksil@lemmy.dbzer0.com 9 points 2 weeks ago

Kudos to the bot.

[–] Blackmist@feddit.uk 42 points 2 weeks ago

Chrome: Sees new website domain

Google: 👀

[–] 4am@lemmy.zip 36 points 2 weeks ago* (last edited 2 weeks ago) (4 children)

For anyone who needs to read it: At the end of the day this is obscurity, not security; however obscurity is a good secondary defense because it buys time.

I too would be interested to learn how this leaked

[–] chillpanzee@lemmy.ml 13 points 2 weeks ago (2 children)

it's not even obscurity; it's logged publicly.

[–] sommerset@thelemmy.club 18 points 2 weeks ago* (last edited 2 weeks ago)

It's not. Wildcard DNS and wildcard cert. Domain is not logged publicly.

People that keep saying logged publicly simply don't understand setup and technology

[–] Keelhaul@sh.itjust.works 12 points 2 weeks ago

How is it being logged publicly? Like OP said there is no specific subdomain registered in the DNS records (instead using a wildcard). Same for the SSL cert. Only things I can think of is the browser leaking the subdomains (through google or Microsoft) or the DNS queries themselves being logged and leaked. (Possibly by the ISP inspecting the traffic or logging and leaking on their own DNS servers?). I would hardly call either of those public.

load more comments (3 replies)
[–] pageflight@lemmy.world 30 points 2 weeks ago (1 children)

Do post again if you figure it out!

[–] Fedditor385@lemmy.world 22 points 2 weeks ago (2 children)

If you have browser with search suggestions enabled, everything you type in URL bar gets sent to a search engine like Google to give you URL suggestions. I would not be surprised if Google uses this data to check what it knows about the domain you entered, and if it sees that it doesn't know anything, it sends the bot to scan it to get more information.

But in general, you can't access a domain without using a browser which might send that what you type to some company's backend and voila, you leaked your data.

[–] derpgon@programming.dev 6 points 2 weeks ago

Easily verified by creating another bunch of domains and using a browser that doesn't do tracking - like waterfox

[–] kumi@feddit.online 5 points 2 weeks ago* (last edited 2 weeks ago)

What you can do is segregate networks.

If the browser runs in, say, a VM with only access to the intranet and no internet access at all, this risk is greatly reduced.

[–] oranki@sopuli.xyz 18 points 2 weeks ago

Maybe that particular subdomain is getting treated as the default virtual host by Apache? Are the other subdomains receiving scans too?

I don't use Apache much, but NGINX sometimes surprises on what it uses if the default is not specifically defined.

[–] foggy@lemmy.world 18 points 2 weeks ago* (last edited 2 weeks ago) (2 children)

https://crt.sh/

When a CA issues an SSL/TLS certificate, they're required to submit it to public CT logs (append-only, cryptographically verifiable ledgers). This was designed to detect misissued or malicious certificates.

Red and Blue team alike use this resource (crt.sh) to enumerate subdomains.

load more comments (2 replies)
[–] fubarx@lemmy.world 16 points 2 weeks ago

A long time ago, I turned a PC in my basement into a web server. No DNS. Just a static IP address. Within 15 minutes, the logs showed it was getting scanned.

SSL encrypts traffic in-transit. You need to set up auth/access control. Even better, stick it behind a Web Application Firewall.

Or set up a tunnel. Cloudflare offers a free one: https://developers.cloudflare.com/cloudflare-one/networks/connectors/cloudflare-tunnel/

[–] Iheartcheese@lemmy.world 14 points 2 weeks ago

We're always watching.

[–] sommerset@thelemmy.club 13 points 2 weeks ago (3 children)

Crawlers typically crawl by ip.

Are u sure they just not using ip?

U need to expressly configure drop connection if invalid domain.

I use similar pattern and have 0 crawls.

load more comments (3 replies)
[–] kumi@feddit.online 12 points 2 weeks ago* (last edited 2 weeks ago) (1 children)

You say you have a wildcard cert but just to make sure: I don't suppose you've used ACME for Letsencrypt or some other publicly trusted CA to issue a cert including the affected name? If so it will be public in Certificate Transparency Logs.

If not I'd do it again and closely log and monitor every packet leaving the box.

[–] BonkTheAnnoyed@lemmy.blahaj.zone 13 points 2 weeks ago (1 children)

The random name is not in the public log. Someone else suggested that earlier. I checked CRT.sh and while my primary domain is there, the random one isn't.

[–] kumi@feddit.online 7 points 2 weeks ago* (last edited 2 weeks ago)

My next suspicion from what you've shared so far apart from what others suggested would be something out of the http server loop.

Have you used some free public DNS server and inadvertently queried it with the name from a container or something? Developer tooling building some app with analytics not disabled? Any locally connected AI agents having access to it?

[–] dcatt@lemmy.dbzer0.com 10 points 2 weeks ago (1 children)

Yeah, this is interesting, I'll dig more into this direction.

But the randomly generated subdomain has never seen a DNS registrar.

I do have *.mydomain.com registered though...hmmm

[–] ambitiousslab@lemmy.ml 10 points 2 weeks ago (1 children)

I believe that some DNS servers are configured to allow zone transfers without any kind of authentication. While properly configured servers will whitelist the IPs of secondaries they trust, for those that don't, hackers can simply request a zone transfer and get all subdomains at once.

[–] BonkTheAnnoyed@lemmy.blahaj.zone 12 points 2 weeks ago

I don't have any subdomains registered with DNS.

I attempted dig axfr example.com @ns1.example.com returned zone transfer DENIED

[–] 69420@lemmy.world 9 points 2 weeks ago (1 children)

Are you sure they're hitting the hostname and not just the IP directly?

[–] BonkTheAnnoyed@lemmy.blahaj.zone 9 points 2 weeks ago (2 children)

Shows up by name in the apache other_hosts...log, so yes

load more comments (2 replies)
[–] Feyd@programming.dev 8 points 2 weeks ago (1 children)

Did you yourself make a request to it or just set it up and not check it? My horrifying guess it that if you use SNI in a request every server in the middle could read the subdomain and some system in the internet routing is untrustworthy.

load more comments (1 replies)
[–] eleijeep@piefed.social 7 points 2 weeks ago

You need to look at the DNS server used by whatever client is resolving that name. If it's going to an external recursive resolver instead of using your own internal DNS server then you could be leaking lookups to the wider internet.

[–] a@852260996.91268476.xyz 6 points 2 weeks ago (9 children)

@BonkTheAnnoyed@lemmy.blahaj.zone are you generating certificates for each of the random subdomains?

[–] turkalino@sh.itjust.works 7 points 2 weeks ago

Fitting that someone from an instance on a random subdomain commented on this lol

load more comments (8 replies)
[–] frongt@lemmy.zip 6 points 2 weeks ago (1 children)

Scans from where? Is it exposed to the internet? What does the scan traffic look like?

[–] BonkTheAnnoyed@lemmy.blahaj.zone 13 points 2 weeks ago

Mostly from AWS or the like, with occasional Chinese and Russian origins.

The scans look like requests to various WordPress endpoints, JavaScript files associated with known vulnerabilities etc

[–] fizzle@quokk.au 6 points 2 weeks ago (1 children)

All the obvious things have been mentioned.

The only way to identify the problem is to share the exact steps youve followed and then others can reproduce.

Based on what youve told us, no one knows how the subdomain is leaked. Without meaning to be derisive, that suggests that something youve told us isn't quite correct.

Well, the good news is that I at least think I'm doing all the right things.

I'll spin up a new VM tomorrow and start from scratch.

[–] wasabi@feddit.org 6 points 2 weeks ago
[–] SwissOS@sh.itjust.works 6 points 2 weeks ago

Do you use an external DNS when accessing your subdomain? I can only guess that it's the DNS leaking it.

[–] stratself@lemdro.id 5 points 2 weeks ago

My guess would be NSEC zone walking if your DNS provider supports DNSSEC. But that shouldn't work with unregistered or wildcard domains

The next guess would be during setup, someone somewhere got ahold of your SNI (and/or outgoing DNS requests). Maybe your ISP/VPN service actually logs them and announce it to the world

I suggest next time, try setting up without any over-the-internet traffic at all. E.g. always use curl with the --resolve flag on the same VM as Apache to check if it's working

[–] emergencycall@fedia.io 5 points 2 weeks ago

You need better logging. Try doing a packet capture with tcpdump then decrypt the HTTPS traffic. Because what you've described so far, especially before the edit makes no sense.

If you don't have a DNS record pointing the subdomain to the IP address of the server, it shouldn't be possible to resolve the IP for random Internet users. If this VHOST only exists in your Apache config file and nowhere else, it is private.

[–] cyberpunk007@lemmy.ca 5 points 2 weeks ago* (last edited 2 weeks ago) (1 children)

Reverse DNS? Or vuln scans just hitting IPs. Don't need DNS for that.

load more comments (1 replies)
[–] electric_nan@lemmy.ml 5 points 2 weeks ago
load more comments
view more: next ›