There's an older app called Self Control that does this but for a specified time window and cannot be disabled once it's started, including by rebooting. http://selfcontrolapp.com/
Considering the number of machines, physical and virtual, that I have laying around, that wouldn't be much of a barrier.
In my experience, it's not about making accessing these sites impossible, just harder. An alternative is artificially injecting a 30-second delay to any interaction with those websites. When it takes that long for a page to load, it can slowly teach you to un-learn compulsive checking.