News for hackers. Stuff that matters.
Re:Linux 3.7 released by autotravis on Tuesday December 11, 2012 @11:04AM (#4905048)
>'"Fast Open" is a optimization to the process of stablishing a TCP connection that allows the elimination of one round time trip from certain kinds of TCP conversations. Fast Open could result in speed improvements of between 4% and 41% in the page load times on popular web sites.'

Interesting... anyone know more about this?

Re:Linux 3.7 released by kzrdude on Tuesday December 11, 2012 @11:06AM (#4905060)
Recommended LWN article: TCP Fast Open: expediting web services http://lwn.net/Articles/508865/
Re:Linux 3.7 released by gghh on Tuesday December 11, 2012 @04:26PM (#4906934)
thank you, interesting link. Does TCP Fast Open have anything to do with the "slow start", which a few major websites are known to violate[1][2] ? just out of curiosity. It doesn't look so, at a first glance.

[1] http://en.wikipedia.org/wiki/Slow-start [2] http://blog.benstrong.com/2010/11/google-and-microsoft-cheat...

Re:Linux 3.7 released by pm90 on Tuesday December 11, 2012 @05:27PM (#4907284)
Not really. Slow start is a precaution to avoid the network from getting congested; whereas TCP fast open is essentially trying to reduce the completion time of small TCP requests.
Re:Linux 3.7 released by Contero on Tuesday December 11, 2012 @05:26PM (#4907281)
It sounds like it would allow a client to send data (HTTP request) before the server has acknowledged that the TCP connection is open.
Re:Linux 3.7 released by ck2 on Tuesday December 11, 2012 @11:08AM (#4905066)
http://en.wikipedia.org/wiki/TCP_Fast_Open

I guess CentOS will get this in 2020, sigh, still waiting for initrwnd 10 support.

Re:Linux 3.7 released by sliverstorm on Tuesday December 11, 2012 @12:33PM (#4905557)
Ah, the downsides to stability.

The particularly unfortunate part is, as much of the world's commercial hosting runs on RHEL, it's the world that doesn't get this until 2020. Well, except for services that roll custom kernels.

Re:Linux 3.7 released by ck2 on Tuesday December 11, 2012 @12:42PM (#4905622)
Yup - I realize it's the stability in trade.

Every so often I am tempted to fiddle with debian, looks like more and more people are thinking that way:

http://w3techs.com/blog/entry/debian_is_now_the_most_popular...

Re:Linux 3.7 released by Scramblejams on Tuesday December 11, 2012 @01:55PM (#4906085)
I highly recommend making the switch. They've been doing the package management thing the longest, and it shows, both in package selection and how smoothly it all generally runs. And I've never had less trouble upgrading from one version to the next than on Debian.
Re:Linux 3.7 released by otterley on Tuesday December 11, 2012 @07:03PM (#4907764)
I would counsel against using anything but RHEL or one of its clones in production, especially if you're running on bare metal. None of the Tier-1 server vendors support anything but RHEL. This is incredibly important if you care about ever upgrading your firmware, or debugging hardware/software integration issues. Otherwise you get trapped in vendor-fingerpointy hell.

Another good reason to stick with RHEL is that they do a very good job of maintaining compatibility between minor releases. You're pretty much guaranteed to be able to install a third-party package across all minor releases. If it installed on 6.0, odds are it will install and work on 6.4 without issue. Others make no such guarantees.

RHEL has way, way better (and accurate) documentation than any other distro I've used, particularly when it comes to unattended installations and server configuration tuning. Other distributions tend to focus much more on desktop users than massive server installations and their particular needs.

It's a common complaint among people that RHEL is always too far behind the curve in terms of software packages. But really, your OS will be stale the day after you install it, much like a car loses so much of its value the day you drive off the lot. Freshness is a tempting siren, but can lead you onto the rocks.

If you're a sane implementor, you're going to stick with any distribution you choose over the course of several years. You will favor uniformity over freshness, and stability over constant (and arguably needless) work. And no matter what distribution you choose, you are very likely to roll your own packages of whatever software is critical to your business, as you'll need custom patches and so forth.

Re:Linux 3.7 released by Scramblejams on Tuesday December 11, 2012 @08:29PM (#4908102)
"You are very likely to roll your own packages of whatever software is critical to your business, as you'll need custom patches and so forth."

If you care about taking advantage of prompt security updates from your distro provider, you will do this as little as you possibly can. Otherwise you need to pick up that burden yourself, and since most of us aren't security pros, it is a weight that should be assumed with great reluctance. You're no doubt familiar with the dilemma: Are you going to attempt to maintain stability (which isn't at all guaranteed) by backporting patches, or annoying your ops people by forcing version upgrades?

To a certain extent, how bad this gets is a function of how out-of-date your distro is. This is where having packages that are 4 years old can bite you -- you end up rolling your own far more often than you really should. Overuse of tools like virtualenv leads to the same problem.

Re:Linux 3.7 released by otterley on Tuesday December 11, 2012 @08:57PM (#4908189)
I wasn't necessarily referring to security updates. I was referring to core service subsystems, like webservers, caches, databases, Java VMs and the like. Most large, mature companies I've worked with (who were all core web properties) maintained their own versions because they had enterprise needs that required specific functionality beyond what the basic packages could provide. Sometimes they tune the code itself with custom patches to fix bugs or improve scalability.

If you're betting your business on this software and are operating at scale significantly larger than the typical Web service, odds are you're not going to live on the distro-provided packages for very long.

Re:Linux 3.7 released by sliverstorm on Tuesday December 11, 2012 @08:42PM (#4908137)
It can work out O.K. if you stick to patching srpms of the official releases. For example, in the past I've needed to patch performance fixes for RAID cards into the kernel. When set up carefully, this is easy, repeatable, and has minimal impact.
Re:Linux 3.7 released by sliverstorm on Tuesday December 11, 2012 @02:54PM (#4906452)
On the other hand, one of the nice things about RHEL is you hardly ever have to upgrade major version... RHEL4 has been around since 2005, and is only now finally being phased out.

In comparison, I think "sarge" was the stable Debian in 2005. "sarge" is no longer oldstable- nor is etch. oldstable is "lenny", released in 2009.

Don't get me wrong, I like Debian, but when you compare "ease of upgrading", don't forget to consider "need to upgrade"!

Re:Linux 3.7 released by DigitalJack on Tuesday December 11, 2012 @03:53PM (#4906734)
RHEL is the bain of my frickin' existence. Well, perhaps more specifically our work policies.

But everytime I want to do something slightly interesting on our linux boxes, I'm thwarted by everything being so damn out of date on RHEL.

I can't run Sublime Text2, which irritates me, but worse I was wanting to use node-webkit for an experimental project and I can't even run that.

Re:Linux 3.7 released by wladimir on Tuesday December 11, 2012 @03:05PM (#4906509)
True, but don't forget that the longer you wait with upgrading, the more compatibility issues you may run into when you finally have to upgrade. Linux has changed a lot since 2005.
Re:Linux 3.7 released by Legion on Tuesday December 11, 2012 @03:27PM (#4906613)
Agreed with this!

I'm more devops than sysadmin, so more expertise may have changed my experience, but when I did run a CentOS server, I thought, "yay, this is great"... until it came time to actually update.

Then, I realized that I had simply been accumulating up all of my upgrade pain as debt - with compound interest.

By comparison, upgrading Debian servers from version to version felt like hopping from bed to bed in a mattress store. Aside from a missed footing or two, it was usually a nice soft landing.

Re:Linux 3.7 released by Scramblejams on Tuesday December 11, 2012 @03:59PM (#4906769)
Yes! Plus I get an unreasonable amount of satisfaction out of that server I last imaged in 1998 running the latest version of Debian. So awesome -- it might outlive me, and if it does, it'll be up to date!
Re:Linux 3.7 released by danudey on Wednesday December 12, 2012 @04:54PM (#4912688)
> one of the nice things about RHEL is you hardly ever have to upgrade major version

This is a huge downside for me. I worked for a remove server management company, and every time I had to work on a new (to us) RHEL4 or RHEL5 server (or CentOS equivalent), it was like pulling teeth. In order to run half the software our clients needed, I had to compile newer versions of daemons, create our own RPM packages, patch and recompile code. RHEL5 didn't even include memcached for crying out loud!

For 'enterprise deployments' I can understand wanting to go with RHEL if you don't know much about server administration and want to make it 'easier' on yourself, but even for basic web apps, most of the software you'll want to use is absent, out-of-date, or incompatible. I can't imagine anyone working for a startup wanting to use it.

Re:Linux 3.7 released by Scramblejams on Tuesday December 11, 2012 @03:55PM (#4906748)
That's true. I like the Debian ecosystem but I also like the idea of putting off an upgrade for 5 years, so I'll probably give an Ubuntu LTS edition a try at some point. Unfortunately my past experience in updating between Ubuntu versions has not been encouraging. Probably best to try it on a box that'll be reimaged or retired rather than updated.
Re:Linux 3.7 released by thevdude on Tuesday December 11, 2012 @02:30PM (#4906315)
Debian was my first linux distro and moving from stable to testing repos the first time was a real pain in the ass. After doing it once or twice, and reading a ton of stuff and learning what was actually going on when I was changing settings, I was much better off.
Re:Linux 3.7 released by pm90 on Tuesday December 11, 2012 @05:37PM (#4907348)
also, you can easily get the latest linux kernel to work with Debian; Im currently running the 3.2 kernel on squeeze, although it comes with 2.7 by default. And im no kernel hacker; they have an easy way to do just this:http://www.debian.org/releases/stable/i386/ch08s06.html.en
Re:Linux 3.7 released by B-Con on Tuesday December 11, 2012 @11:53AM (#4905322)
More detailed explanation here: http://lwn.net/Articles/508865/
Re:Linux 3.7 released by jlgreco on Tuesday December 11, 2012 @03:10PM (#4906541)
Have you considered using Scientific Linux? It seems to do a much better job of tracking RHEL in a timely manner.
Re:Linux 3.7 released by reidrac on Wednesday December 12, 2012 @07:37AM (#4909764)
It's Red Hat that it's not including stuff in RHEL, not that CentOS is slow tracking features. So you get the same stuff with Scientific Linux (mostly, both SL and CentOS package some extra bits, but overall is RHEL).

It's API/ABI stability, and it's meant to be a feature of RHEL.

Re:Linux 3.7 released by Nux on Tuesday December 11, 2012 @11:25AM (#4905165)
If all you need is the kernel, then you can use the one provided by the elrepo.org project.
Re:Linux 3.7 released by stusmall on Tuesday December 11, 2012 @11:57AM (#4905352)
Also building your own isn't too difficult.
Re:Linux 3.7 released by andreaso on Tuesday December 11, 2012 @02:41PM (#4906381)
Building a kernel of your own is fairly trivial. The potentially less trivial part is keeping it up-to-date with security fixes, etc. Not impossible by any means, but it does require a bit of a commitment in time, build environment, etc.
Re:Linux 3.7 released by sp332 on Tuesday December 11, 2012 @11:26AM (#4905180)
Wouldn't this conflict with TCP cookies, which were (partially) added to the kernel just a little while ago?
Re:Linux 3.7 released by marshray on Tuesday December 11, 2012 @02:57PM (#4906470)
No, it uses a different TCP options header.

In fact, many of the security considerations are the same.

Re:Linux 3.7 released by sp332 on Tuesday December 11, 2012 @03:13PM (#4906555)
OK, interesting. TCP cookies allocate (practically) no resources to a TCP connection until the three-way handshake is complete, whereas Fast Open can start receiving data before the handshake even finishes. But even if you only do Fast Open on hosts that you have previously completed a normal 3-way handshake with, attackers will just do one full handshake at the beginning of the attack and then switch to SYN flooding.
Re:Linux 3.7 released by marshray on Tuesday December 11, 2012 @06:39PM (#4907662)
attackers will just do one full handshake at the beginning of the attack and then switch to SYN flooding

Except it's no longer SYN flooding at that point, it's full HTTP request flooding.

But in a sense isn't that really the goal of this design? To make it a bit more efficient to get requests to the application layer?

In any case, it seems like an application using this feature to have an efficient way of disabling it if it can't handle the current load. Kernels could add efficient heuristics to throttle it automatically too.

I'm more concerned that a bug in the entropy of the key generation process could turn these servers into massive reflected DoS amplifiers. E.g., the attacker sends 1 packet with the source address spoofed and the webserver replies with an entire HTTP result to the victim.

Re:Linux 3.7 released by caf on Tuesday December 11, 2012 @05:31PM (#4907310)
SYN flooding is only really effective if it's spoofed, and you can't spoof a full three-way handshake unless you're in a privileged position on the network.
Re:Linux 3.7 released by pm90 on Tuesday December 11, 2012 @05:42PM (#4907386)
The cookies are meant only to avoid resource exhaustion attacks from the processing of the initial data segment.
Re:Linux 3.7 released by allerratio on Tuesday December 11, 2012 @04:00PM (#4906776)
RHEL 7 is planned for 2013. If it's released in late 2013 it could get in
Re:Linux 3.7 released by mediocregopher on Tuesday December 11, 2012 @02:45PM (#4906409)
CentOS 6 actually does support the initrwnd 10 modification. I forget what exactly is involved but we have it working on our servers where I work.
Re:Linux 3.7 released by ck2 on Tuesday December 11, 2012 @11:25PM (#4908638)
You are thinking of initcwnd

6.3 still does not support initrwnd which needs a minimum kernel of 2.6.38

Re:Linux 3.7 released by mediocregopher on Thursday December 13, 2012 @09:59AM (#4915910)
Ah, you are correct. My mistake.
Re:Linux 3.7 released by JoshTriplett on Tuesday December 11, 2012 @11:08AM (#4905068)
LWN had a detailed article about it: https://lwn.net/Articles/508865/
Re:Linux 3.7 released by mixmastamyk on Tuesday December 11, 2012 @01:47PM (#4906024)
How long until this comes to Windows and OSX clients? Until then it doesn't seem that this will get much use. Didn't find anything on a preliminary google search.