I got an e-mail asking for some advice recently:
So, I’m aiming to build out a massive game-space for playing security games (CTF/attack-defend/whatever-you-want-to-call-it) of all types, at a very large scale (5 separate physical sites, multiple links per each of multiple transit, with a dedicated datacenter at each…)
The idea is to enable (or easily modify design to accomodate[SIC]) the playing of basically any game desired. Keeping the ability to put as little or as much of an entire operational network in scope, including the carrier, edge routing, core routing and switching, distribution, load balancing, and access switching, as well as any firewall or inline/drop-in appliances, or peripherals desired at any point.
While I haven’t run an event since 2009, something I used to organize for fun was RootWars (see the marvel that is 2007 web page here). These are sometimes referred to as Capture the Flag. All my events were “pack and go” events and nothing like the magnitude of what he is proposing. I wouldn’t be surprised if this was a college assignment. Regardless, I had some pointers.
First suggestion was to get some experience running root wars. When I first started running RootWars I learned early on that there were people that had abilities far beyond what I was prepared to deal with. Over a few events, I learned skills from these people but, more importantly, I learned how to create a root war for them. Root wars is so much more than just throwing together a few servers and telling people to have a field day. It took me about 3 events to really understand what it was about.
Next was to develop game scenarios. My first events were basically free for alls. I was surprised to learn that people lose interest very quickly in a free for all. I don’t know if it was from fear, lack of experience or just the restriction that comes from having no restriction but when I started building events with scenarios participation increased. One of my favorite scenarios was when I had each team working with a fictional government organization to locate terrorists. Participants quickly got into the role-play aspect and things went smoothly.
The other thing that helps get people participating is to develop a consistent scoring system. People love to compete. It is that simple. Make the scoring live and public and people will work even harder to be on the leader board. This is probably one of the hardest items to come up with. I tried to use OpenInfreno but eventually started to build my own. There is nothing more fun than watching people get impossible scores because they’ve hacked your scoring server.
Finally, I provided a little bit of technical detail on what he asked. The ability to rebuild quickly is going to be important. I suggested he build a build environment using something like cobbler. Keep it physically off-line using something like APC PDUs. Keep the servers in order using puppet and keep configs in order using something like Subversion.
I haven’t heard from him in a while. I wish him luck. And if his budget is really big, hire people. The economy will thank you.