Azure Container App Environment making DNS queries to Certificate Revocation List URLs which don't exist

RajivBansal-2486 331 Reputation points
2025-05-21T08:12:54.0966667+00:00

We are using Azure Container Apps hosted in a Azure Container App Environment - using dedicated workload profile (instead of consumption workload profile). We have provided our own subnet for container app environment. Peer to peer encryption is also enabled. All outbound traffic is routed through Azure Firewall. Azure Firewall is also acting as DNS proxy. So all DNS requests are also sent to Azure Firewall.

Firewall logs shows that Container App Environment is sending DNS resolution requests for URLs which don't exist so the response is NXDOMAIN (Non-existent domain). As these requests are in a very large number, this is reported as security issue in SENTINEL - "These unsuccessful responses can be an indication of C2 communication." URLs are listed below.

Please tell which component of container apps or environments is sending these requests and why are they being sent to a non-existent domain. How can this be fixed.

URLs seen:

  • crl4.ame.gbl
  • crl3.ame.gbl
  • crl1.ame.gbl
  • crl2.ame.gbl
  • crl3.ame.gbl.blfwa1micajexil5bwga4cq5fd.fx.internal.cloudapp.net
  • crl2.ame.gbl.blfwa1micajexil5bwga4cq5fd.fx.internal.cloudapp.net
Azure Container Apps
Azure Container Apps
An Azure service that provides a general-purpose, serverless container platform.
679 questions
{count} votes

1 answer

Sort by: Most helpful
  1. Alex Burlachenko 9,585 Reputation points
    2025-05-29T08:34:51.7133333+00:00

    RajivBansal-2486 hi thanks for posting this, man!

    so ur seeing a ton of dns queries to certificate revocation list urls that don’t exist, and it’s tripping up sentinel thinking it’s some shady c2 traffic… sorry for that...

    ok, these crl.ame.gbl urls are actually microsoft’s old-school cert revocation check endpoints. they’re used by windows components to verify if certs are revoked. but here’s the thing azure container apps (and the underlying infra) sometimes still try to hit them, even if they’re not really needed or even valid anymore. that’s why u get nxdomain those domains straight up don’t resolve.

    why’s this happening? good question, at least for me ;) when ur container apps spin up or do their thing, some internal processes (like the k8s control plane or azure’s own services) might still have legacy code that tries to check cert revocation status. and since ur traffic’s going through azure firewall with dns proxy, every failed lookup gets logged… and ups sentinel freaks out ;)

    So u have a few options fo fix it like just ignore it (if u can)). if this isn’t causing actual issues, u might just whitelist these urls in sentinel or tweak the alert rules. but i get it if security teams are breathing down ur neck, that might not fly. block the dns queries at the firewall. since these urls are dead anyway, u can create a dns rule in azure firewall to straight up drop requests to *.ame.gbl and *.fx.internal.cloudapp.net. here’s microsoft’s doc on azure firewall dns settings to help u out.

    Disable cert revocation checks (careful with this one!). if ur apps don’t rely on strict cert checks, u could tweak the underlying nodes to skip crl lookups. but this is kinda nuclear only do it if u know what ur sacrificing security-wise. but fair warning, this might not apply cleanly to container apps.

    check if ur workload profiles need updating. since ur using dedicated profiles, maybe there’s a config hiccup. peep the container apps networking docs to see if something’s misaligned.

    honestly, blocking at firewall is the cleanest fix. those crl urls are ghosts of the past, and stopping the queries will shut sentinel up ;)) let me know if u hit snags.

    Best regards,

    Alex

    and "yes" if you would follow me at Q&A - personaly thx.
    P.S. If my answer help to you, please Accept my answer
    PPS That is my Answer and not a Comment
    

    https://ctrlaltdel.blog/


Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.