Home
45 comments
lopkeny12koabout 1 year ago
This reads as extremely self-congratulatory. A "billion requests per month" is only a few hundred requests per second, which is both trivial and not a "DDOS." Also, their site is behind a CDN (Cloudflare), so I'm <i>extra</i> confused on how they think they did something notable from a performance perspective here.<p>For example, there's no reasonable world where that 200 MB blob is <i>not</i> cached and served over CDN. I can't imagine someone would be <i>so proud</i> that their application server <i>isn't</i> reading 200 MB from disk and copying those bytes to the client on every download; it's just so obviously poor design.
评论 #39873877 未加载
评论 #39873914 未加载
评论 #39873899 未加载
ThePhysicistabout 1 year ago
4 TB per month isn't really a DDoS attack, no? 4 TB per hour might qualify as a DDoS, but 4 TB per month is just 1.5 MB / second. 6 million requests per months are just 2 requests per second. I'd say the fact they run a monolith service isn't really relevant at this scale, especially as I assume Cloudflare handles most of the requests through caching them at the CDN level.
评论 #39873218 未加载
评论 #39873693 未加载
评论 #39882357 未加载
评论 #39873166 未加载
评论 #39873088 未加载
评论 #39873243 未加载
oefrhaabout 1 year ago
This is just a static marketing site for a desktop app. They don’t even have a discussion forum — feedback is handled by GitHub issues. Bragging about how simple their deployment is for a static marketing site and how it’s able to handle a static file being downloaded <i>millions of times a day</i> is super weird. And Cloudflare is doing all the mitigation work here (if that’s even needed for such a puny amount of traffic), not them.<p>If I were to be hit by such an "attack" myself I probably wouldn't even notice until Cloudflare sends me that monthly "X TB of data transferred, something close to 100% bandwidth saved" email.<p>I like the app btw, can recommend.
评论 #39873818 未加载
评论 #39876801 未加载
评论 #39873418 未加载
PreInternet01about 1 year ago
I'd hardly call that a DDoS attack: from the description given, the extra 8TB-or-so of monthly traffic seems to fall under "annoyingly pointless abuse of services"...<p>As long as such abuse doesn't cause monetary or resource exhaustion concerns, it's quite OK to ignore it, but stories like "whelp, turns out that 80% of the capacity of our auto-scaling fleet is not doing anything useful" are depressingly common enough to at least <i>keep an eye on things</i>.<p>My annoyance with this kind of abuse revolves mostly around logging: a majority of logs just showing the same set of hosts displaying the same pointless behavior over and over again. Again, not a huge issue if your log storage is cheap and plentiful (as it should be), but having some kind of way to automatically classify certain traffic as abusive and suppress routine handling of that is definitely a good idea.<p>It's also a lot harder than it sounds! I can't count the number of times I've added classification logic to my inbound SMTP server that should pick up on outright, silly abuse (of which there is a lot when dealing with email), only to have it triggered by some borderline-valid scenario as well.<p>Spending <i>way</i> too much time on going down successive rabbit holes is a great way not to get any <i>real</i> work done -- a great reason to outsource, or, if that's too much work as well or just too expensive, indeed just ignore the abuse, annoying though it is...
评论 #39873594 未加载
评论 #39873281 未加载
sethammonsabout 1 year ago
That's not a noteworthy "attack"; that could be a single runaway bash script on someone's machine. 50MM requests per month "from the UK" averages out to under 20 requests per second. I would expect a single Go server to handle 250 times that request volume before optimizing much.<p>Their advice isn't bad per se, but their numbers are not a testament to it. I expect for my Go HTTP API services to handle 5k requests per second on a small to medium VPS when there is some DB activity and some JSON formatting without doing any optimizations. This is based on deploying dozens of similar services while working at a place that got multiple billions of requests per day, spiking to over 500k rps.
评论 #39874751 未加载
headmeltedabout 1 year ago
It’s great that this isn’t hurting them but it leaves out a lot that makes me a bit nervous about this being taken as advice.<p>They’re advocating deploying a binary as preferable to using docker, fair enough, but what about the host running the binary? One of the reasons for using containers is to wrap your security hardening into your deployment so that anytime you <i>do</i> need to scale out you have confidence your security settings are identical across nodes.<p>On that, the monolith talked about here can be hosted on a single VPS, again that’s great (and cheap!), but if it crashes or the hardware fails for any reason that’s potentially substantial downtime.<p>The other worry I’d have is that tying everything into the monolith means losing any defence in depth in the application stack - if someone does breach your app through the frontend then they’ll be able to get right through to the backend data-store. This is one of the main reasons people put their data store behind an internal web service (so that you can security group it off in a private network away from the front-end to limit the attack surface to actions they would only have been able to perform through a web browser anyway).
评论 #39873228 未加载
评论 #39873280 未加载
评论 #39873871 未加载
评论 #39874840 未加载
评论 #39873234 未加载
sameoldtuneabout 1 year ago
Pet peeve of mine. “Billion requests per month” is about 370 rps. Which can be likely handled by a single well configured server. Certainly less than 10 servers. A single rogue bash script could cause that much traffic
评论 #39873688 未加载
评论 #39873949 未加载
评论 #39873635 未加载
mastermedoabout 1 year ago
I might be out of touch with reality, but billions of requests per month sounds like peanuts. Is that considered a big ddos attack?
评论 #39873053 未加载
评论 #39873329 未加载
评论 #39873068 未加载
评论 #39873080 未加载
评论 #39873304 未加载
NKosmatosabout 1 year ago
Nice one :-)<p>“… => Thus, we build a monolith service for each app, which is easy to deploy and maintain. No Docker, no Kubernetes, no dependencies, no runtime environment - just a binary file that can be deployed on any newly created VPS. …”
评论 #39873031 未加载
评论 #39873056 未加载
filleokusabout 1 year ago
Was hoping for something more swole dog worthy when reading the headline. Even though I agree with much of the advice, being behind Cloudflare is definetly not nothing.<p>Depending on the distribution of the traffic they might have survived well on VPS's without Cloudflare anyways, doesn't seem that large. Would be interesting to see more detailed stats of rps and how much (if any) Cloudflare stopped before they got it.<p>Russian layer7 ddos'es that I know of targeting Swedish companies have been large enough that major providers run into capacity problems and fall over (including Verizon, Azure Frontdoor, Cloudflare, GCP's Load balancer). This strategy would absolutely not work against those volumes.
pheatherliteabout 1 year ago
Why do they need an app server at all? The website, to my initial glance, seems to be a brochure for the desktop product. Surely static pages and static assets would be even more resilient against a ddos since it's just bog standard webserver streaming out the static resources. Mount a memory based fs and conventional disk latency concerns become mitigated, too.
评论 #39873637 未加载
koposabout 1 year ago
A bit ingenious to say we do nothing when you have CloudFlare in front of your servers. Cloudflare by itself can automatically detect and handle DDoS without explicitly activating the Under Attack mode.<p>Also Java jar files give you the same benefit.
评论 #39873132 未加载
评论 #39873178 未加载
评论 #39873337 未加载
评论 #39873179 未加载
评论 #39873342 未加载
trickpa1about 1 year ago
You should try to protect yourself from it using cloudflare or something like that. here is one site which you can use to test your protection <a href="https://topstresser.net/#pricing" rel="nofollow">https://topstresser.net/#pricing</a>
bun_terminatorabout 1 year ago
I guess this is an ad, so I'll bite: Why is the mac download button featured so centrally, while there appear also to be downloads for other platforms, too? It's not like that's a usual default.
评论 #39873559 未加载
ckdarbyabout 1 year ago
Literally laughed when they're talking about language choices for a billion requests per month.<p>I've got nodejs lambda code that is doing 388B/month and only at this point have we even considered changing the language for performance because the cost savings have a net positive ROI.<p>It took 5 years to get to this point.
andrewmackrodtabout 1 year ago
The architecture of the app didn't seem related to the "DDoS" attack they're describing. If it's only their setup file being downloaded, I imagine their backend isn't even touched, doubly so if they're using cloudflare for caching.
dugmartinabout 1 year ago
It feels like they didn't learn the root lesson - move your 200MB setup file to a subdomain. You shouldn't host large assets like this on the same domain as your marketing/app site even if there is a CDN fronting it because an attacker can simply add a random query string to bust through the CDN cache and cause the cache miss to hit your box. The subdomain should be hosted on a different box and fronted possibly with a different CDN provider so that any large scale attack doesn't affect your marketing/app site (either due to your CDN provider or upstream network provider temporarily black holing you).
评论 #39873454 未加载
vascoabout 1 year ago
Bragging about this has to rank up there as the worst idea in the world. If your hole argument is taunting would be attackers with your wallet - saying you're more overprovisioned than the traffic they can send, you're just threatening them with a good time. At another time in my life I'd take this post as an invitation, even, specially because the numbers shared are super low.<p>I've had 3 situations where my place of work was under DoS attack, in the 3 cases I managed to identify an email address and reached out asking why they are doing it, and if they want to talk about our backend. In 1 case, the "attack" was a broken script by someone learning how to program, the other two were real attacks and one of them just immediately stopped once they knew we knew who they were, the other actually wanted to chat and we emailed back and forward a bit.<p>99.99% of the time a DoS is someone who is bored. Talking to them tends to work.<p>Edit: there's some questions about the situations so I'll expand:<p>- The first was not a real attack, and they were doing the network calls through their authenticated API key. This was early days of a YC startup so of course there was no rate limiting in place. In this case I exchanged 2 or 3 emails and after they sent me their python script I sent them back a patch and they finished their scraping without bringing us down. Never heard from them again<p>- The second was at a different company, we were getting targeted to distribute email spam, because at the time we'd allow people to invite their colleagues as members of their account, and some people associated with casinos based out of Macau automated a way to spam their casinos by putting the URL in the name of the account, which went out in the email notification. I contacted one of the admin emails of one of the casinos I found and they stopped and disappeared. In this case we also locked all their accounts and prevented further logins + emailed them to reach out to support if they thought it was a mistake.<p>- The third one was more difficult, they weren't using any account, so all we had was network. At some point on the second day though they changed how they were sending some of the calls, and by mistake or not leaked their Telegram username. I installed telegram and talked to them, they trolled me a little bit, but stopped very quickly and didn't start it again. This one was very amusing to people in my company because I had told them this approach would work but a few of the big wigs didn't want me to do it (they didnt have any reason other than "obviously won't work to just talk"). I just did it anyway.<p>To be clear, you shouldn't reach out with some threats or how you're so good that you found them. My approach is of genuine curiosity, and my literal first message to the telegram person was:<p>"Hello, how is it going? I work at <companyname> and we're seeing a load of requests originating from your user here on telegram. Does this make any sense to you or do you think I might have the wrong person?"<p>That's it!
评论 #39873346 未加载
评论 #39873339 未加载
评论 #39873334 未加载
评论 #39873356 未加载
评论 #39874018 未加载
评论 #39873352 未加载
trompabout 1 year ago
> our setup file is approximately 200MB<p>> we keep things as minimal as possible<p>Wonder what's in that file that makes it need to be that large...
评论 #39874072 未加载
KingOfCodersabout 1 year ago
Doesn't look like a real DDos attack to me with the traffic numbers (of course, No true Scotsman).<p>4TB/200mb = 5000.
ddorian43about 1 year ago
A nice thing about modern cloud providers is their expensive bandwidth so a new vector of attack is simply downloading large files that they host. (except cloudflare)
AtNightWeCodeabout 1 year ago
Those numbers in the screenshot from Cloudflare represents requests to Cloudflare, not requests to the origin. It includes cache hits.
welzelabout 1 year ago
This is so cute. The webpage could be fully static, served from a raspberry as it is hiding behind a CDN anyway and the DDOS is not even trying.<p>Anyhow, doing the same with a high traffic application would be a very very different animal, specially when the app has 100k+ active daily users and is doing actual stuff. The advice is not bad, but it sounds so silly. From experience every time a commercial web application was build as a monolith it became very hard or even unmaintainable in a few years, specially when 15+ Teams are constantly contribution. So pick the right hammer for the problem you have, but pretending a simple marketing webpage + payment/subscription is a good example for architecture is just a bit much.
vintermannabout 1 year ago
> we’ve simplified the deployment process as much as possible. We don’t use Docker, Kubernetes, or any containers, or need to setup the enviroment.<p>This sounds like a dream, both in the sense that it's wonderful, and that I'm not quite sure I believe it.
评论 #39873406 未加载
razodactylabout 1 year ago
I like this a lot: Why? Because the attacks are directed to someone who isn't bothered and wastes their own resources. I've been a Table Plus user for near a decade now and enjoy the simple but highly compatible software they provide.
block_daggerabout 1 year ago
Reminds me of Nietchze’s Genealogy of Morals quote: I’m strong enough to allow that.
评论 #39873224 未加载
评论 #39873387 未加载
d_burfootabout 1 year ago
This content was very useful to me, as I am running a small service for a few clients that I worry might be taken down by a DDoS. The main takeaway seems to be "use a CDN", but if you are running a more complex service, why can't the attackers hit endpoints that aren't CDN-cached? Is the strategy in this case simply to refuse the request very early in the process, to ensure the service doesn't waste much time processing it?
评论 #39875233 未加载
PaulHouleabout 1 year ago
Downloading a setup file is not the way to bring down a site. My experience in the HDD era was that people laugh at you when you do a lot of requests like that but call the FBI on you (at least here in the States) if you insert a lot of random users into their database. (Each of those requires a transaction and each of <i>those</i> requires waiting for the disc to spin around unless they had a nice battery-backed write cache)
ur-whaleabout 1 year ago
Public boasting as a mitigation strategy, that's got to be a new one.<p>Not entirely sure it's a wise approach given the deeply asymmetric infrastructure costs of DDoS attacks, especially if the attacker has access to a botnet.<p>[EDIT]:<p>in other words, there is a non-zero probability that the attacker, piqued by the boasting, might be able at the flick of a switch to increase the intensity of the attack by a factor 1M.
dsignabout 1 year ago
> When using binaries, you can let Linux Systemctl handle the process<p>“Systemctl” instead of “systemd” ? Hm, do I detect reticence to publicly admit the undeniable, vast superiority of systemd by confusingly using the name of the utility?
neyaabout 1 year ago
This is the dumbest thing I've read on HN today.<p>"We do nothing..because we can."<p>This speaks volumes about your attitude towards security as a business. If I was your enterprise client I wouldn't really be happy reading this.
hntddt1about 1 year ago
It's going to a point where that directly find out the person behind it is cheaper than fix the bug. People nowadays don't pay respect to the hard working people anymore
CanaryLayoutabout 1 year ago
Yeah Goroutines are great. Then add something like WebRTC to your project that realistically tops out at 10000 listeners, and people wonder why Twitter Spaces is so buggy...
wigsterabout 1 year ago
THATS not a DDos attack! when i were a lad...
_ache_about 1 year ago
People has broken CI/CD so we do meme.
Not sure if 6M/m is a lot. Looks like not that much.
memothonabout 1 year ago
A post like this seems kind of dangerous. Just asking someone to fire their cannon at you! Beware.
评论 #39876397 未加载
samyarabout 1 year ago
This is the first time hear the word "Monolith"<p>What is it and how can one learn about it.
评论 #39873398 未加载
评论 #39873204 未加载
评论 #39873432 未加载
评论 #39873175 未加载
deweyabout 1 year ago
Almost sounds like a buggy update process of their app that they shipped.
tluyben2about 1 year ago
Similar problem and similar-ish product 0]; we get DDoSsed a lot and I don’t know why. We had to put Cloudflare botfight to stop it. That works very well, but what do you do if CF doesn’t exist?<p>0] <a href="https://flexlists.com" rel="nofollow">https://flexlists.com</a>
pknerdabout 1 year ago
off topic but you guys have done solid SEO. You query anything related to SQL/syntax and tableplus will be in front of you.
评论 #39873328 未加载
b0x68about 1 year ago
What does “heete” mean?
sylwareabout 1 year ago
It is like computer viruses.<p>DDoS attacks do benefit some specific corps, for instance cloudflare.<p>What's very important is to build DDoS resistant infrastructure without them, to rid of the incentive to shadow-hire hackers to DDoS and force some infrastructures to move there and pay them.<p>There is too much suspicion in the digital world nowdays. Like current crypto is not mainly for shaddy ops and mafia? Really?
kbar13about 1 year ago
not really that interesting of a post. billions of requests per month is like low hundreds of requests per second. billion is a big number but so is a month when it comes to request throughput. all the grandstanding about monolith... for something that serves 2-3 requests per second, and is a static marketing site... this is so overblown.
aoeusnth1about 1 year ago
Why is billions of request per month so exciting to the authors? That’s only ~100 QPS, which a single-core application should be able to handle easily.<p>Wake me up when you have hundreds of millions of QPS of DOS load.