FHIR Chat · Packages2.fhir.org · IG creation

Stream: IG creation

Topic: Packages2.fhir.org


view this post on Zulip Grahame Grieve (Aug 17 2021 at 09:56):

Someone has a script that is hammering packages2.fhir.org. I'm not sure what the purpose of this is, and it's running from multiple IP addresses. I'm going to start ignoring the request that the client is making; it's made the server unstable. Obviously it shouldn't, but I can't debug

view this post on Zulip Grahame Grieve (Aug 17 2021 at 09:58):

although it's leaking threads. I can see that much...

view this post on Zulip Grahame Grieve (Aug 17 2021 at 10:24):

unfortunately, it doesn't leak threads for me...

view this post on Zulip Grahame Grieve (Aug 17 2021 at 12:58):

I'm going to ban the IP addresses from using the server at all

view this post on Zulip Chris Moesel (Aug 17 2021 at 16:33):

SUSHI uses packages2.fhir.org, but only for projects that declare R4B / R5 as their FHIR version -- and even then, only if it doesn't find the package in the FHIR cache first. I don't think that CI servers (like the FHIR IG builder) maintain a FHIR cache, so SUSHI would hit packages2.fhir.org on each CI build of a R4B/R5-based IG. But that shouldn't look like hammering. Still, if anyone discovers that SUSHI is somehow involved, please let us know.

view this post on Zulip Jens Villadsen (Aug 17 2021 at 16:44):

Ahemmmmm ... If its from Denmark I might know the culprit ...

view this post on Zulip Jens Villadsen (Aug 17 2021 at 16:45):

In terms of 'hammering' ... Whats the approx amount here? @Grahame Grieve

view this post on Zulip Grahame Grieve (Aug 17 2021 at 19:55):

~10/sec, but when the server is down, the threads bank up, so once the server comes up, it's deluged by thousands

view this post on Zulip Grahame Grieve (Aug 17 2021 at 19:56):

whatever it is is making the request http://packages2.fhir.org/packages/catalog?canonical=http://hl7.org/fhir/us/carin-bb

view this post on Zulip Chris Moesel (Aug 17 2021 at 20:17):

Oh, OK. That's definitely not SUSHI then. We don't do any queries on catalog -- and as I noted before, SUSHI is scoped to look only for R4B/R5 packages on packages2 anyway. Phew. Glad it's not me. ;-)

view this post on Zulip Grahame Grieve (Aug 17 2021 at 20:56):

well, I've 'solved' it for now by turning off non-SSL access to the server. But if whoever is running the script switches to SSL too, then the problem will come back.

view this post on Zulip Grahame Grieve (Aug 17 2021 at 20:56):

I feel like there should be a better solution, but can't think of it

view this post on Zulip Lloyd McKenzie (Aug 17 2021 at 20:57):

Having a blacklist is probably a good idea. We're going to have others who hit our registries in production systems and don't cache properly and we need to protect ourselves. Rate limiting is another possibility.

view this post on Zulip Grahame Grieve (Aug 17 2021 at 20:58):

it is rate limiting now, but that rate limits everyone.

view this post on Zulip Grahame Grieve (Aug 17 2021 at 20:58):

I can't rate limit inside the server because the denial of service is to the server surface.

view this post on Zulip Grahame Grieve (Aug 17 2021 at 20:59):

and windows firewall is utterly useless. :-(

view this post on Zulip Gino Canessa (Aug 17 2021 at 20:59):

This is running on Server, isn't it? You can block IPs fairly easily.

view this post on Zulip Grahame Grieve (Aug 17 2021 at 21:00):

well, how? I tried, but windows gives me some crap about 'has to be a secure connection', which is irrelevant to me

view this post on Zulip Grahame Grieve (Aug 17 2021 at 21:02):

"you can specify user and computer authentication only when the action is set to "Allow only secure connections."

view this post on Zulip Grahame Grieve (Aug 17 2021 at 21:02):

we do not want windows authentication here. Stupid

view this post on Zulip Grahame Grieve (Aug 17 2021 at 21:03):

or I can whitelist IPs.

view this post on Zulip Grahame Grieve (Aug 17 2021 at 21:03):

But I can't figure how out to blacklist them

view this post on Zulip Grahame Grieve (Aug 17 2021 at 21:04):

anyway @Chris Moesel this affects you. If you're using packages2.fhir.org, you have to switch to https: instead of http: as of now (sorry, but the denial of service attack gives me no choice)

view this post on Zulip Chris Moesel (Aug 17 2021 at 21:33):

Thanks for the heads up, @Grahame Grieve. I understand you're in a tight spot. I do want to clarify though, it doesn't just affect me -- it currently affects every SUSHI user who has an R4B/R5 IG and uses the autobuild system (or does not have R4B/R5 in their FHIR cache). So... we will see some failed IG builds until we push out a new SUSHI release w/ the fix. We'll try to get one out quickly.

view this post on Zulip Grahame Grieve (Aug 17 2021 at 21:48):

yes right, but they are failing already

view this post on Zulip Gino Canessa (Aug 17 2021 at 21:48):

You can block them at the system level with the firewall. You just need a custom rule in to deny access, I believe the step-by-step in this article should work.

view this post on Zulip Jens Villadsen (Aug 18 2021 at 17:15):

Ok ... that for sure aint me ... carin bb is not my thing

view this post on Zulip Corey Spears (Aug 21 2021 at 23:43):

OK, carin-bb is my thing and I am confused as to what is going on. carin-bb does use SUSHI, but does not use R4B or R5 and there has only been a couple of small changes to the IG in the last 1.5 months (back on August 3). I have no idea how carin-bb could be causing an issue and no clear way to diagnose. How can I tell if it is using packages2? How might I tell if something else is going on? Is there a way to tell where this is coming from or specifically the request that is causing the issue?

view this post on Zulip Lloyd McKenzie (Aug 22 2021 at 04:19):

It's not likely the IG-publication process. It's someone who's implementing.

view this post on Zulip Grahame Grieve (Aug 22 2021 at 05:00):

someone doing something. my gut call: they picked a package at random


Last updated: Apr 12 2022 at 19:14 UTC