Stories
Slash Boxes
Comments

News for nerds, stuff that matters

Half a Million Database Servers 'Have no Firewall'

Posted by CmdrTaco on Wednesday November 14, @08:40AM
from the well-thats-not-so-bad dept.
An anonymous reader writes "There are nearly half a million database servers exposed on the Internet, without firewall protection according to UK-based security researcher David Litchfield."

Related Stories

Display Options Threshold:
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
  • Have i missed something? (Score:3, Informative)

    I thought letting the accessible through the public IP is the first step to separate Application-server and DB-server. DB-Server {internet} App-Server
  • what? (Score:2, Funny)

    by FudRucker (866063) on Wednesday November 14, @08:49AM (#21348545)
    no comments?
    • Re:what? (Score:5, Insightful)

      by Anonymous Coward on Wednesday November 14, @08:59AM (#21348631)
      Well this is quite simple and not really all that mysterious.
      If you secure your server correctly in the first place.
      Close up, secure and encrypt ports that consume passwords and serve data.
      You don't have a problem! Within reason of course.
      I that gets breached, a firewall won't protect you from an attack either.

      Du...

      I wonder how many people know that firewalls don't actually do anything.
      Accept keep useless network fanboys employed.
      • Re:what? (Score:5, Insightful)

        by nurd68 (235535) on Wednesday November 14, @09:08AM (#21348701)
        (http://www.mattcaron.net/)
        Thank you. It's about time someone else realized this.

        Firewalls are good for:
        - Helping to limit access to services which don't have built in access limits (think tcp-wrappers++)
        - Helping to protect a pile of machines over which you have little to no control (a bunch of desktops in the office, for example).

        When talking about servers, if you sufficiently harden your machine, a firewall does very little, especially if the service being compromised is one which the firewall allows pretty much anyone access to...
        • Re:what? (Score:5, Interesting)

          by ByOhTek (1181381) on Wednesday November 14, @09:54AM (#21349127)
          (Last Journal: Thursday November 01, @10:16AM)
          You have to assume all of the hardening works properly - stuff that is supposed to stay local-only, stays local-only, no issues with the operating system's and driver's general network code that will let something through anyway, no applications will open up ports you weren't aware of, etc.

          Now, sure, you can say "It's open source, it's got all kinds of people looking at it, of course it is secure." But face it: people make mistakes, and the more subtle the screwup, the more people it will take to find it. Eventually there will be a screwup too subtle for all the people looking to find. Then you have potential setup errors, something was missing in the documentation or overlooked by the individual doing the install/test, etc. You now have a vulnerability. Yes, none of these mistakes *should* exist, and having a firewall *shouldn't* be used as the *primary* method of protecting your system, but extra defense is good. The more software you run, the wider the variety of operating systems you run, the more likely one of these errors is to happen. A firewall is cheap (usually), and it happens to block this kind of attack.

          Yes, relying on a firewall as your only means of defense is stupid, and there is a lot it doesn't protect, but a door lock doesn't defend against all means of entrance - it doesn't mean you shouldn't lock your doors. A firewall *is* a nice backup to have in case of human error in the programming or setup of an application.
          • Re:what? by nurd68 (Score:2) Wednesday November 14, @10:49AM
            • Re:what? by Just Some Guy (Score:2) Wednesday November 14, @04:04PM
          • Re:what? by Maximum Prophet (Score:2) Wednesday November 14, @10:55AM
            • Re:what? by afidel (Score:2) Thursday November 15, @08:57AM
        • But firewalls are part of that hardening. by Chabil Ha' (Score:3) Wednesday November 14, @10:05AM
        • Re:what? by nurd68 (Score:2) Wednesday November 14, @10:44AM
          • Re:what? by Anonymous Coward (Score:2) Wednesday November 14, @11:03AM
          • Re:what? by deets (Score:1) Wednesday November 14, @03:01PM
        • 1 reply beneath your current threshold.
      • Re:what? by ByOhTek (Score:3) Wednesday November 14, @09:23AM
      • Re:what? by Bellum Aeternus (Score:2) Wednesday November 14, @06:37PM
        • Re:what? by Bellum Aeternus (Score:2) Wednesday November 14, @06:41PM
  • Not Suprising (Score:5, Informative)

    by Algorithmnast (1105517) on Wednesday November 14, @08:51AM (#21348563)

    This isn't so suprising:

    • Most C programmers don't bother to check the return of system calls like printf()
    • Most C++ programmers have no idea what an invariant [artima.com] is.
    • There are a lot more people who can "just put together a database for us" than can tell a company why they do or don't need one
    • Most users of computers have little to no security on their machines.

    The world at large is uninterested and/or unaware of security when it comes to computers.

    • Re:Not Suprising (Score:5, Insightful)

      by faloi (738831) on Wednesday November 14, @08:57AM (#21348607)
      And don't forget the "Good news, we just made your application/database/whatever accessible to the everybody!"

      I've seen a number of things cobbled together just to get a department or company through something that suddenly become available to a lot more people than the original target audience. It's a good argument for never taking short cuts when you're programming, but I'm sure there are a lot of people that have gotten something out on a deadline only to turn around and look at it later and say "What came over me to do it that way?"
    • Re:Not Suprising by tritonman (Score:1) Wednesday November 14, @09:02AM
    • Re:Not Suprising by morgan_greywolf (Score:1) Wednesday November 14, @09:13AM
    • Re:Not Suprising by Anonymous Coward (Score:1) Wednesday November 14, @09:29AM
    • Re:Not Suprising (Score:5, Funny)

      by ajs318 (655362) <[ku.oc.dohshtrae] [ta] [2pser_ds]> on Wednesday November 14, @09:37AM (#21348943)

      Most C programmers don't bother to check the return of system calls like printf()
      And what exactly are you supposed to do when printf() returns false? Display an error message?

      If you can't correct it, you needn't detect it.
    • Re:Not Suprising (Score:5, Insightful)

      by failedlogic (627314) on Wednesday November 14, @09:39AM (#21348967)
      I'm not an IT worker, but I think the idea that because some people don't know what "xyz" is, ignores a basic pretense in this circumstance. I'm not going to pretend this example explains all or some of the 1/2 non-FW DB servers.

      I've worked and volunteered for several non-profit, NGOs and small businesses. And worked in B2B sales selling computer equipment to them. Generally the IT staff is an outside consultant who does a few things (whatever they're able to afford). Setting up of complex computer equipment and software is often left to someone who's able to understand the instruction manual but no IT training (so it could be the receptionist, the director or somewhere in-between). Setting up a firewall is expensive and doesn't fit into many budgets of small organizations. Someone with no IT training may also think a DB server or networked printer needs no firewall.

      Let me put it this way: as a non-IT worker, I haven't put 100% of my resources behind studying I.T. (software, hardware) etc. I've programmed computers and used computers since I was born. Despite being somewhat knowledgeable in TCP/IP and reading firewall and comp. security books (mostly for self-interest), I'm not confident I can even configure an adequate firewall for my home computer. Things like FreeBSD's IPFW are supposed to be "easy" to setup. Not my experience. Its sheer confusion. MS, Apple and some OSS firewalls are supposed to make it even easier. Block this port, block that port and that's it??? don't think so. I'm not even 50% confident this solution provides adequate protection esp for a NGO, non-profit, SMB or home computer. So how is someone not as well-read supposed to setup a firewall on a limited budget? But a pre-built hardware solution? Still that needs to be setup and configured too. And even then, you still have to be knowledgeable enough to *test* whatever solution you're using to actually make sure it works and keeps your system well protected.

      Not a trivial or inexpensive task. But people with no training or knowledge are often asked to do this.
    • Re:Not Suprising by kamochan (Score:1) Wednesday November 14, @09:42AM
    • Re:Not Suprising by Ngarrang (Score:3) Wednesday November 14, @09:48AM
    • Re:Not Suprising by johannesg (Score:2) Wednesday November 14, @09:50AM
    • Exception throwing! by Walles (Score:2) Wednesday November 14, @10:09AM
    • Re:Not Suprising by Randyj70999 (Score:1) Wednesday November 14, @11:03AM
    • Re:Not Suprising by Deadplant (Score:2) Wednesday November 14, @12:03PM
    • Re:Not Suprising by z4pp4 (Score:1) Wednesday November 14, @03:41PM
    • Re:Not Suprising by rasputin465 (Score:1) Wednesday November 14, @05:32PM
    • 4 replies beneath your current threshold.
  • Only SQL server and Oracle? (Score:4, Interesting)

    by daveewart (66895) on Wednesday November 14, @08:52AM (#21348573)
    Given the approach he took, he could have checked for PostgreSQL and MySQL as well, which are presumably much more widespread (?) than the ones he was looking for...
  • Questions (Score:2)

    by ciaohound (118419) on Wednesday November 14, @08:57AM (#21348609)
    (http://slashdot.org/)
    How many of these are production systems and not just developer's toys? If production systems, how many are mission-critical?
  • by zeridon (846747) on Wednesday November 14, @08:59AM (#21348635)
    (http://www.getoto.net/)
    My db servers are behind no firewall but they listen only on localhost or sockets ... the link between application and db is done by intermediate https layer.

    What's the fuss then?
  • Yawn (Score:5, Insightful)

    by riffzifnab (449869) on Wednesday November 14, @09:00AM (#21348641)
    (Last Journal: Wednesday October 03, @08:46AM)
    Just a quick list of stuff I would like to point out:

    1. Because everyone knows that a firewall is the end all and be all of security.
    2. How do they know they don't have a firewall and not just an open port?
    3. Open port != DB server

    Litchfield took a look at just over 1 million randomly generated Internet Protocol [IP] addresses, checking them to see if he could access them on the IP ports reserved for Microsoft SQL Server or Oracle's database.
    4. Not all DBs are huge corporate DBs. Hell some versions of MS Office install SQL on your computer.
    5. Maybe some of them actually need/want to have remote people access them (and they don't know about VPNs(lolz))
    6. Yeah some people should get their shit together

    Did Mr. Litchfield crash his BMW and wants a new one? This just smacks of "ZOMG!!! Ur ports are open, give me ur monies and I will fix u!" His company is even linked in the fourth paragraph. Next please.
  • Half a million? (Score:2)

    by RandoX (828285) on Wednesday November 14, @09:00AM (#21348643)
    Is that all?
  • Corporate Data? (Score:4, Insightful)

    by allcar (1111567) on Wednesday November 14, @09:01AM (#21348651)
    From TFA:

    With no firewall, databases are exposed to hackers, putting corporate data at risk.
    How does he draw the conclusion that these are corporate databases? Nothing in the methodology provides this insight. I would expect that the majority of these are owned by kids and hobbiests, which would help to explain the preponderance of MS SQL servers over Oracle.
    Also, the sample of 1 million is very small to be drawing these conclusions.
    In short, "Nothing to see here - move along."
    • 1 reply beneath your current threshold.
  • Declaration of interest (Score:5, Insightful)

    by LordSnooty (853791) on Wednesday November 14, @09:13AM (#21348721)
    TFA mentions he works for Next Generation Security Software [ngssoftware.com].

    "In the fast-moving world of software security it pays to have allies you can trust. Government, business and software vendors all turn to the global expertise of NGSSoftware for the protection they need. You can rely on us too... "
    He has a product to sell, the report features some flaky extrapolation of data ("well, if I found this many across a million servers, on the whole internet there must be LOADS!") - why are we bothering with this?
  • Oracle's listener on port 1521 (Score:5, Insightful)

    by IdleTime (561841) on Wednesday November 14, @09:14AM (#21348741)
    Just because the listener is accessible on port 1521 from the outside, doesn't mean the database itself is directly available.Depending on what identification method is set up, you may have to identify yourself to the listener first using one of many ID schemes before the listener will connect you to the database itself which may be well protected behind a firewall..

    I wish he had known what he was writing about before he actually wrote the damn article.
  • So? (Score:2, Insightful)

    by ajs318 (655362) <[ku.oc.dohshtrae] [ta] [2pser_ds]> on Wednesday November 14, @09:15AM (#21348749)
    # iptables -I INPUT 1 -dport 3306 -j DROP -- how hard can that be?

    And the default combination of "root" and no password isn't as insecure as you think, because you still need to originate queries on the machine itself. You would have to get a web hosting account on the server (or find some idiot who wasn't chmod-ing uploaded files non-executable) in order to muck about. Or rather, giving each hosting customer their own database username and password and only GRANTing them permissions on their own databases is no more secure than having users use "root". Think about it; if you were running scripts on the server, then you could look in files in other people's home directories, where their database username and password would be clearly visible. There is no* workaround, either; the apache daemon has to have read access to every user's scripts, including the code used to undo any ad hoc obfuscation applied by users to passwords.

    * Actually, you probably could have every user run an instance of httpd in their name, and listening on a non-privileged port which was firewalled off from the outside world. You'd then need one "master" server configured with a module which would do nothing but route incoming requests to specific ports based on hostname. I dread to think how slowly this would run.
    • Re:So? by BlueParrot (Score:2) Wednesday November 14, @10:42AM
      • 1 reply beneath your current threshold.
    • Re:So? by smellotron (Score:1) Thursday November 15, @12:55AM
    • Re:So? by ajs318 (Score:2) Thursday November 15, @04:07AM
      • 1 reply beneath your current threshold.
    • 1 reply beneath your current threshold.
  • Pink Floyd theorem (Score:1)

    by Rastignac (1014569) on Wednesday November 14, @09:16AM (#21348753)
    We don't need no education, we don't need a firewall...
  • by simong (32944) on Wednesday November 14, @09:22AM (#21348801)
    (http://www.conversal.co.uk/)
    in a single server web/application server and database scenario for example. Where the database really only needs to communicate with the application server on loopback or localhost, the default setup probably listens on the first active IP address it finds (something is telling me that that has been the case with SQL Server for a long time, although I have to admit that I haven't installed SQL Server or Oracle of any kind for a long time either. It's then the admin's job to make it safe. I am sure that the same will apply to MySQL or Postgres although I seem to recall that the default action is to listen on localhost. It would be an interesting exercise to see if a scan fro MySQL and Postgres turned up similar results.
  • And ... (Score:2, Insightful)

    by zolf13 (941799) on Wednesday November 14, @09:33AM (#21348909)
    ... how many IP addresses have their TCP port 80 opened? Maybe let's start with installing firewall on 83.138.183.169, so I don't have to waste time reading useless research.
  • Accountability is lacking (Score:3, Insightful)

    by sm62704 (957197) on Wednesday November 14, @09:35AM (#21348923)
    (http://mcgrew.info/ | Last Journal: Monday November 19, @11:27AM)
    Litchfield said that, given the amount of press generated by corporate data breaches over the past two years, it's amazing to find that there are more databases exposed than ever before.

    No it isn't. Now, if there were some penalty to losing half a million identities that was borne by the database owner instead of the poor schmucks whose identities were stolen, then it would be amazing.

    But when your data is stolen, I'm the one who has to pay. Why should you care? You're not paying.
  • Well... (Score:5, Interesting)

    by ngunton (460215) on Wednesday November 14, @09:45AM (#21349023)
    (http://www.neilgunton.com/)
    I have a LAMP server in colo which is running a fair sized community site, and I use MySQL replication for instant backup of data updates to my home workstation. I can't afford to run redundant servers at the moment, so this is a nice "poor man's backup" (not hot spare, just a relative guarantee that if the server or colo center blew up suddenly then I'd at least have a copy of the data on my home box, losing at most a millisecond or so of updates).

    Since my home is on cable, there isn't any static IP address to put in the server's iptables rules, and so I need to leave the mysql port on the server open. For security I use MySQL grant tables to specify that from outside only the restricted 'replication' user can have password access. Even if someone managed to guess the password for that user, the grants say that all they can do is replicate (and then they'd have issues because they wouldn't have any initial copy of the database). Since I don't store passwords in the db at all, it's fairly secure. Sure, it's not bulletproof, but as long as you're aware of the issues and take reasonable steps, it's very possible to have a database server intentionally open to the internet.

    Even better, run the replication over ssl, then nobody can sniff anything from the stream. I haven't done that yet (until recently I was running an older version that didn't support ssl) but it is on my to-do list.

    Another small thing you can do is to change the port that MySQL is listening on, but haven't bothered to go that far yet - the existing security seems to have been pretty solid.
  • Doesn't surprise me (Score:4, Interesting)

    by ledow (319597) on Wednesday November 14, @09:46AM (#21349029)
    (http://www.ledow.org.uk/)
    Doesn't surprise me at all. First, there'll be a lot of database servers that are "supposed" to be accessible from the net for various reasons (which is ridiculous, yes, but there you go - at least use a whitelist of good IP's or something). Secondly, even a lot of NETWORKS are left unsecured without a decent firewall to hide behind. I've seen it happen on Internet-connected networks. Reliance on Windows to not let unauthenticated computers access shares is quite common - leave the ports open and make sure the services are locked down to provide service only to authenticated users, except for public shares - and that one we couldn't get working - and the one for John who doesn't like to enter his password from outside etc. It's a whole lot easier than that "opening ports" mess - or so some would think.

    Third, you have things like Windows Firewall where for some things it's just easier to run without the firewall than with it (not that I'd do it, but I've seen it happen). Even something simple like OpenVPN over Windows Firewall in udp mode (the only decent performing mode in OpenVPN) is next-to-impossible to get running properly - the time you take to make it work is better spent installing a real firewall that can do the job (even ZA "just handles it"). A lot of servers are open but "hide behind" an external or hardware firewall on which necessary ports are then just opened. I remember trying to get my last workplace to install at least Windows firewall on clients and servers alike - the exceptions were already in place, the systems worked perfectly with it turned on, but they still wouldn't do it. Fortunately, they were behind an external firewall not configured by them - however a single virus could run rampant across the client PC's in a matter of minutes.

    Fourth, most people have no idea what packets their networks send out to the world, or what ports are open - and they don't care until the day they notice that someone is accessing their system, which can be years after it was first compromised.

    It's quite simple. If you can see it from outside your network, so can anyone in the world. If they can see it, they can attack it (and even sometimes if they CAN'T see it but know it's likely to be there!). If they can attack it and you don't update it, you could be in serious trouble. And even if you are firewalled off to the maximum, have up-to-date patches and proper security procedures attackers can still sometimes get through, but making their life as difficult as possible is not only fun but also productive.

    Some people just don't care though. It's not going to change any time soon. Viruses and attacks are so common you hear things like "yeah, my laptop had a virus on it but I can't afford the subscription so I didn't bother clearing it up - made my computer a bit slow, though". Most people are just far too casual. You can even over-do the dramatics and explain possible dire consequences in exquisite detail. People go "Oh, really." and then carry on as they always have. Unfortunately, these people then go on to make websites for their friends, install servers for that charity down the road etc. and you end up with much worse problems.

    Nobody cares anymore. Anyone serious will laugh at you if you're really that stupid to leave a server open to the world. The average joe doesn't know enough to see what you're laughing at and most people want things that work and sod the consequences. If that means running as admin with no firewall in order to save them having to learn about proper security permissions etc. then that's what happens - I know that every one of my users would make themselves admin given half the chance.

    Hell, even my ISP blocks internet access to you if they see you have ports 137-139 open to the Internet and they take an awful lot of flak for it. They just redirect all your web traffic to a holding page that tells users how to fix the problem until they either a) fix it or b) tell the ISP to take it off. Guess which option is used the most?

    I'm fast moving into the "reap what you sow" mindset. If you're stupid enough to do such things, tough (and my prices double for fixing it up). If you know you can't set it up on your own, get help. I'll help you - my advice is free, it's only the actual work I charge for. Loads of people will help you. But if you just ignore it, I'll ignore you and so will loads of other people.

    I had a critical server at a school that every day detected a virus "in memory" and in the same location in the same file on the server's boot drive (not the quarantine directory, and even if it was, the quarantine directory is excluded from scanning by default for obvious reasons). Every day the warnings come up, every day it was "cleaned" by the AV and put into quarantine, every day it was back there on the next scan. The response from the network manager when I point it out (and make a bit of a fuss)? "It's been there forever and it says it's in Quarantine so there you go.". I actually took quite a lot of flak myself over that one. In the end I just carried on doing what I did and waited for the day when they found out that their servers were compromised and the extremely sensitive information that passed over the network each day was being monitored. The day hadn't come by the time I left. Somehow, to some people, that would confirm that they were wrong and I was right. I don't see it that way.

    I've recently taken on a job at a tiny school who are trying to do some interesting stuff. Words like "set up a network, we don't care what supplier you use or how you set it up, so long as you can manage it all" are music to my ears. The network took a day to "install" and be useable. It's taken a lot longer to secure effectively and I'm still not happy - I'm into several dozen group policies, security groups and logon scripts and still I haven't seperated out critical functionality enough to fine-tune it the way I want for particular users - but the fact is that I know EVERYTHING that goes on with it because it's under control. I nearly had a heart attack one day because the AV detected PSKill from the sysinternals utilities as a potential malware. I know what ports are open, I know my backup plan for if the external firewall fails, I have an internal firewall of my own that I know is actually better and which is being used for testing potential VPN access (which is NOT going live until I'm happy with it), I monitor everything in and out of the network, everything is on "minimum permissions necessary" and it all works wonders. But if I hadn't taken the time to do it, they'd have just bought a "slot-in-here" system and then never updated it (or left it to autoupdate - I don't know what's worse).

    The fact that databases are accessible on the net is minor in comparison. You'll probably trace most of them back to simplistic and cheap hosting services or people running a database that doesn't do anything externally useful because they even know it's running. I'd guess that at least a few of them are Windows 2000/2003 servers with no firewall at all, but just happen to have things that use SQL server - even my tape backup program and antivirus run their own SQL databases. Then you have things like .NET development suites that install the SQL server by default etc. so even some poor teenager at home who's bunged Visual Basic .NET on their machine is suddently running an SQL server, which they probably just click "allow" to on their software firewall.

    After a while, you get bored of hearing it. You actually start wishing that someone'd write one of the "old-fashioned" viruses from the DOS days - the ones where when you caught it it would reformat your drive, destroy your boot sector and low-level format everything. It'd clear up these unsecured nets in a matter of hours.
  • Printers too (Score:1)

    by madleech (240267) on Wednesday November 14, @09:51AM (#21349099)
    (http://michaeladams.org/)
    That's nothing; while cleaning up a hacked windows server today, I happened across the IPs for a pair of Lexmark color laser printers. A little bit of digging later, I found they were wide open, sitting in the business centers at a couple of hotels in Washington DC.

    My flatmate had great fun printing 40 pages of LOLCats transcontinental!

    Next phase is to code up a genuine bit bucket: you pipe the bits in, they emerge goodness-knows-where from some poor sods randomly chosen printer :-) Might encourage them to secure things a little.
  • by quangdog (1002624) on Wednesday November 14, @09:52AM (#21349103)
    Of course there are many, many un-firewalled database servers on the internet - for all the reasons that have been stated in other comments it is frequently necessary to do so. However, the article does not point out if any other security techniques are in place at all with all the supposedly exposed databases.

    Now, if the headline was "Half a Million Database Servers Left Configured With No Firewall, No Client Restriction, Default Root Credentials, and Listening on Default Ports" - then you have my attention.

    Course, the sad fact is that my headline is probably just as likely to be true as the article headline, when you consider all the installs of databases other than SQLServer and Oracle (mysql, postgres, etc).

    -- Kimball Larsen
    http://www.kimballlarsen.com/ [kimballlarsen.com]
  • what about MSDE? (Score:2)

    by alen (225700) on Wednesday November 14, @09:52AM (#21349105)
    SQL 2000 had MSDE, SQL 2005 it's Express Edition and i don't remember Oracle's name for it. Some desktop apps need a dumbed down database to write to and MS and Oracle let you distribute it for free as part of their app.

    pretty sure most of these are just the lite versions of these databases on people's desktops or laptops while they are on broadband. a lot of devs also have dev versions of db servers. SQL 2005 Dev edition is basically the enterprise edition that lets you install it on XP and no limits other than a license
  • by flyingfsck (986395) on Wednesday November 14, @09:53AM (#21349115)
    Either this is the usual clueless researcher or a firewall vendor. Apparantly the real news is that half a million database servers are running some sort of Unix and are connected to the internet...
  • And this is always a problem? (Score:2, Interesting)

    by CodeShark (17400) <ellsworthpc@@@yahoo...com> on Wednesday November 14, @09:58AM (#21349177)
    (http://slashdot.org/)
    --as me first puts on the fireproof pajamas for the obligatory anti-PHP flamewar sure to follow--


    How many of those are small, MySQL driven LAMP-3 setups -- you know, the kind that power millions of websites? Where a decent amount of care setting up Linux, Apache, MySQL, and the final P [whether that is Perl, Php or Python -- the three in the acronym above] good coding practices make the necessity of a separate firewall basically moot.

  • by illumin8 (148082) on Wednesday November 14, @10:08AM (#21349273)
    (Last Journal: Tuesday June 27 2006, @08:05AM)
    Oracle recommends that you disable features such as iptables firewalls and SElinux, or else your database probably won't work. Stupid system administrators take it to the next level and leave it outside a physical firewall so that vendors/partners can access it. Authentication is usually done on an unsecured port 1521, where the username/password is sent in clear text. Very few sites even know how to enable encrypted database traffic on Oracle.

    Oracle is mostly to blame with their idiotic processes that need rlogin access as root. Even though your Oracle database is running as user "oracle", it still needs to rlogin to itself as root every 2 seconds to run some unknown commands. The only way to secure an Oracle server is to completely firewall it off from the outside world and only let the application server talk to it.

    Disclaimer: I'm a Linux sysadmin that builds Oracle database servers all day.
  • IP Addresses (Score:2)

    by Stooshie (993666) on Wednesday November 14, @10:24AM (#21349429)

    The IP addresses in the experiment were randomly created.

    This means that their test could have hit some old woman's PC who happened to be dialled up over her phone line at the time, and using the IP address assigned to her by her ISP.

    If she doesn't have a firewall, then of course the Oracle port could be open. Is this a security risk? Well if she only uses her computer for email then no.

    Was an Oracle DB with customer's credit card details exposed to the world? Absolutely not!

  • Links please... (Score:2)

    by FlopEJoe (784551) on Wednesday November 14, @10:31AM (#21349483)

    There are nearly half a million database servers exposed on the Internet

    Links please. thx

  • Um... Not exactly. (Score:5, Insightful)

    by Minwee (522556) <dcr@neverwhen.net> on Wednesday November 14, @10:32AM (#21349507)
    (http://www.neverwhen.net/)

    Let's read the article and see what that headline really means.

    Litchfield took a look at just over 1 million randomly generated Internet Protocol [IP] addresses, checking them to see if he could access them on the IP ports reserved for Microsoft SQL Server or Oracle's database.

    He found 157 SQL servers and 53 Oracle servers.

    He found open ports on just over 200 servers, which correspond to the ports used by two popular database servers. That's all. The article doesn't say that he actually connected to them, confirmed that there were real databases running there, or even identified the owners. He found two hundred open ports out of a million randomly chosen addresses on the Internet. But "0.02% of Internet Connected Computers May Or May Not Be Running Database Software" just isn't the kind of headline that grabs attention.

    Unless there is a lot more detail, preferably from someone who isn't in the business of selling firewalls for databases [ngssoftware.com], then you'll have to forgive me for not being terribly concerned about this revelation.

  • So what? (Score:2)

    by Ed Avis (5917) <ed@membled.com> on Wednesday November 14, @10:47AM (#21349671)
    (http://membled.com/)
    Why on earth should a database server need a firewall? Last time I looked, DBMSes required a login with a username and password before giving any access. I hope that the days of default passwords like scott/tiger are long gone, and if not, you should get a more secure database rather than masking the problem with a firewall (which does nothing to protect against internal attacks).

    Hopefully the DBMS supports SSL or other encrypted connections so outsiders can't eavesdrop or hijack sessions.
    • Re:So what? by scottmillerinva (Score:1) Wednesday November 14, @10:54AM
      • Re:So what? by Ed Avis (Score:1) Wednesday November 14, @11:02AM
    • Re:So what? by TheFuzzy (Score:2) Wednesday November 14, @11:17PM
      • Re:So what? by Ed Avis (Score:1) Thursday November 15, @06:46AM
  • bad design (Score:1)

    by pak9rabid (1011935) on Wednesday November 14, @11:11AM (#21350033)
    If your application follows the n-tier or MVC architectures, there's no reason for your database server to be exposed in the first place. No database should ever be accessible directly from the Internet..ever. If you feel differently, then you probably need to reevaluate your design strategy.
    • Re:bad design by smellotron (Score:1) Thursday November 15, @01:22AM
  • by Nom du Keyboard (633989) on Wednesday November 14, @11:29AM (#21350257)
    Why a firewall anyway? Why not just have computers that don't respond to ports where authorized programs aren't listening?
  • 'Database Servers' (Score:2)

    by hatchet (528688) on Wednesday November 14, @11:52AM (#21350629)
    (http://slashdot.org/)
    The headline should read: Half a Million 'Database Servers' Have no Firewall.

    Lets be honest here, only small percentage of those computers are actually servers, and of those that are - many have port 1433 port open for something other than database.

    You install microsoft visual studio express, get SQL express to go along with it and because you don't have that stupid MS firewall enabled you automatically fall into beforementioned group. Newsflash, not every computer on internet is a server. And not every installation of SQL database has any data in it to live up to it's name.
  • Perfectly reasonable behaviour. (Score:2, Insightful)

    by EddyPearson (901263) on Wednesday November 14, @11:53AM (#21350653)
    "There are approximately 368,000 Microsoft SQl Servers... and about 124,000 Oracle database servers directly accessible on the Internet" Any DBA worth his salt KNOWS how to secure a SQL server without a firewall. Its not like 'sa' was left with a blank password and remote access enabled on these, its just an open port. One of our DB servers has port 1433 open to the WAN (it was that or a site to site VPN), it is perfectly secure, even if it wasn't a complete muppet could secure a default SQL Server install. Buy get this! I've found literally millions of servers with port 80 open to the WAN! I gather it's used for an rather obscure protocol called HTTP. If I take a random sample of 1000 HTTP and SQL servers, I'll bet I'd get more webservers I could break into than SQL Servers (simply because there are many more attack vectors for HTTP, insecure scripts etc). This article draws attentions to absolutely fuck all. David Litchfield is a well respected security researcher, I don't know why he see's this as such a big issue, that is, unless he's sitting on a 0day remote SQL server exploit, but I won't hold my breath.
  • I can't believe I'm reading so many "why do I need a firewall on an Internet-connected database server" comments above.

    Yes, the article looks like just a press release based on dubious extrapolation of data, but it doesn't mean that it's OK to have your company's application servers around the world capable of being accessed by anyone else around the world. If you trust Oracle, IBM, Microsoft or whoever else to write bug-free code you're a braver man than I.
  • And? (Score:2)

    by ceeam (39911) on Wednesday November 14, @12:06PM (#21350879)
    Theoretically - there's nothing wrong with that. DB server is just another TCP server and most of those have their own security layer (user/pass etc) built-in. If not for bugs and exploits, and provided that you change default passwords, it's pretty OK.
  • by gravyface (592485) on Wednesday November 14, @12:28PM (#21351267)

    Litchfield, who wrote the proof of concept code that was eventually used by Slammer, said that this many unsecured databases is enough to sustain another worm outbreak.
  • Database security (Score:2)

    by kilodelta (843627) on Wednesday November 14, @12:34PM (#21351385)
    Back when I was managing several MySQL servers I was horrified to learn that the original setup used localodbc/localodbc for the database passwords for pretty much everything. In fact it had universal access to ALL databases with S,I,U,D! And they depended on an ancient SonicWall firewall to protect them.

    Did an inventory of all databases and then went out and found out who did what to those databases. Created individual logins with express rights (Select, Insert, Update, Delete). Web apps if they were lookup only just got Select, whereas those who wrote would get Select, Insert.

    We also blocked port 3306 on our Pix firewall. Good luck hitting those MySQL boxes. Servers have separete networks for internal and external traffic so web servers can communicate with database servers but people outside can only see the web server.
  • Unscientific (Score:1)

    by Coolhand2120 (1001761) on Wednesday November 14, @02:21PM (#21353127)
    What random blocks were dipped into? What % were dynamic and what % were static? What % of the hosts scanned were 'fake' computers, honeypots? How can you tell if a server isn't behind a firewall that 'looks' just like another server? A lot of people, myself included, use loads of honeypots to confound hackers. For each REAL service I may have 2 or 3 honypots. I have a mail server that reports itself as no fewer than 5 different types of mail servers, and it's not even a real mail server, just something for the script kiddies to bounce off. Same with www, sometimes it's an Apache server, sometimes it's an IIS server, sometimes it's an Apple, sometimes it's a Sun. Knowing how much deception I place in my own network I wouldn't be surprised to find that half of the 'stats' dude has gathered (using what? nmap? eeye? who knows?) are just honeypots. And No, I don't keep the ports up to date on the fake machines, they are there to waste the time of, and identify, a would be hacker.
  • This is article is pointless. Presuming that because a database exists, that it means there's meaningful data at risk is irrational. How many unfirewalled Excel spreadsheets are on the Internet? I submit that 499,990 of the half million databases at risk have no meaningful purpose (or data). Databases are just that easy to spin up.
  • RE:Firewalls (Score:2)

    by Nonillion (266505) on Wednesday November 14, @07:56PM (#21357413)
    "There are nearly half a million database servers exposed on the Internet, without firewall protection according to UK-based security researcher David Litchfield."

    What?! Sheesh, now I suppose you're going to tell me that I cannot have a Windows box without virus / spyware / firewa &^%@@***Mh^^

    NO CARRIER
  • Re:donttagmebro (Score:2)

    by somersault (912633) on Wednesday November 14, @09:57AM (#21349163)
    (http://66.249.93.104/ | Last Journal: Monday November 20 2006, @09:27AM)
    It's actually donthackme bro.. may I suggest donthackmebro;droptablepayroll; though?
  • by M. Baranczak (726671) on Wednesday November 14, @10:50AM (#21349721)
    "Rhonda...have you no shame! keep the briefcase closed, for chrissake! all your documents are falling out!" - Frank Zappa
  • 8 replies beneath your current threshold.