Russell Coker: The Security Benefits of Automation
Some Random WTFs
The Daily WTF is an educational and amusing site that recounts anecdotes about failed computer projects. One of their stories titled Remotely Incompetent concerns someone who breaks networking on a server and is then granted administrative access to someone else s server by the Data Center staff [1]!
In one of the discussions about that I saw people make various claims about Data Center security, such as claiming that having their own locked room helps. My experience indicates that such things don t do much good, I have often been granted access to server rooms without appropriate checks.
My experience is that security guards on site generally don t directly do any good. I once had a guard hold a door for me when I was removing a server from a DC without even bothering to ask for ID! On another occasion in the Netherlands I had a security guard who didn t speak English unlock the wrong server room for me, I used hand gestures to inform him that I needed access to the room with the big computers and he gave me the access I needed! It seems that the benefit of security guards is solely based on scaring people who don t have the confidence needed to bluff their way in. Preventing children from thieving is a good thing,
On another occasion I showed ID and signed in for access to a DC owned by my employer and I used my security key to go through a locked door with a sign that promised many bad consequences if I failed to lock the door behind me. Then I discovered that the back door was wide open for the benefit of some electricians who were working in the building. Presumably the electricians who had no security training were expected to act as ad-hoc security guards if someone tried to enter through the back door presumably they would not have been good at it.
When a company uses part of their own office for a server room then many of these problems disappear. But a common issue in such ad-hoc DCs is the lack of planning and procedures, I have lost count of the number of times I ve seen doors (and even windows) propped open to allow ventilation because there were too many servers for the air-conditioning to cope. The most ironic example of this is the company that had a walk-in safe (think of a small bank vault with concrete walls and thick solid steel door) used for storing servers but with it s door propped open to allow cooling. The advantage of a serious hosting company is that they will have procedures for cooling etc and will be very unlikely to do strange and silly things.
Having a locked room in a DC makes some sense, but if security guards have the master keys and are allowed to use them then it might not do much good. The one time I locked my keys in such a room I had a guard let me in without verifying my ID or the claim that there were actually keys locked in the room. Presumably anyone could just claim to have forgotten their keys and get the door unlocked just like a cheap hotel.
Locking a rack sounds like a good idea, but the racks I ve seen have had locks which are quite easy to pick. On the one occasion when I had to pick a lock on a rack (due to keys being too difficult to manage for the relevant people) the security guards didn t investigate, so either the security cameras were not supervised or they just didn t care about people picking locks in a shared server room. Also if you allow people to do things freely in a shared server room they could install devices to monitor network traffic.
A locked cage in a server room should work well. In the one case where I worked for a company that used such a cage I found it to mostly work well apart from the few weeks when the lock was broken.
One company that I worked for had scales before the door between a server room and the car-park to prevent people from stealing heavy servers. Of course that wouldn t stop people stealing hard drives full of data which is worth more than the servers! Also an over-weight colleague had to have the scales disabled for him (as they were based on absolute mass not unexpected changes in an individual s mass) which presumably means that any skinny employee could steal a 2RU server and still be below the mass threshold.
How to Solve some of these Problems
Computers are subject to all manner of security problems. But they tend not to do arbitrary things for no apparent reason and they will never give in to someone who is charming, attractive, or aggressive unlike humans.
I have servers running on Hetzner, Linode, and the Rackspace Cloud. I am always concerned about possible security compromises. But I am not worried about someone climbing in a window of a server room or convincing a security guard to let them in through the door. All three of those hosting companies have the vast majority of interactions automated. I can change many aspects of the servers without involving ANY human interaction. Out of the three of those companies I have had some human interaction with Hetzner (who provide managed servers) when a hard drive needed to be replaced obviously replacing a disk in the wrong server would have been a significant system integrity issue even though everyone would be running RAID-1 and if Hetzner improperly disposed of the broken disk then there could be security issues but this is an unlikely mistake in the face of a rare occurrence. With Linode and the Rackspace Cloud (and the previous Slicehost hosting that was purchased by Rackspace) the most common interactions I have with employees of those companies are when my clients don t pay their bills on time and that s an administrative not a technical issue. When I do have to contact the support people about a technical issue it s usually something that s not immediately connected to the virtual server (EG a loss of routing to the DC).
It seems most likely that there are a fairly small number of people who are allowed in the DCs for companies like Hetzner, Linode, and Rackspace. Those people would probably be recognised by the security guards and their work would be restricted to replacing failing hardware and not involve granting access requests. There are some unusual requests that they can process (EG one of my clients recently transferred a virtual server between business units) but even in those cases the administrative software controls who gets access. This is much better than just handing hardware access to what seems to be the correct physical server to a client.
If you have software running a few computers and operating correctly then you can probably scale it up to run thousands of computers and have it still work correctly. But if you have a team of people controlling access requests and want to scale it up significantly then there are huge problems in hiring skilled people and training them correctly. There is a real risk of security flaws in such administrative software, if someone managed to exploit the automated management system for one of those three companies then they could probably gain access to the private data of any of their customers. But the risk of this seems a lot less than the risk of general incompetence among humans who perform routine and boring tasks which have the potential for great errors.
Related posts:
- The Security Benefits of Being Unimportant A recent news item is the hacking of the Yahoo...
- Security Lessons from a Ferry On Saturday I traveled from Victoria to Tasmania via the...
- Public Security Cameras There is ongoing debate about the issue of security cameras,...
One of features I wanted to introduce with
I have a few thoughts based on the yet another round of debate where marketing clashes with free software advocation and technical details. Nothing new in the debate itself, but I'm adding a couple of insights.
One of the prerequisites for 
Hm, I realized that I
The animation is of course due to ImageMagick glueing one hundred files into
a single animated gif.
More information about
If you're in the habit of doing sudo debi at the end of a build, it's worth noting a complication with Multiarch.
It took a while to get it out, but finally, 3 years after the latest release
(1.2), the version of 1.3 of
I use
The plugin itself uses the neat Statistics::R perl module to handle
all of the heavy lifting. I personally plan on using this plugin to
help write some more entries in my learning R series of posts that I'm
beginning to work on. Hopefully I'll find and fix most of the bugs as
I embark on that process so anyone else who uses the plugin won't, but
feel free to e-mail me if something isn't working as it should.
Finally, you shouldn't run this plugin on a publicly editable
IkiWiki instance, because that would be a trivial local user exploit
as R can run arbitrary code, read and write to arbitrary files,
exhaust all memory, etc.
I started by explaining why having root access to your system is really important, including 



The Google Maps client comes with every Android system, the above shows the location of the LUV meeting.































Some of my recent time has been devoted to making our boot media more Mac friendly, which has entailed rather a lot of rebooting. This would have been fine, if tedious, except that some number of boots would fall over with either a clearly impossible kernel panic or userspace segfaulting in places that made no sense. Something was clearly wrong. Crashes that shouldn't happen are generally an indication of memory corruption. The question is how that corruption is being triggered. Hunting that down wasn't terribly easy.
So, since Wednesday, we have no more teenagers among our children.
Indeed, our youngest, Magali, turned 20 and we happily celebrated that
in a japanese restaurant in Paris : Magali is living in a (very) small
flat in Paris as she attends preparation courses for exams meant to
enter physical therapist schools. She's currently working very hard to
prepare these and is left with only one week before the first exam.
We're 100% confident that she'll succeed.
Really, the days where our little shrimp was crawling across her bed,
turning clockwise and finally sleeping in the width of the bed....do
not seem so far. And still, these folks we call "our kids" are now
grown-up persons living their own lives : Jean-Baptiste (some of my
friends reading this blog have met him at DebConf 10) will soon enter
profesionnal life after graduating an engineering school in
electronics, at 24. Sophie, now 22, will resume her social worker
school in Bordeaux in September and will probably start working as
social worker ("assistante sociale", in French) afterwards. And we
hope that our little shrimp (which her sister calls "mini-poop")
starts a physical therapist school next year.
So, well, more and more, Elisabeth and I are old parents and weeks
where we're indeed both alone at home are now common (not to mention
weeks where only one of us is alone either because she has
professionnal commitments on some other side of the planet or I have
some free software event on another side of the planet).
It is indeed really likely that this year's holidays will be the first
ones where we have a distant travel...which we'll be doing alone.
Holidays in Nicaragua (you probably guess why Nicaragua) are much
awaited and will be enjoyed a lot, but still...:-)
So, well, to all those of you who read this and are parents, or plan
to become parents, be happy. The wonder that it is lasts for years and
it's very hard to describe precisely the link that connects parents
and their children. At least the one we have with our children, which
both us and them are proud of. And that pride and this link have no
price. I really wish you guys to develop the same with your newborns
(particularly those of you who very very very recently became parents
anbd, yes I mean you who know who you are...).

I've been experimenting with a new packaging tool/workflow based on
marking certain commits on my integration branch for export as quilt
patches. In this post I'll walk though converting the package nauty to
this workflow.