5 ms·
I think the problem is developers running apt-get install mongodb and assuming all other considerations, like a firewall, are somehow magically taken care of, t
by 00deadbeef 10y ago
I think the problem is developers running apt-get install mongodb and assuming all other considerations, like a firewall, are somehow magically taken care of, then patting themselves on the back for not needing a sysadmin.
- pavel_lishin 10y agoI think it's more of a case of assuming that the database wouldn't expose itself to the internet at large, because why would it? It's like buying a new car, and checking for holes in the gas tank before rolling off the lot.
- rblatz 10y agoTo make this analogy a bit more accurate. With this car instead of filling the gas tank by opening the gas tank door and removing a gas cap you just put the pump into a hole in the side of the car/tank. Then act like you had no idea gas was sloshing out the side hole of this tank. You didn't do anything special to connect to MongoDB, and are able to connect to it from your other servers. Why would you expect the same wouldn't apply to everyone? I will say that people who ran MongoDB on their app server get somewhat of a pass on this.I could imagine that they would find the idea of MongoDB running open to the world with no auth to be so nuts that they assumed it was only allowing connections from the local machine.
- 00deadbeef 10y agoYour car analogy fails because safety is highly regulated by the government, and the manufacturer can be sued for their failings. When it comes to server security, you are responsible, and should never make assumptions. If you don't know how, or simply can't be bothered to check, then you shouldn't be administering a server. Also a firewall is a most basic requirement, even something simple like UFW would do.
- h4waii 10y agoThis is absolutely the problem. There are high-horse developers who've made 4 webapps using PHP and don't know anything about the system they're deploying on -- but they're rockstars disrupting the world! They leave mysqld bound to 0.0.0.0 because they don't know any better. They SSH as root because they don't know any better. They have a default WordPress install with the config db sitting in webroot. But hey, their website works and might one day make them some money.
- overcast 10y agoEveryone can't know everything, be realistic.
- h4waii 10y agoAh yes, everything is absolutely what I was getting at. This line of thinking is what allows these problems to happen due to pure laziness or not caring. When you build a product or service, you should own it end-to-end OR simply let it be known that you are unable or unwilling to do so. If you take it seriously, you'll know what can sink your project/business -- and stuff like leaving your entire database publically available with no auth, is one of them.
- maxlybbert 10y agoIt's a requirement for a one-person shop. Or they have to get expert advice.
- overcast 10y agoSure, but everyone is naive at some point. You can't expect one person to make ZERO mistakes. There is a huge amount of steps involved from conception to implementation. I've done many, and still forget things.
- discreditable 10y agoOn the subject of apt-get, Ubuntu (and most distros) have the firewall disabled by default because out of the box installs have no listening ports. This makes it very easy for the uninformed to have insecure systems. https://wiki.ubuntu.com/SecurityTeam/FAQ#UFW https://wiki.ubuntu.com/SecurityTeam/FAQ#UFW
- niftich 10y agoWhy shouldn't these be taken care of? Both Windows and UNIX/Linux programs have had interactive, guided installers, graphical or text-based, for years. Package managers support post-install scripts. Organizational division-of-responsibility issues are not for applications to solve, but having sane defaults and performing user-supplied configuration is. This could've been handled with: > Do you want to allow MongoDB to be accessible externally? (WARNING: this means ANYONE on the internet can connect. You will be asked to set up a username and password to protect your database. Don't do this if you're unsure or if your organization has to approve access.) > Now that your MongoDB is open to the Internet, choose a username and a password to protect it from intruders.