How to Protect Your Infrastructure Against the Basic Attacker
blog.mailgun.com
blog.mailgun.com
This greatly reduces your surface area, and helps prevent easy mistakes later (like leaving a staging server unpatched) from blowing up your whole deployment.
Also, admin applications: an easy way for smart teams to lose. These are a great candidate for "only accessible if you're VPNing in", which you can enforce at firewall and again in the application if you want.
Password managers; TFA everywhere but especially on corporate email accounts; ask yourself "If I were a hobbyist building a Bitcoin exchange where would I host it?" then don't host there.
Here's a useful but hard-to-implement recommendation: keep an up-to-date list of every box in use and terminate anything you find not on that list. Many compromises start with "The summer intern's project from last year was web accessible and..."
This fits my paranoia, but not my software environment :/
What's the rationale for this? This would seem to rule out inexpensive VPS hosts like DigitalOcean, Vultr, and Linode, that are good not only for hobbyists, but for small companies on a shoestring budget. Are you saying something like AWS is better simply because it's less attractive to hobbyists?
Yes. The article did qualify that advice with "unless you're using it...", but people should be doing v6, so advice should include v6 too.
It's past time ops security realize their job is to make the system run securely, not to stop it so nobody gets in.
ufw comes pre-installed on ubuntu and is dead simple to use, there's really no reason not to use it.
# ufw allow 22/tcp
# ufw enable
should be all you need to have connection tracking on both v6 and v4, have a tried and trusted icmpv6 accept list, and keep your v6 and v4 firewalls in sync.This isn't a replacement for basic precautions such as disabling root login and not allowing password authentication, of course.
Red Hat Enterprise Linux 7 Security Guide is a good reference.
I certainly understand that and I hope I didn't come off sounding ungrateful. A few years ago, I spent a lot of time writing articles and recording videos for my blog and, fortunately, I never had to deal with such negative feedback. I can certainly see how it would discourage you from continuing.
It's simply a bit disappointing sometimes to Google for something, find an article that sounds like exactly what I was looking for, discover it's a "part 1" that didn't quite cover what I needed, then go looking for "part 2" and realize it was never written.
I have already sketched out where to take part 2 and filled in some of the sections. That being said the 80/20 rule applies here like everywhere else.
That being said, if anyone wants to collaborate on part 2, feel free to ping me at rjones@mailgunhq.com and we make a mailing list.
Primary question to ask yourself: What connections are allowed from the internet into each host, protocol and port on your network?
Primary task: Firewall off all traffic coming into your servers from the internet to be only web and VPN access.
Secondary question to ask yourself: What stuff can run on my servers, and by whom, and what access do those users have?
Secondary task: Limit the users who can run programs, limit what parts of the system those users can view or modify, limit the programs that can run, limit the files and directories that can be accessed.
Tertiary question to ask yourself: Is my software full of bugs or security flaws?
Tertiary task: Use software designed to be secure by default, configure it to be secure, and update it for security patches constantly. Note that this does not mean "upgrade it constantly".
Additional considerations: Don't use shared accounts, don't use root, use keys/certificates whenever possible, use a separate machine for the VPN, put some sort of network intrusion detection/firewall/defense-in-depth/blah blah network appliance in front of the public facing servers, use a web application firewall, monitor your logs for unusual behavior, and get someone who's very familiar with security to double-check your setup (read: break into your servers and tell you the holes they found)
It's really good!
funny the whole purpose of this project was to have cryptography setup with the right options
Is there a video/audio of this preso somewhere ?
edit: found it
I have one question though. What are your thoughts on DROP vs REJECT firewall rules, as some people claim that DROP offers no additional benefits over REJECT while causing inconvenience to legit users. ref: http://www.chiark.greenend.org.uk/~peterb/network/drop-vs-re...