Earlier quoted context omitted.
I disagree. Node.js and client-side JavaScript should treat security issues differently because they face different risks. E.g. A DoS against client-side Javascript is not a big deal (because it might slow down a single browser, or even just a single tab within a browser). However, on the server side, a DoS could take down an entire service which is much more significant. Thus you could say that V8 is "secure" on the…
He's saying it's FUD because the headline is misleading, not because he's trying to downplay the security issue. You and grandparent are likely in agreement with respect to your comment. (The headline is misleading because the issue affects several major language runtimes, V8 included – yet only Node.js is mentioned.)
All Node.js servers are vulnerable to DoS
31–37 of 37 posts
Re: All Node.js servers are vulnerable to DoS
#32Ryan Dahl commented on the thread, and it's being fixed in node. Nice to see assessment and responsiveness at the core of the project. I'm evaluating node.js as an application platform choice for a large public infrastructure project. One thing that concerns me is (my perception here) a lack of public hardening of the server that's yet to come. I've been around long enough to see that effect on PHP, Django, Rails, et…
A look at node's HTTP parsing code, 1500 lines of hand-coded and rather pretty C, makes it clear that Ryan Dahl cares a lot about HTTP in node doing the Right Thing. https://github.com/joyent/http-parser/blob/master/http_parse... (This is also very handy for people writing HTTP servers and clients in other languages, since it's independent of node, and really fast and feature-complete.)
"Based on src/http/ngx_http_parse.c from NGINX copyright Igor Sysoev"
Re: All Node.js servers are vulnerable to DoS
#33Earlier quoted context omitted.
I wonder if this is a bigger deal for Node because it's single-threaded? Just one malicious POST request could slow down the entire server, whereas other languages that spawn a process for each request could easily kill a process that's using 100% CPU, right?
you can just as easily spawn multiple node.js servers and kill off the unresponsive one's
Re: All Node.js servers are vulnerable to DoS
#34Earlier quoted context omitted.
you can just as easily spawn multiple node.js servers and kill off the unresponsive one's
yeah but you're encouraged to only spawn child processes for cpu-intensive tasks.
There is even a cluster module built in now to remove the need for an extra external tool to manage the processes: http://nodejs.org/docs/latest/api/cluster.html (there are more fuller featured options available as extra modules, I'm not sure how they compare efficiency-wise with the in-built one). I'm guessing this isn't the way to go if the processes need to communicate, but I've not looked into it overly deeply yet (my experiments with node not having grown to the point of needing to take advantage of more than one core).
Re: All Node.js servers are vulnerable to DoS
#35As a Ruby developer, I'm glad I won't need to deal with a "All Rails Servers are Vulnerable to DoS" FUD post in the next few days.
Re: All Node.js servers are vulnerable to DoS
#36Re: All Node.js servers are vulnerable to DoS
#37Not necessarily specific to node.js, but in general, instead of a standard webserver, use netcat, on multiple obscure ports, where each instance of netcat acts once and is discarded. http://en.wikipedia.org/wiki/Netcat
That plan sounds like half-assed voodoo, but it kind of resembles the approach that qmail uses for security, which is actually pretty neat: http://cr.yp.to/qmail/qmailsec-20071101.pdf
http://acme.com/software/thttpd
http://en.wikipedia.org/wiki/Jef_Poskanzer
NOTE TO DOWNVOTERS: You shouldn't downvote a technical suggestion, no matter how strange, unless you are certain that it won't work.