01
back
employee_profile

site :: my flickr page
Nick is the IT Bearded Gentlemen who handles infrastructure, network, servers and technical operations for the Boston office. He is so ridiculously nice it’s not even funny. Like amazingly so. He even fixes servers at 3 AM when people are randomly working on something and they go down. He doesn’t even act grumpy, and really he usually isn’t. Unless you interrupt a serious round of Call of Duty 4 or Rainbow Six Vegas 2. Then he might get a little miffed, but only for a minute. He enjoys fixing problems, especially if he doesn’t have the slightest clue how to fix it. He also likes the woods and taking pictures. And yes, those are his mom’s dogs.
Great Moments in Barbarian History
December 9th marked 10 whole years of existence for The Barbarian Group, and we had this big ol’ party to celebrate.
For this auspicious occasion, we built an iPad gallery displaying great moments in Barbarian history, chronicling everything from our pneumatic beer cannon to that one time a few of us got arrested.
If you couldn’t make the party in NYC (or if you partied a little too hard and missed the gallery the first time), you can still revel in that great historical volume. Ladies and Gentlemen, Great Moments in Barbarian History.

The Joy of Home Brewing

This is my second IPA, and the second beer I’ve ever brewed. It came out pretty decent, save for a lack of head. Recipe can be found here: http://www.northernbrewer.com/documentation/beerkits/DeadRingerIPA.pdf
My Very Own "Dropbox"
I have a certain… paranoia when it comes to “cloud” services. Especially the likes of Dropbox, iCloud, etc. The services that “just work.” However, I recognize the value of these services and would actually find them extremely useful. So one day I thought to myself, “Man I really need to solve this problem of having files that I need for my personal life tossed all across four (yes 4) computers.” And then I thought, “Maybe I should just give in and use Dropbox…” Of course then I read things like this and this. It isn’t that I have top secret military project files or anything, or that I have a bunch of illegal business goings on that I need to hide from law enforcement, but it is personal information. Stuff that anyone would care to have backed up in a safe, secure location, like banking information, taxes, passwords, etc. Stuff that you would want access to at the drop of a hat from any computer you were on. So…

I’ll make my own dropbox. Using my own server, and free open source software. Here is the process.
First you’ll want to have a server setup and hardened. Hopefully you’re able to do that because the process is too long for this guide. My personal dropbox is made up of 3 pieces of software, git, gitosis, and SparkleShare. You’ll also need to have SSH configured to use authentication keys instead of passwords.
For sake of ease, let’s say we’re using a 10.04 Ubuntu fully updated and patched server. First we want to install git so run:
sudo apt-get install git-coreNow that we have git installed we can grab the latest version of gitosis:
cd ~/git clone git://eagain.net/gitosis.gitcd gitosisNow we have the source for gitosis downloaded we need python and setup tools:
sudo apt-get install python-setuptoolsAnd now, from the gitosis directory, we’ll install gitosis:
sudo python setup.py installCool. Next we need to set up a user to contain our repos and manage our ssl certificates. This user can be whatever, but for sake of ease in this tutorial we’ll just call it “git.” The home directory can be where ever you choose as well, but again, for sake of ease in this tutorial we’ll just put it in /home/git.
sudo adduser --home /home/git --group --system --shell /bin/sh --disabled-password gitThat’ll create the user, the group, and a homefolder. It will also disallow password authentication which means we’ll have to use key authentication. Now we’ll have to add our first public key to gitosis so that we have admin access. First copy the public key of the machine you are working on up to the server and run the following where “my_kefile.pub” is your public key:
sudo -H -u git gitosis-init < my_keyfile.pubThat command will load the git user $PATH (important because we are running the gitosis-init binary) and run the gitosis-init binary as the git user. That will create our first git repo, gitosis-admin, and add our key so that we have access. Now a little cleanup. Every other gitosis install guide will tell you that you need to make sure the gitosis-admin post-update hook needs to be made executable. It has always been fine for me, but just incase run:
sudo chmod 755 /home/git/repositories/gitosis-admin.git/hooks/post-updateAlright! That is it for server setup. Good job. Let’s head back to your workstation now. Hopefully you have git already installed on your workstation, but if you don’t head here and download the appropriate installer. Crack open your terminal application and run the following:
git clone git@your.server.com:gitosis-admin.gitThis will clone the gitosis admin configuration down to your computer into the directory you are currently in. If you cd into gitosis-admin and have a look around you should see a “keydir” and a “gitosis.conf” file. The keydir stores all the public keys that will have access to your git repositories. The gitosis.conf file is where you set up and configure access to repositories.
First let’s check out how repos are set up. Open up the gitosis.conf file. You should see the default configuration there already, it looks something like:
[gitosis][group gitosis-admin]writable = gitosis-adminmembers = nick_macbookthe [group ..] definition is an arbitrary definition, it can be whatever you want. Next “writeable = ... ” defines the name of the repository that is writeable by the group, in the default case the gitosis-admin repo. Finally “members = ... ” defines the keys that are members of the group, they are the filename of the key minus the .pub extension. So in this case I have a file in the “keydir” directory called “nick_macbook.pub.” I’ve made it a member of the group “gitosis-admin” which has writeable permissions on the repository “gitosis-admin” (write-ability implies read-ability in this case).
Now let’s set up our dropbox repo, add something like the following to gitosis.conf:
[group dropbox]writable = dropboxmembers = nick_macbookSave the file and head back to terminal and run:
cd gitosis-admingit commit -a -m "added dropbox repo"git pushWe just entered the gitosis-admin repo, committed the changes we made to gitosis.conf, and then pushed them up to the server. By doing that we created a new git repo that will become our “dropbox” folder. Sweet!
There is a lot to gitosis, but just know that you can add more keys to the keydir, then add the file names without the .pub extension to the “members” definition of any group to grant that key access to the group’s repository.
Finally let’s set up SparkleShare. Once you’ve downloaded the app and copied it to your applications folder, fire it up. After you do that SparkleShare will ask you to set up a remote folder. The “Address” will be your server’s hostname, and the foldername will be the name of the repository we just set up, in this case it is “dropbox.git.” As long as you have your keys set up properly in gitosis, when you hit “sync” SparkleShare will create a new directory in your home folder and boom! You’ve got a drop box. Add any files to that folder and SparkleShare will automatically commit and push them up to your remote server. It’ll also periodically pull down whatever the server has that the local working copy doesn’t. Neat eh?
A Couple Notes
You’ll obviously have to configure your firewall to allow traffic on port 22 for this to work. If you’re having trouble pulling down the repo in SparkleShare, did you remember to push your gitosis conf up?
You’ll obviously have to configure your firewall to allow traffic on port 22 for this to work. If you’re having trouble pulling down the repo in SparkleShare, did you remember to push your gitosis conf up?
heheh i made a funny! vincentiadevaia: tumblr won’t load at...

heheh i made a funny!
tumblr won’t load at work, twitter leads me here, April Fools @barbariangroup
Blackberry Enterprise Server
I recently set up a Blackberry Enterprise Server (BES).
<sarcasm> What a fun adventure that was! </sarcasm> Installing and setting up BES is riddled with potholes and stumbling blocks, so I figured I’d share my insights.I used these versions of os/software:
Windows Server 2008 R2
Blackberry Enterprise Server Express 5.0.2
Windows Server 2008 R2
Blackberry Enterprise Server Express 5.0.2
Surprisingly, Windows Server 2008 R2 needs to be completely unpatched! This took the most time to figure out. I started with a completely patched version of Win2k8 and dialed back the patch level until BES actually started working. The problem is with the BES admin service. Any updates to Win2k8 starting with and following SP1 will cause the service to crash over and over and over again. So Win2k8 R2 it is!
Next you need to set up Active Directory. I won’t go into detail here, since it should be trivial and there are plenty of other tutorials that will be better documented and detailed elsewhere. But you start by launching Windows PowerShell and typing “dcpromo.”
After AD is all set, you’ll need to set up Exchange (if you don’t already have an Exchange server), since we don’t use Exchange I set up MAPI to connect to our MX.
Now onto BES! First you’ll need to request a license, which is free if you’re using the express version (http://us.blackberry.com/apps-software/business/). You’ll get an email eventually with a link to download and a site to pick up your license. Installation after that is fairly straight forward. You’ll have to set up a configuration database. You can use an already set up MSSQL server or BES will install MSSQL 2005 Express for you.
The only other gotcha comes towards the end of the installation process. You have to select wether you want BES admin to use Windows authentication from AD or using BES admin service authentication. If you don’t want to continue to use AD after BES setup (you don’t have to), then use BES admin service authentication.
After that you’ll start the BES services, try logging into the admin console. If you’re lucky you should see a log in page. Start adding users and activating devices!
If you weren’t so lucky, well lets move on to some troubleshooting first.
Troubleshooting
- Windows firewall might be blocking the port you set the admin service up on, check that first and make sure it is open.
- Try to start the BES admin service manually from the services panel, does it start?
- Check the Windows event log, is BES admin crashing? If it is your patch level is too high.
- Is IIS running? Did you set up BES admin on a port IIS has reserved? If so, kill IIS and try starting BES admin, does it work now?
- Take your time, write down your process.
- Don’t be afraid to start over.
- The firewall really only needs TCP port 3101 to opened for outbound, initiated, bi-directional traffic. Otherwise you can lock it down pretty tight. Which you want to do because you’re tossing an unpatched Windows server into your mix.
Those are all my tips for setting up a Blackberry Enterprise Server, good luck!
New Stuxnet Thoughts
via Forbes
Some new, very interesting, theories about the origins of Stuxnet.
As far as China goes, I’ve identified 5 distinct ties to Stuxnet that are unique to China as well as provided a rationale for the attack which fits China’s unique role as Iran’s ally and customer, while opposing Iran’s fuel enrichment plans. There’s still a distinct lack of information on any other facilities that suffered damage, and no good explanations for why there was such massive collateral damage across dozens of countries if only one or two facilities in one nation state were the targets however based solely on the known facts, I consider China to be the most likely candidate for Stuxnet’s origin.
Why You Should NOT Use the SORBS Blacklist
SORBS has, for the second time in this year, blacklisted much of the internet, TBG included. It has affected people all over, here’s one: http://blog.proofpoint.com/2010/11/sorbs-duhl-dns-block-list-causing-widspread-email-deliverability-issues-once-again.html
Not only that but the support staff has been completely unresponsive to support requests, probably because everyone is bothering them, but still. So far, this has been my experience:
I went to their site and signed up for an account. You need an account to submit support requests, which is fine, I get that. So I waited and waited for the email to confirm my account. Never came. So I tried to sign into the site, it told me, “You haven’t confirmed your email address! Resend confirmation?” I thought, yeah must have been a mess up in the site, send again. Waited… Nothing.
Ok I thought, I’ll check our SMTP filter and see if our mail filter was blocking it as spam. And guess what! It was! Apparently email sent from SORBS fails a BATV test, from Wikipedia: In computing, Bounce Address Tag Validation (BATV) is a method, defined in an Internet Draft, for determining whether the bounce address specified in an E-mail message is valid. It is designed to reject backscatter, that is, bounce messages to forged return addresses. (source 12/1/2010: http://en.wikipedia.org/wiki/Bounce_Address_Tag_Validation)
Currently a draft, many modern mail servers support BATV, but apparently not SORBS. So I add a skip rule for SORBS.
So now I had an email confirmation, oh hey, the date on their mailserver is set to 1970, so not only is it incompatible with modern spam fighting technology, it is incorrectly configured. For all their posturing about configuring DNS (http://www.sorbs.net/faq/dns_primer.shtml) you’d think they’d configure their software correctly.
So now I try to confirm my account, and login, oh but hey, that fails too. The software that runs the site has a bug in it that doesn’t properly validate my country. Great. Logout, log back in, ok finally I’m in.
So now I’ll go and see about de-listing our IP. Nope, TTL isn’t high enough. Fine, I’ll raise our TTL, ok TTL passes on the MX record, but fails on the machine record, ok I’ll go raise the TTL of the machine record. Try the form again and…. hey wait a minute! It fails at checking the TTL of the MX record! That is a whole step earlier than before. How did that happen? Oh it happened because it caches the TTL and then counts down from that time. So now I have to wait twelve hours to try the form again.
Awesome. Great. Not to mention in this time we’re unable to email some of our clients.
I wonder if we have a legal case against SORBS for lost business?
Update: So the number in the comments works, but please don’t call it. I worry that will only make the the situation worse. Seems like that one guy is the only guy working on all their problems. But again, this probably proves my point that the internet is better if it doesn’t rely on SOBRS.
