Slashdot Mirror


Running BIND 4 or 8? Upgrade!

The Dev was the first of several zillion to point out that security holes were found in BIND. The detailed table of known vulnerabilities will help clarify (and it has tarball links too), but the short version is, if you're running BIND 4 or BIND 8, set aside some time today to upgrade to 4.9.8 or 8.2.3 (not beta, betas of 8.2.3 are vulnerable). And now's a good time to reconsider version 9, too. SecurityFocus warns that the last time a BIND hole of this magnitude was found, it was followed by a "cyber-crime wave." Exploits for these holes were successfully created by COVERT Labs, but nobody seems to know whether they're in the wild yet. Obviously, they soon will be. Post your questions and answers about upgrading below.

237 comments

  1. Working mirror by Anonymous Coward · · Score: 1
    ftp://ftp.cs.tu-berlin.de/pub/linux/Mirrors/ftp.re dhat.com/updates/6.2/i386/

    You want bind-8.2.3-0.6.x.i386.rpm
    bind-devel-8.2.3-0.6.x.i386.rpm and
    bind-utils-8.2.3-0.6.x.i386.rpm

  2. Re:How about ... by Anonymous Coward · · Score: 1

    Yes, it works. I moved all of the sites I maintain to djbdns during the the last round of BIND vunerabilities. IMHO, use djbdns and junk BIND, and while you're at it, use Qmail and junk Sendmail

  3. Re:OpenBSD Immune by Anonymous Coward · · Score: 1

    So how come there's a patch on the OpenBSD
    website? And it's a big patch. And no
    comment on the website.

    Applying it to my heavily loaded production
    2.6 is promising to be a bitch, because the
    patches given are for later versions.

  4. what is bind? by Anonymous Coward · · Score: 1

    so what is bind, and what's it used for?

    please don't dismiss this cos i'm an AC. thanks

    1. Re:what is bind? by Panaflex · · Score: 1

      Bind is what takes http://slashdot.org and translates it to 64.28.67.48. The URL means nothing to your TCP stack, the router behind it, and all the networks behind that. Only the IP number matters.

      Pan

      --
      I said no... but I missed and it came out yes.
    2. Re:what is bind? by Panaflex · · Score: 1

      Or better yet...

      telnet 127.0.0.1 domain

      if your machine responds, then you're running a DNS server.

      (use CTRL + ] to get out)

      Pan

      --
      I said no... but I missed and it came out yes.
    3. Re:what is bind? by galego · · Score: 1
      So...what it boils down for the home dual-booting user is that if you're not running DNS service out of your house...then you're okey dokey (as far as BIND issues at least)....No?

      Galego

      --

      Que Deus te de em dobro o que me desejas

      [May God give you double that which you wish for me]

    4. Re:what is bind? by dohnut · · Score: 1


      Usually. But for people running Linux who are not sure what's really running on their system (hey, we were all there once) I would suggest becoming familiar with all the processes running on your system. You don't have to know everything about them, but just get a feel for what they do. A good thing is to just do a 'ps ax' and check it all out, running a 'netstat -anp' as root is good too, the top section of the output lets you see what programs are listening for incoming connections on the network. If you see a process/program and you don't know what it does, like 'named', 'portmap', etc., just get on the web and do a little searching. You will find that you probably don't want to be running some things that are running, so you will have to figure out how to stop those from running on boot up (it varies from distro to distro). It's some work, but I think you will be happy you did it and you'll definitely be more comfortable with Linux.

      Anyway, I said usually above because distros like RedHat (which I use) run everything under the sun when you first install. It's quite sad actually. About 90% of the processes RedHat runs by default at startup, the average user does not even need, and in the case of several programs, particularly BIND (named), they put you in a real bad situation. People just assume (and probably should assume) that a base/default install is safe and minimal, not true with some of the distros, so that's why I suggest the above.

      --
      Stupider like a fox! - H.S.
  5. Build your own 8.2.3 RPMs - here's how by Anonymous Coward · · Score: 1
    If you can't get the 8.2.3 binary RPMs, here's how can you build your own: Get the 8.2.2_P7 src rpm and the bind-src.tar.gz, bind-doc.tar.gz and bind-contrib.tar.gz. Install the source RPM, then copy the .tar.gz files to /usr/src/redhat/SOURCES (overwriting the old versions). Edit /usr/src/redhat/SPECS/bind.spec: Set the version to 8.2.3 and comment out the following lines with a "#":

    #%patch3 -p1 -b .glibc21
    #%patch4 -p1 -b .host
    #%patch5 -p1 -b .mx
    #%patch6 -p1 -b .ttl
    #%patch7 -p1 -b .restart

    Then, build the thing with "rpm -bb bind.spec". After that went through, you will find the binary RPM in /usr/src/redhat/RPMS. Install them and don't forget to shutdown and restart the named process ("service named restart")...
  6. Re:djbdns is the way to go! by Dom2 · · Score: 1

    Say, what license was that again? Are you *sure* you're allowed to use it?

    -Dom

  7. Re:attn slashdot editors: by kashani · · Score: 1

    Except that most of us who take running a network fairly seriously knew about it on 1/26 and upgraded immediately. 16 total servers. If we can manage that, most of the guys with 1 and 2 servers can patch theirs.

    --
    - Why is the ninja... so deadly?
  8. Re:OpenBSD Immune by Mawbid · · Score: 1

    Well, OpenBSD isn't for everyone (or even every one of "us") and doesn't try to be (at least not as hard as Linux, for instance).
    --

    --
    Fuck the system? Nah, you might catch something.
  9. Re:OpenBSD Immune by Mawbid · · Score: 1

    Which raises the question: Why aren't we all using OpenBSD's version of bind, just like we're all using OpenBSD's version of SSH?
    --

    --
    Fuck the system? Nah, you might catch something.
  10. Re:Chroot jail with bind 9? by RelliK · · Score: 1

    how is it possible to break out of chroot?
    Also, why does bind run as root? I think it would be appropriate for it to switch to an unpriviledged user after binding port 53, the way apache does. Or even bind it to a different port and use the firewall to redirect port 53 to it -- then you don't need root at all. Ideas, anyone?
    ___

    --
    ___
    If you think big enough, you'll never have to do it.
  11. Re:attn slashdot editors: by Chris+Burke · · Score: 1

    What, you don't think black hats read bugtraq? Maybe you think they make you show your white hat membership card before you can join the mailing list. Heh.

    /. is actually very late in reporting this, and I'm a bit dissapointed. The Reg had it hours ago, and of course that came hours after it was on Bugtraq. Still, I'd think that someone must have noticed and submitted to /. earlier than this appeared, which leaves the editors as the bottleneck.

    What you seem to not get is that everyone for whom this kind of thing is important already read about it on bugtraq/securityfocus and upgraded. All the kiddies are already spreading whatever software someone wrote for them. Now it's time for the rest of us to learn about this and upgrade, and a /. posting is a good way to get the awareness out.

    Good /., but next time a little quicker, eh?

    --

    The enemies of Democracy are
  12. Re:Who needs BIND? by Chris+Burke · · Score: 1

    If djbdns was used on every server instead of BIND, there'd probably be problems found with it too.

    No doubt. There are always problems with software, and it takes effort to find them. But the poster would have us believe that no bugtraq listings == no bugs. Riiight. Sorry, but my drivers license doesn't list my date of birth as yesterday.

    --

    The enemies of Democracy are
  13. BIND by tsikora · · Score: 1

    Perfect time for ... Slack! Dump those inferior and untrusted distro's.

    --
    -- Ted tsikora@powerusersbbs.com
  14. RedHat.com...still no updates by wenzi · · Score: 1
    As I am waiting, redhat.com still has not posted updated RPM's for 6.2. It seems they were done Sat, but are still waiting QA. I guess they were watching the Super Bowl. You can get the 'unofficial' one from here http://www.linux-easy.com/rh-updates/

    --
    -- I doubt, therefore I might be.
    1. Re:RedHat.com...still no updates by bruceg · · Score: 1

      Nothing on their website about this, but it is on their ftp server.

      RedHat's Errata has no information about the bind upgrade.

    2. Re:RedHat.com...still no updates by dr_labrat · · Score: 1

      try using this one:

      http://rpmfind.net/linux/RPM/redhat/6.2/updates/ i3 86////bind-8.2.3-0.6.x.i386.html

      --
      The secret of success is honesty and fair dealing. If you can fake those, you've got it made. (Marx)
    3. Re:RedHat.com...still no updates by da5id · · Score: 1

      they have it on their 6.2 Security Advisories page [now].

      Here is a link directly to the Advisory.

      echo $email | sed s/[A-Z]//g | rot13

  15. Everyone pays when people don't have secure DNS by Pman · · Score: 1

    These last two weeks have been hell as far as stuff being messed up with DNS. I know I'm not the only one who has seen this problem.

    --
    Pman - playa@linuxpimps.com
    1. Re:Everyone pays when people don't have secure DNS by budgenator · · Score: 1

      I was hoping that it was just my local dial-up provider and power problems in CA. Make you wonder what this is going to do to all of the ASP bussiness plans out there. Haven't been able to get Data Units from SetiAtHome reliably for six weeks now.

      --
      Apocalypse Cancelled, Sorry, No Ticket Refunds
  16. Re:I double dog dare y'all... by fluke · · Score: 1

    DNS is available on both UDP and TCP. How do you think you get responses too large to fit in a UDP packet?

  17. Re:I am amazed... by kneeo · · Score: 1

    Real men dont use porn...real men get the REAL thing. hehe

  18. Re:Who needs BIND? by Delphis · · Score: 1

    .. with fresh, new and exciting bugs for us to enjoy for many years to come! :)
    --

    --
    Delphis
  19. Re:In the wild by Delphis · · Score: 1

    this exploit breaks out of a chroot jail, just like most of the older ones.

    Who cares what the root directory is? .. if the process doesn't have permissions to modify *any* files (just read its configuration and data files) then there is much less chance of anything actually HAPPENING on the server IF that process is broken into by a remote exploit.

    --

    --
    Delphis
  20. Re:In the wild by Delphis · · Score: 1

    All the more reason to run your named as a nobody 'named' user without permissions to DO anything on the host machine.
    --

    --
    Delphis
  21. Re:djbdns is the way to go! by Dionysus · · Score: 1
    What, you think only software under the GPL can be legally used?

    Let see this page sets the limit for distribution, and this page has a discussion on Bernstein's thoughts on licenses.

    Or if you are to lazy to go to the link of the last one, let me quote:
    What does all this mean for the free software world? Once you've legally downloaded a program, you can compile it. You can run it. You can modify it. You can distribute your patches for other people to use. If you think you need a license from the copyright holder, you've been bamboozled by Microsoft. As long as you're not distributing the software, you have nothing to worry about.

    Wanna try again?

    --
    Je ne parle pas francais.
  22. Re:Who needs BIND? by Dionysus · · Score: 1

    Following the same analogy, if Linux was run on all the servers that WindowsNT does, it would have problems too?

    Does it mean that because OpenBSD is used less than Linux/Windows/whathaveyou, that is probably as bad as the more used?

    djbdns was designed with security in mind, BIND was not, and neither is the new version (by the authors own admission). djbdns uses the KISS principle. BIND does not.

    The author of djbdns has a reward out for his software. He is *that* confident in his work. Would you bet money on BIND?

    --
    Je ne parle pas francais.
  23. Re:Who needs BIND? by Dionysus · · Score: 1

    All software has bugs. OK. BIND has a trackrecord of having security related bugs.

    Maybe we should be more forgiving to Microsoft security issues then?

    --
    Je ne parle pas francais.
  24. Re:djbdns is the way to go! by Dionysus · · Score: 1

    Oh, did you read the quote I wrote?

    You can change qmail or any application Bernstein writes to your heart's delight. Just don't distribute it and claim it is the original.

    --
    Je ne parle pas francais.
  25. Re:yeah... by Panaflex · · Score: 1

    I guarantee you that Akamai will patch far faster than microsoft did their own DNS servers.

    --
    I said no... but I missed and it came out yes.
  26. Re:yeah... by Panaflex · · Score: 1

    Like Windows? Even microsoft is now using Linux based DNS servers (Akamai).

    Enjoy
    Panaflex

    --
    I said no... but I missed and it came out yes.
  27. Re:yeah... by Panaflex · · Score: 1

    Sorry to be in bad form.. Here's some anti-troll for you.

    >nslookup www.microsoft.com
    Server: trusty
    Address: 172.16.20.16

    Non-authoritative answer:
    Name: www.microsoft.akadns.net
    Addresses: 207.46.230.219, 207.46.230.229, 207.46.230.218
    Aliases: www.microsoft.com

    --
    I said no... but I missed and it came out yes.
  28. Re:I fucking hate it! by Zico · · Score: 1

    My opinion on it? Quit telneting into it and and install the dang free SSHD from the link that I mentioned above already!! :P Then go grab PuTTY (a Win32 ssh client, but great for all kinds of terms) if you're going to be connecting to it from another Win32 box.

    As far as stopping and starting services from the command line, use "net (start | stop) servicename ". For example, now that you've installed SSHD (you did install SSHD, right? ;) ), you can stop the telnet service, which is named "TlntSvr" by typing "net stop TlntSvr".

    To start it back up:net start TlntSvr

    To list all running services:net start

    One other thing, is that the services have both a short name and a long name (at least it seems like they all do). You can use either in the net start/stop command, but if the name of the service contains a space, you need to put quotes around the service name, like: net start "Perl Socket Service"

    BTW, a good place to ask questions like yours is the newsgroup news://msnews.microsoft.com/microsoft.public.win20 00.cmdprompt.admin


    Cheers,

  29. Re:I fucking hate it! by Zico · · Score: 1

    Just a few points: the Win2K command prompt does give you a lot of remote control options. Hell, just use PerlScript, JScript, etc. if you want or need to. I'm trying to be informative here, not to flame you, but I have the feeling that you're compaining about the command prompt because you're not very knowledgeable about it — for example, if you were familiar with it, you surely would've known that you could use tlntadmn.exe to change the logon verification options for the telnet server. NTLM is a better way to connect, because it's not sending your password across the network in cleartext (well, it's not even sending it encrypted, either). But if you really wanted to turn it off, to work with clients that can't do NTLM, tlntadmn.exe lets you do it. Also, why are you using telnet instead of SSH anyway? Death wish?


    Cheers,

  30. Re:Check your firewall logs by bruceg · · Score: 1

    My logs are filled with attempts to port 53. All of them appear to originate from spoofed ip addresses. Some script kiddies out there trying to do some damage.

  31. Re:Actually, no by Spruitje · · Score: 1


    MS's DNS service is actually just an enhanced Bind + GUI management. It *IS* vulenerable to the TSIG bug


    To make things worse :
    The DNS in WindowsNT is based on BIND 4.*.
    And the DNS of Windows2000 is based on bind 8.1.*.
    And M$ still haven't put out a security bulletin about the issue.
    So, with any luck in about 2 months M$ will issue a warning on this problem.

  32. Re:Gor! by Greg+W. · · Score: 1

    Is that like the uni-directional bonding strip? ("Mr. Lightyear wants more tape!")

  33. Size of compiled executable by Darmox · · Score: 1

    has anyone else noted that the size of the named binary for BIND 8 is rather large?
    -rwxr-xr-x 2 root other 11391688 Jan 30 09:50 named*

    I suppose just stripping it may help... (This is on Solaris 8)

    Any recommendations on making the changes between BIND 8 and 9 quick and painless?

    --
    If I was that drunk, I would have remembered it -- H. Simpson
  34. Re:I am amazed... by jilles · · Score: 1

    Most security leaks are a direct consequence of using languages like C. People claim it is possible to program safely in C, however, incidents like this prove them wrong.

    --

    Jilles
  35. Re:OpenBSD Immune by artg · · Score: 1

    If OpenBSD maintainers found it that long ago, did they report it to the Bind authors ?
    If they did, why wasn't it fixed before ?
    And why did Bugtraq only just hear of it ?

  36. Re:Who needs BIND? by FIGJAM · · Score: 1

    What about running djbdns in supervised mode?

    --
    Do your best, hope for the best, suspect the worst.
  37. Upgrade is no sweat by mparaz · · Score: 1
    The configs are compatible unless you're using the more "exotic" options which are not supported.

    You also need to put "$TTL 86400" or similar at the top of your zone files, if you don't have it yet.

  38. Thanks a lot by jpowers · · Score: 1

    The conversation between you two was fascinating, and you don't see much of that sort of thing around here anymore. It's nice to see a good news story will still bring out the nerds, was it were.

    -jpowers

    --

    -jpowers
  39. Qmail by MarNuke · · Score: 1
    Qmail appears abandoned. Many people are making patches, but what a pain in the ass, get the source then apply the 3 patches you need and hope they work together. Qmail is a great program, BUT if the author isn't going to keep improving it, then he should turn it loose to those that are.

    What need is there to add on to qmail? There hasn't be an expolit (not including lame DoS) since Bernstein wrote it way back in '97. Alsoif you need a feature, do it the unix way and add it on. The code base has everything needed for basic MTU. The idea behind qmail is for the sysadmins to add on what they wish to have.

    --
    MarNuke
  40. Re:And So It Begins... by rm3friskerFTN · · Score: 1
    "What do I want?" or "Who Am I?"

    The Inquisitor with an English accent may have some questions for you ;-)

    Maintain a questioning attitude

    --

    I believe Juanita

  41. Re:aka "named" by gimpboy · · Score: 1

    it's nice to check and make sure your not running services-even by accident. espically if your not a 1337 HaX0r. it would suck if you accidently started bind and greped through your ps for bind to make sure it wasnt running only to be hacked later because you didnt know the the process was running as named.

    use LaTeX? want an online reference manager that

    --
    -- john
  42. Re:yeah... by thomasj · · Score: 1
    Because all software is buggy crap to begin with.
    This is the big deceed of the "real" computerworld, but is part of any analysis in an "academical" computerworld.

    It is possible to write errorfree code! But you need to be systematic about it, and you probably want to use a language that aids you in that. I hear a lot of people say: "I like C, since I can have the freedom to do [some way of shooting yourself in the foot]!". Well, go ahead and realize what you will be fixing for the next 30 years! Most bugs in software could have been avoided, since the the pitholes have been described for the last 20 years.

    Yuck! even the so-called "progressive" part of the (non-academical) IT-world is buying the Microsoft view of "fixing the holes as we find them". Good it isn't aviational systems you build.

    --
    :-) = I am happy
    :^) = I am happy with my big nose
    C:\> = I am happy with my OS
  43. Re:Uh oh. by Junta · · Score: 1

    Not like high school programming courses matter anyway... Maybe it would get you exempted from something in college, but in any case people going into the field learn it one way or another, most likely in college, where, in general, they actually hire appropriate people for the job..

    --
    XML is like violence. If it doesn't solve the problem, use more.
  44. Check your firewall logs by jbuchana · · Score: 1

    > but nobody seems to know whether they're in the
    > wild yet.

    As h2odragon pointed out below, it seems to be in the wild. In fact I noticed a large increase in attempts on port 53 over the weekend myself.

    --
    Jim Buchanan

    --
    Jim Buchanan
  45. Re:BIND upgrade by ShadowDragon · · Score: 1

    8.2.2 conf files even. Of course I did not get much sleep because of said late night work.

    --

    ---The proceeding comments were not paid for by the following advertisers.

  46. BIND upgrade by ShadowDragon · · Score: 1

    Well I spent 3.5 hours last night upgrading all of our servers to 8.2.3

    To ease anyone's fears, 8.2.3 works just fine with existing 8.2.3 conf files, so all you need to do is make the tarball and stop/start named.

    --

    ---The proceeding comments were not paid for by the following advertisers.

  47. Follow the link. by ASCIIMan · · Score: 1
    They haven't used that icon since June 2000.

    Now it would be cool to have super human vision, but I definitly would not say the same about this story.
    BIND vulnerabilities are *NOT* cool.

  48. Re:Time to dump C by ASCIIMan · · Score: 1

    Except "real languages" suck when it comes to speed.

  49. Re:Bind 9 not related to bind 8/BSD nto safe if... by lubricated · · Score: 1

    windows dnds server uses bind code.

    --
    It has been statistically shown that helmets increase the risk of head injury.
  50. Re:I am amazed... by tfb · · Score: 1
    I think this is likely to deteriorate into a language war, so I'll stop after this, but:
    • My main point is that you can't rely on other people to know what needs checking: empirically, they don't.
    • A language which does bounds checks doesn't have to check every access: it's often possible to prove things about the code and move checks out of loops, and so on. It's also possible for the compiler to warn you when it can't do this, so you can make declarations which enable it to prove more things. This is not new technology! It is, I suspect, hard to do this in a language which offers bounds checking as a bolt-on extra, like C++ (by overloading [] for instance): you need the compiler to really know about it.
    • Serious implementations of languages that offer bounds checking should offer ways of saying that it's just safe to assume everything is OK in a bit of code, and so compile code which has no checks. You need this in a per-block basis, not per file, so you can bum only the places where you know the time is being spent.
    • Bounds checks are not that expensive in any case -- the compiler should be able to get the index and the bound into a register at the start of any loop, and do a register comparison, which is seriously cheap compared to touching memory (which you're about to do when you access the array...). Again, having the compiler know about the checking is a win here.
    • Not that much code is speed-critical in ways that bounds-checking will hurt -- for instance I doubt that many instances of BIND would be constrained by bounds-checking overhead! Some code obviously is, and I'm not suggesting that there should not be ways of making this stuff not need to check. Importantly, a performance profiler can find these parts of the code for you pretty reliably.
    In summary, what I'm trying to say is that, purely empirically, most people do *not* know where the problems are in their code (any more than they know where the performance bottlenecks are without profiling), and that therefore I'd like to see people write using languages which were safe-by-default with compilers that can optimise away checks, and the option of turning off safety for performance-critical parts of the code. Working this way means that you can use a well-defined performance profiler to tell you where you might need to *not* bounds check, rather than some typically poorly-defined test-suite which might find the places where you do need to check.

    Of course, I don't see much chance of this happening because worse is better, but I can dream.

  51. Re:Shut up troll by tfb · · Score: 1
    Although I wasn't particularly thinking of Java in my original comment -- Java isn't the only bounds-checked language, though it's obviously a particularly popular one right now -- Having a C/C++ runtime is still not so bad as you might think.

    I kind of hope that most of the libraries are, mostly, in Java: it's a whole lot more convincing if the language can eat its own dogfood, especially since the language is meant to be trusted to run random code downloaded from the net, which could be specially devised to exploit weaknesses in the libraries. But the VM probably can't be, and some core of the libraries is likely not to be (though this core could be OS system calls). So there is probably going to be some significant amount of C/C++ in a Java system, unlike a native-code system.

    But this is a constant core of code, which *all* Java programs share. So you only have to check it once, and once you're sure it's safe, it's safe for all Java programs. This is completely different than a program which is itself implemented in a non-bounds-checked language: every program now has to be checked for overflow problems. This means you have constant work to do (check the libs and the VM) rather than work proportional to the number of programs you might want to run.

    There, this is really my last comment on this!

  52. Re:I am amazed... by tfb · · Score: 1
    If you implement security critical software in a language which has no bounds checking, I think you get what you deserve.

    Seriously: there must be so much evidence by now that it is just too hard for human beings to do all the bounds checking by hand that I'm fairly surprised that security critical code is still written in C.

    I've never looked at any of the securified versions of things like BIND, but I suspect they do it by inventing a bounds-checked framework in which they then write the code...

  53. Re:Shut up troll by JakusMinimus · · Score: 1

    he's not talking about the fragin java compiler but the runtime and that is most definately written in C/C++.

    --

    --

    You can be an atheist and still not want to succumb to some weird cross-over sheep disease -- AC
  54. Re:yeah... by Amoeba · · Score: 1
    The fact is that all code of sufficient size and complexity will have bugs in it. I leave it to the reader to decide whether they want the buggy programs they depend upon to be open or closed.

    It doesn't matter how large or complex the code is nor how elegant and securely it's written if the underlying architecture & methodology principles suck.

    Bugs can be fixed and holes patched but if the very process the code uses to do its thing is flawed then there will always be ways to exploit that process in some capacity.

    One poster asked how it was possible to still be finding holes in BIND after all these years when so many eyes have gone through the source code... maybe we should take a pointer from the *BSD camp; they fix how the code functions and then they evaluate why the code does something in that manner so design flaws can be addressed.

    BIND 9.x is on the right track. They've completely rewritten nearly all aspects of the underlying architecture to address the design problems inherent in BIND 4 & 8.

    --
    Do not taunt Happy-Fun Ball
  55. Re:djbdns is the way to go! by Ekman · · Score: 1
    I've been using dbjdns for about six months (since before it was called djbdns). I use it to provide primary and secondary nameservers for several thousand domains. It runs flawlessly.

    Before djbdns I used Bind. What a piece of garbage. It's slow and bloated. Writing scripts to deal with its data files is a nightmare. And the code is so piss-poor people can't help but find security holes. This is not the first hole in bind and it certainly won't be the last.

  56. How about ... by Lev_Arris · · Score: 1

    ... using djbdns which apparently is much more lightweight and can handle a lot more load?

    http://cr.yp.to/djbdns.html

    Just a suggestion/question. Does anybody have experience with this one?

    1. Re:How about ... by Dionysus · · Score: 2

      I've been using djbdns for almost a year now (while it was still called dnscache).

      Note that djbdns is a suite of dns utilities that together gives the same functionality of BIND.

      dnscache *only* do caching (great if you are on a dialup. Because, do you really need a fullblown dnsserver if you only what to do caching?).

      tinydns *only* only server dns request (no caching).

      If you want a dnsserver, you only need those two. They run in with their own userid, in chroot'ed into their own directories owned by them.

      AND, it's a snap to set up (took my half a day to figure out everything).

      --
      Je ne parle pas francais.
  57. Re:I am amazed... by antigandhi · · Score: 1

    Absolutely agree. It's insane that safer languages aren't used for a majority of OS level tools. Security is certainly being sacrificed to the altar of performance (even if the performance in practise would be acceptable).

    Anyone who believes that better programming practises can address this sufficiently is sticking his head in the sand.

    The depressingly long series of Linux patches (which by the way is impossible for a non-sysadmin to keep up with, rendering Linux an effecively insecure OS) is empirical proof of this.

  58. Re:And So It Begins... by Ded+Bob · · Score: 1

    I see someone else has been watching the widescreen version of B5. Too much Vorlon on the brain. :)

  59. You can write bad code in ANY language by UnknownSoldier · · Score: 1

    > People claim it is possible to program safely in C, however, incidents like this prove them wrong.

    Granted, C makes it harder, but it is not impossible to write good code in C.

    C++ makes it much easier, with classes, and code re-use.

    --

  60. Re:What about SDNS? by ahodgson · · Score: 1

    djbdns (http://cr.yp.to/djbdns.html) works very well and has no known security holes. It's also a lot more flexible and in some situations much less resource intensive than BIND.

  61. Re:I fucking hate it! by bogomipe · · Score: 1
    Why not?

    SSHd is available for W2K. See http://www.ssh.com/.

    --
    - mipe -
  62. Re:I am amazed... by horza · · Score: 1

    Cut the crap, one of the most important tools on the internet broke down because of a memory leak.

    Incorrect. It was a potential buffer over-run exploit and not a memory leak. A memory leak is when memory is reserved by a program, and then the program forgets to release it. eg a function uses malloc() to reserve an area of memory for some temporary string manipulation and then forgets to free() that memory area before the function ends. If this function is called repeatedly then the program starts to soak up more and more memory until it (or in some primitive operating systems the OS itself) falls over. There are tools available to detect memory leaks in C programs such as Purity. Some languages deal with freeing up memory automatically, such as Java, using garbage collection.

    A buffer over-run is where an area of memory is allocated and data is written to that area with no safeguards to ensure that the size of the data written is not greater than the size of the reserved memory area itself. This usually happens in cases where the data entered is not under the control of the software author, eg user-entered data. Once the data starts writing past the area reserved, it starts scribbling over areas reserved for other programs and for the OS itself.

    Of course it is possible to create good programs if you don't make any errors, duh. The problem is that humans do make errors. And since C provides little or no protection against these errors it is unsafe.

    The checks are either made by humans, or an automated tool that simulates the checks that human would have made. This applies as much to any 'safe' language as to C and associated software tools. If a programmer wishes to use C then they will have to learn to sanitise and bound user data. To cut down a sapling it doesn't matter which end you pick up a saw with. Those that cut down large trees quickly learn the business end of a running chainsaw.

    As long as we will use C for implementing these kind of things, there will be memory leaks. Of course C is a very performance efficient language, however, things like this make it unsuitable for security critical apps because you can never be 100% sure it doesn't have memory leaks.

    Substituting memory leaks for buffer over-runs, as explained above, it is simply a case of those writing security critical apps needing a little more dicipline and a lot more help auditing. Buffer over-runs are one of many things to watch for. There are many surprises that users can catch you with. In the trade-off between security, performance, available libraries, pervasiveness (you won't get code review if no-one understands the language) and flexibility, can you suggest another language that scores higher than C for such a low-level application?

    Phillip.

  63. Re:I am amazed... by horza · · Score: 1
    Educate people to write better code. So far there hasn't been much progress here: possibly there has been negative progress.

    My guess is that this is because programming has moved from enthusiasts becoming programmers as a natural progression to an influx of new converts who have heard that "computer are where the money is, innit". Hopefully the dot-com shakeout will have shed a few jobsworths?

    Start writing critical software in languages which check array bounds both at compile time where possible -- which can eliminate runtime overhead -- and at runtime where needed, and handle out-of-bounds accesses gracefully.

    How about:
    • include some more standard library functions that does the checking for you (are the number of uses for a generic function too limited?)
    • similar to the style guide for code layout, have a set way of writing certain security-critical operations as standard practice. Even give it a xxx-compliant label if the software conforms.


    It is valuable to discuss moving to a new language, and the pros and cons of the various target languages, but surely there is something we can do to improve the immediate extensive base of C code?

    Phillip.
  64. Re:Suppose your fairy godmother appeared.... by horza · · Score: 1

    Let's suppose your fairy godmother appears and offers to use her magic to make your system safe and secure.

    As part of the way the magic works, in order to remove all buffer overflows and memory leaks and the like, it will cause all your programs to use twice as much cpu horsepower.

    Would you take her up on the offer? Is it worth sacrificing some horsepower for security and safety?


    I would take her up on it as soon as I had independant evidence it was true, I wouldn't take her word for it. As the efficiency and scalability improves we will see more and more shifting over but it will be tiered. First the non mission-critical applications (eg offline batch processing), then those where maintainability and development are more important (eg application server modules) and the critical applications will come last.

    Let's take a look at CGI development. Initially all CGI scripts were written in C. Then they moved to Perl as this provided more power. Finally there was a divergance as it moved to PHP/ASP/JSP and Servlet/AppServer/(insert code rather than page orientated here) but they both offered increased security and maintainability. However, the progression only happened once the technology matured enough to be stable and provide enough oomph.

    Cold Fusion appeared early in fairy godmother trappings, promising much, and was successful for small enterprises but fell over when large corporates tried to deploy it.

    You can program completely safely in assembly langage -- heck, even directly in binary using a hex editor. It's just not productive to do so. The high level C does so much of the bookkeeping for you. Similarly, using even higher level languages to achieve type safety, bounds checkinging, automatic memory management, etc. is just an extension of getting the computer to automate more of the tedious bookkeeping of programming. Isn't it worth it? For *most* applications (esp. bind) is the efficiency of C *so* inmportant?

    Answered elsewhere.

    Not trying to start a flamewar. Just some thoughtless remarks to piss off people who hate high level languages.

    Hope that's not aimed at me, I'm currently working on a rather large and complex PHP project :-) I have worked through OS development, to applications, to pure web (see my CV).

    Phillip.

  65. Re:I am amazed... by horza · · Score: 1

    [snip good opinion neither of us can prove one way or other]

    My whole point is that the technology exists today to prevent this kind of situations. There's no kind of excuse for this kind of bugs anymore

    I strongly oppose your suggestion that you can make programmers work harder and code better (if you know how, you're going to be rich). It hasn't happened in the past and I guarantee you it won't happen in the future. It's the technology that's fundamentally flawed and not the programmer.


    It's no secret. Software engineering is a fusion of cutting code with process. The fact is that some programmers are better than others. The better a team is, the less process they need. Frederick Brookes recommends 40/60 coding:testing ratio (afaicr). With a good team you can reverse this ratio. Large consultancies make money by cutting costs and hiring code monkeys but enforcing lengthy process to ensure the code reaches a certain bugs-per-thousand-lines limit. You could make it part of your process to have each all submitted code audited by two other programmers for buffer over-runs. Perfectly valid alternative solution. Not as elegant a solution, but it may be more cost-effective than rewriting an entire application in a new language.

    The fact is you can make programmers code better, the ones that are willing to learn. The rest you just put through more process so that better code comes out the other end. You are evidently a very good technical person thus you see technology as the flaw. I have been guilty myself of focussing on technology too much and getting tunnel vision. The danger is in losing sight of the bigger picture as we are starting to do now.

    Phillip.

  66. Re:I am amazed... by horza · · Score: 1

    I suspect a Java implementation would perform acceptably too.

    I'm not sure it would, though I have no evidence either way. Until recently Java applications have been fairly resource intensive, and the garbage collection has been variable (eg flushing at inconvenient times and bringing the system temporarily to a crawl). On the other hand, the progress in JVMs has been marvelous! I'm a Java programmer by profession so would love to see it get to the point where we can rewrite some of the more fundamental infrastructure apps in Java but I'm just not sure it's there yet.

    If you want to volounteer your enterprise server, feel free to try dnsjava :-)

    BTW. I disagree that this is a low level application. Device drivers are lowlevel applications. You typically find them at the bottom layer of the OSI model. Bind would classify for the application layer (almost at the top).

    I'm sure you're not deliberately misunderstanding me, and I'm not going to get into an argument about semantics. Yes you are right it's at the application layer. By low level I meant (sorry if I wasn't clearer) a process just left running in the background that isn't visibly noticed or really changed 99% of the time.

    Then, you hammer down the fact that it is possible to create safe programs in C. But then my simple question is: why the hell do we have all these security leaks? Bind isn't an incident, it's just the latest leak to be found. Probably a solution will be provided in the form of a patch. However, this patch won't fix the fundamental problem, it will just fix the symptom and in the future more bugs will be found.

    We've been over why we have security leaks previously in this thread. We have identified fundamental problem which is we need to (a) make sure programmers do not make basic mistakes or (b) ensure programmers use tools to catch these mistakes or (c) use a compiler or interpreter (note: not language) that catches these automatically.

    It appears to me to be a straight shoot-out between C and Java, unless you can give us some of the "plenty of alternatives to C" (preferably ones with comprehensive libraries). Can someone who has worked on implementing a JVM indicate the performance of a machine with nameserver (along with httpd, ftd, etc) all written in Java?

    Phillip.

  67. Upgrading RedHat -- autoupdate by andreychek · · Score: 1

    I know apt-update was around first, but there is now a nifty utility for Redhat distros to automatically have them download and install all the updates for your particular version.

    It's called autoupdate, and can be found at http://www.mat.univie.ac.at/~gerald/ftp/autoupdate /index.html.

    Not only can it grab updates from a ftp server, but it can also snag them via NFS or whatever from one of your servers, which has already downloaded them. You don't have to download the updates twice.

    So you'd just have a cron job on a Linux box which uses autoupdate to download everything from ftp.redhat.com or a mirror, and then each of your clients could run a cron job an hour later that grabs the updates from your main server.

    Nothing beats writing secure code -- but since no program is perfect, you might as well have something to make upgrading software easy on yourself.
    -Eric

  68. Simpler solution Re:Simple Solution by mr · · Score: 1

    And it has been in production longer than apt-get.

    The *BSD ports with make.

    BSD leads. Linux follows.

    --
    If it was said on slashdot, it MUST be true!
  69. OpenBSD's chrooted bind? by Nonesuch · · Score: 1
    OpenBSD chroots bind and changes the UID, this seems to have paid off.

    http://www.openbsd.org/errata.html

  70. Re:Chroot jail with bind 9? by ivarch · · Score: 1
    Look at the docs and you'll see why - BIND 9 uses threading, and there's a problem with using setuid() with threads (only the first thread changes UID) in 2.2.x kernels.

    If you want to run named as another user, recompile with the --disable-threads option to disable threading.

  71. Re:djbdns is the way to go! by Legion303 · · Score: 1
    Oh, look, a pissing contest.

    Sorry to hear about your security holes, but I'd rather use something that works best for me. If that means I use a non-GPL license, that's fine. If it means I use a closed-source (gasp! Horror!) program, that's fine, too.

    -Legion

  72. RedHat 6.0 Updated RPMS by barce · · Score: 1

    Redhat put updated rpm packages for 5.2,6.2,7.0 I need a 6.0 updated bind rpm? Where could I find it?

  73. Uh oh. by Ravagin · · Score: 1

    Hm, I'm in my first year of a real C++ course in high school, attempting to get a formal education in the language. I guess there must be a shortage of teachers, because the new guy they hired this year is almost totally incompetent. For one thing, what he seems to know is C, not C++, to the extent that when I pointed out we could just use a bool for one program which worked with (surprise) booleans, he was surprised that that was a valid type. Right now, we're learning from a book, with no instruction of any sort on secure code like that. That worries me.

    Good thing I'm not really considering a career as a programmer...

    -J

    --

    Karma: T-rexcellent.

  74. where it installs? by twitter · · Score: 1

    why bother to control that? Why should anyone care if I want to run this under /usr/share/boofer_lady if I feel like it?

    --

    Friends don't help friends install M$ junk.

  75. Re:Bind 9 not related to bind 8/BSD nto safe if... by twitter · · Score: 1

    You forgot /etc/hosts.

    --

    Friends don't help friends install M$ junk.

  76. It's not only bad programming by bockman · · Score: 1
    Errare umanum est. That is, programs will always have bugs, and C programs will always have buffer overflows.

    It is good to breed better programmers (I hope next generation will do 1/10th of the bugs I do ). But I would also see implemented some of the long-debated-never-done methods we might already have to prevent buffer overruns to be so nasty:

    • A kernel which can run in 'stack protect' mode, so that a buffer overflow can only crash the program, not be exploitable to execute arbitrary code faked as user input (I read of a proposed patch to Linux kernel, rejected because of some of the kernel actually re-writes the stack??)
    • Including bound-checking libraries like StackGuard in standard compilers (is there any gcc options wich add bound checking?)
    • REMOVE from standard C library functions which do not allow for bound checking (aka strcpy, sscanf, gets ...), or at least force programmer to use a --i-don't-care-for-security switch.
    --
    Ciao

    ----

    FB

  77. Re:I am amazed... by asink · · Score: 1

    Daemons have always been considered lowlevel, and therefore special by OS programmers. There are tons of special hooks for that reason(ie nice), and in MINIX, there's even a different task queue just for servers, between user apps and drivers.
    "Hex, Bugs, and Rockn'Roll" --The Programmer's Digest

    --
    "Hex, Bugs, and Rockn'Roll"
  78. Re:A quote seems appropriate... by ericdano · · Score: 1

    Damn good!
    --

    --
    It's either on the beat or off the beat, it's that easy.
    I moderate therefore I rule!
    --
  79. Re:A quote seems appropriate... by james_moriarty · · Score: 1

    Don't you mean: One Ping to rule them all, One Ping to find them, One Ping to bring them all and in the darkness BIND them. (With appologies to UF.)

  80. Re:djbdns is the way to go! by cluge · · Score: 1
    I love posts like this....ok here we go, try to follow the ball sparky.

    I first started experimenting with djbdns back when it was DNScache. I have tried it several times. I have a large network with 6 DNS servers and a lot of domains and required interoperability with large universities bind installs. djbdns failed to make the cut on 3 separate occasions because of interoperability problems (with bind) and the requirement for many IP's (3) where bind needed only 1. We continually re-evaluate software so perhaps djbdns will make the cut someday.

    Software rots when it isn't maintained or updated or when it's not allowed to be. Lets see, how many times since....1998/99 have I heard "NEW QMAIL COMING SOON". Yeah there is a new qmail, it will be here when it's good and ready, and it's real soon now

    Bottom line, I use a good deal of djb software, including qmail, it's secure, very well written and works as advertised usually. I just don't believe in blindly following anything or anyone. djb software is not my savior (he is apparently yours) I use his software where it works for me in my network. I try to improve what I see needs to be improved, and I contribute where I can.

    Get off your high horse before somone knocks you off. There is no one solution for anyone (vive la difference!). djbdns is more secure I'm quite sure of that. Even more secure than that is a computer that has no power, buried four feet under ground and has a horse pissing on it. I just can't get anything useful out of that computer.

    --
    "Science is about ego as much as it is about discovery and truth " - I said it, so sue me.
  81. Re:Avoiding This Altogether by mr3038 · · Score: 1
    They ought to teach the difference between printf(str) and printf("%s", str), at least

    Unfortunately that isn't enough. Consider following for example:

    #define BUFLEN 128
    char buf[BUFLEN];
    sprintf(buf, "input=%s\n", input_from_user);
    vs.
    snprintf(buf, BUFLEN, "input=s\n", input_from_user);

    Guess which one cannot overwrite memory followed by buf array. However, snprintf was not supported by standard until ISO C99. See man snprintf for more information. That printf case should be trivial by the way.
    _________________________

    --
    _________________________
    Spelling and grammar mistakes left as an exercise for the reader.
  82. Re:eye opener by Tuzanor · · Score: 1

    As far as probes go, double check some of them to make sure they're not your ISP probing to see if you are still online(you comp turned on). I used to get about 20 Netbios scans that drove my OpenBSD firewall up the wall(pun intended), until I learned that they came in regular intervals from the same IP. This is especially common if you're on @home or roadrunner, as they use dynamic IPs so if you are't online they're wasting an IP on you. I still don't allow that IP to go through, but after realizing that i found that i only get about 4 "interesting" scans a day.

  83. Re:A quote seems appropriate... by msergeant · · Score: 1

    Funny thing is I picked this book up and started to read it again for the 12th time. Can't beat LOTR for a good read

    --
    -mutter- something something something...
  84. Re:mirrors of bind 8.2.3 in australia by msergeant · · Score: 1

    Please try to realise that these links are helpful for those of us wanting the source for bind and live in AU. Jason provides a fantastic service with aarnet and planet mirror giving Australians a fast local mirror of pretty much everything linux / unix related.

    --
    -mutter- something something something...
  85. Re:yeah... by enneff · · Score: 1

    "The interesting this is that their marketing machine managed to hush this up so well: if it had been Cisco, they would have been toast."

    Well, Microsoft (despite what it's trying to become) is hardly a mission critical systems retailer, nor a networking hardware vendor. Cisco is widely known to be the manufacturer of some of the best communications gear around.

    If Cisco's network were to go down, that would say a lot more about their products than if the same thing happened to MS.

  86. Re:I fucking hate it! by CptnHarlock · · Score: 1

    The so called telnet service is a joke.. :) .. It really is.. have you tryed it? I have. I turned it on. Then I could telnet to localhost - to a DOS prompt - great remote control options!! NOT! I then ssh:d to a unix account on a different network. I tryed to back telnet to my win2k box. Forgetaboutit... Some message bout needing windows verification or womething... *puke*...

    Escape character is '^]'.

    Server allows NTLM authentication only
    Server has closed connection
    Connection closed by foreign host.

    IMHO the best remote controlling program is NetBus... :)
    Cheers...
    --
    "No se rinde el gallo rojo, sólo cuando ya está muerto."

    --
    $HOME is where the .*shrc is
    -- silver_p
  87. Re:I fucking hate it! by CptnHarlock · · Score: 1
    I didn't take it as a flame.. :) .. Yes I am familiar with the fact that I can do a lot of things from the prompt _via non-standard programs/scripts_. I'm an old ms-dos junkie, but since then a lot of stuff has become point and click. My point was that Win2k as it is doesn't give you much to work with. Please do correct me if I'm wrong! I never say no to new knowledge.. :) .. From the prompt I normaly add/remove/check routes, change ip#, ping, and occasionally use edit.exe. Of course now I can also manage the telnet server, but tell me if I can start/stop other services? I honsetly don't know. Maybe I'm *nix blinded.. :) .. About the telnet death wish - I started a telnet server on the Win2k machine so of course I tested to telnet to it.. :) .. I hope you read that I ssh:ed to my extern unix account, so no, I don't have a telnet-deathwish. About the turning off of NTLM - I did see it while browsing the options but didn't try it. I admit.. :) .. Now I tryed it, set it to 0 and could log in. Then I started another telnet to the same computer and got this:

    Microsoft Windows Workstation allows only 1 Telnet Client License
    Server has closed connection


    What's your oppinion on this?.. ;) .. By the way, I ran help in the cmd-prompt [ahh, remember the help in ms-dos!] and saw a few "innovations" like the AT command (as in atd not ATDT)... There were a few other *nix-like things which I don't remember from ms-dos 6.x nor NT's dos (pushd, popd, findstr). Hey guys, beware, they're catching up!.. ;)

    Cheers...
    --
    "No se rinde el gallo rojo, sólo cuando ya está muerto."

    --
    $HOME is where the .*shrc is
    -- silver_p
  88. Re:I fucking hate it! by CptnHarlock · · Score: 1

    I have installed PuTTY on every single Win computer I have ever sat infront of for more than 4 minutes... Gotta love it!.. Thanx for the answers and the newsgroup... It was a long time ago I used the net command (98/99?)... mostly "net use" and "net send *" .. ;) .. I'll have to start refreshing my |-|aX0r WinXX skillz...
    --
    "No se rinde el gallo rojo, sólo cuando ya está muerto."

    --
    $HOME is where the .*shrc is
    -- silver_p
  89. Lets start a poll... by kaoticus · · Score: 1

    How man months will it take b4 the all the system administrators upgrade their BIND. One month, 2 months. I bet we see this being exploited for a LONG time..

  90. I am amazed... by sedawkgrep · · Score: 1

    ...that buffer overflows still exist in this code. Honestly, BIND has to be the most used piece of software on the net, and it is completely open-source to boot.

    How, despite the thousands of eyes that look at it ever day, did these problems not reveal themselves earlier?

    sedawkgrep

    --
    Is that a salami in my pants or am I just happy to be me?
    1. Re:I am amazed... by fatphil · · Score: 1

      Remember the old maxims:
      "Memory allocation/deallocation is too important an issue to let the machine take control"
      and
      "Memory allocation/deallocation is too important an issue to let the programmer take control"

      We've got exactly the same issue here.

      The people who wrote
      sprintf(buf, "..%s..", user_supplied_string); or whatever should be whipped to within inches of their lives. Is there a maximum string length? If so, use %80s or whatever. If not, use strlen and malloc.
      If that's what you mean by "inventing a bounds-checked framework in which they then write the code" then I hardly think that's much of an overhead.

      It's not hard to do things safely by hand. These vulnerabilities show that the code hasn't been code reviewed. (For solo projects, I code-review my own stuff, and I always make sure I know where the critical cutoffs for values/sizes are, and I always try to break them.)

      FatPhil
      -- Real Men Don't Use Porn. -- Morality In Media Billboards

      --
      Also FatPhil on SoylentNews, id 863
    2. Re:I am amazed... by fatphil · · Score: 1

      Grow up.

      There's nothing big or clever about sex.
      Monkeys do it, dogs do it, rats do it, fleas do it. What elite company we're in!

      FP.
      -- Real Men Don't Use Porn. -- Morality In Media Billboards

      --
      Also FatPhil on SoylentNews, id 863
    3. Re:I am amazed... by fatphil · · Score: 1

      Perhaps I should pay as much attention to my slashdot posts as to code...

      %.80s

      is what I meant.
      However, this is just per field, and you probably also want a maximum for the whole string.

      FatPhil

      -- Real Men Don't Use Porn. -- Morality In Media Billboards

      --
      Also FatPhil on SoylentNews, id 863
    4. Re:I am amazed... by fatphil · · Score: 1

      You'll end up with slow code then.
      If you check _everything_ then everything takes longer.
      If you know what needs checking, and only check the things which need checking, then you'll be safe and fast.

      Do you also think that if software isn't fast enough you should just run it on a faster machine?
      The two attitudes normally go hand in hand.

      FatPhil
      -- Real Men Don't Use Porn. -- Morality In Media Billboards

      --
      Also FatPhil on SoylentNews, id 863
    5. Re:I am amazed... by fatphil · · Score: 1

      There's a third option. One I often use.
      I make sure that I test my code with a debugging library and defensive code which will test everything, paranoia is good. However, as soon as the 'debug' switch is turned off the tests get turned off. In C this would be things like "assert()", and bounds-checker, electric fence or purify.
      You've got to be sure of your testing though.

      The code I write is generally speed oriented. I work in a real-time comms environment. The last few projects I've worked on could not have been programmed in any other language apart from C and 68360 assembly. Because of this we have _very_ intricate test harnesses which let us test in non-real-time, as the debugging code makes out code no longer real time!

      FatPhil
      -- Real Men Don't Use Porn. -- Morality In Media Billboards

      --
      Also FatPhil on SoylentNews, id 863
    6. Re:I am amazed... by oconnorcjo · · Score: 1

      >>I kind of wish education could solve this problem, but I'm cynical, so I place more faith in systems which prevent it happening.

      Not me! I don't want to LEARN to write secure code. I want my compiler to just do it for me.

      --
      I miss the Karma Whores.
    7. Re:I am amazed... by The+Blackrat · · Score: 1

      AMEN. Every kid with redhat on their shiny new dell's crys 'Open the source! GPL or death', but the vast majority do NOTHING with it once they get it. Not that I look at source, but you'll never catch me crying for source anyways.

    8. Re:I am amazed... by turnerjh · · Score: 2

      sprintf(buf, "...%80s...", badstr)
      will happily pull more than 80 characters from badstr. You really want to use snprintf, though it isn't supported identically on various platforms -- check the manpage.

      Read this if you want to learn considerably more about safe usage of strncpy/cat/etc:

      http://www.usenix.org/events/usenix99/full_papers/ millert/millert_html/

    9. Re:I am amazed... by johnnyb · · Score: 2

      Ultimately, those languages will be written in a language like C, where there isn't bounds checking. What then? If an exploit is discovered in the compiler-generated code, then _every_ program written with that compiler is vulnerable. This way, you at least don't have that sort of large-scale exploits happening.

    10. Re:I am amazed... by johnnyb · · Score: 2

      You're still missing the point. Even if you compiler was written in your "really cool language", it still compiles down to assembly. And assembly has no bounds checking. Therefore, if you screwed up your implementation of bounds-checking in the assembler conversion, then you would screw everyone who used your solution. Just because the language does bounds-checking doesn't mean it will code the bounds-checking assembly for you when you recompile.

    11. Re:I am amazed... by jilles · · Score: 2

      "It appears to me to be a straight shoot-out between C and Java, unless you can give us some of the "plenty of alternatives to C" (preferably ones with comprehensive libraries). Can someone who has worked on implementing a JVM indicate the performance of a machine with nameserver (along with httpd, ftd, etc) all written in Java?"

      I didn't start about Java :) But now that we're discussing it: it would require more memory and depending on the way the data is stored, it should perform about as good as the C version provided a run-time optimizing JVM such as Hotspot is used. I wouldn't bet my life on the performance being as fast as C but I don't think performance would be seriously slower. But then there's only one way to find out. The memory usage is an issue however, and I wouldn't go as far as to recommend Java for the job. Probably C++ with a good library and preferably with a garbage collector or some other form of controlling memory allocation would take care of such things as buffer overruns and memory leaks. If you must use a procedural language there's always pascal, modula and derivatives. They're all capable of making system calls so libraries are not an issue + they probably come with some libraries of their own. But then why bother with obsolete paradigms at all. I know this is an issue for some but object oriented programming has been around for thirty years, good quality compilers and tools have been around for a long time, performance has ceased to be an issue in most situations.

      My whole point is that the technology exists today to prevent this kind of situations. There's no kind of excuse for this kind of bugs anymore.

      I strongly oppose your suggestion that you can make programmers work harder and code better (if you know how, you're going to be rich). It hasn't happened in the past and I guarantee you it won't happen in the future. It's the technology that's fundamentally flawed and not the programmer.

      --

      Jilles
    12. Re:I am amazed... by jilles · · Score: 2

      The ultimate test for any language is to write the compiler in its own language. Of course you'll need a separate language for writing the first versions of the compiler. Once that's in place you can write a compiler in the language it is supposed to compile. Doing so is usually a good test for your language. So ultimately you don't need C even for writing compilers.

      C should only be used in those parts of a system that are really critical (critical as in a profiler shows that we need more performance here and there's no way to do it the language we're currently using). Using C when it's not needed costs you in terms of lines of code, development time, bugs (direct correlation with lines of code) and maintenance cost (same correlation again). Some might argue against LOC, but the other things have been shown to be true in very extensive and convincing casestudies (I could look up some references if you'd like to have them).

      --

      Jilles
    13. Re:I am amazed... by jilles · · Score: 2

      Cut the crap, one of the most important tools on the internet broke down because of a memory leak.

      Of course it is possible to create good programs if you don't make any errors, duh. The problem is that humans do make errors. And since C provides little or no protection against these errors it is unsafe.

      As long as we will use C for implementing these kind of things, there will be memory leaks. Of course C is a very performance efficient language, however, things like this make it unsuitable for security critical apps because you can never be 100% sure it doesn't have memory leaks.

      --

      Jilles
    14. Re:I am amazed... by jilles · · Score: 2

      >can you suggest another language that scores higher than C for such a low-level application?

      C++, with some proper string class would have probably prevented the problem. I suspect a Java implementation would perform acceptably too. However, there are several procedural languages that would be suitable as well. There's plenty of alternatives to C. C may have been a nice language for this kind of programs in the seventies but its 2001 now. C had technical flaws, many of which were addressed in languages that came after it.

      BTW. I disagree that this is a low level application. Device drivers are lowlevel applications. You typically find them at the bottom layer of the OSI model. Bind would classify for the application layer (almost at the top).

      Then, you hammer down the fact that it is possible to create safe programs in C. But then my simple question is: why the hell do we have all these security leaks? Bind isn't an incident, it's just the latest leak to be found. Probably a solution will be provided in the form of a patch. However, this patch won't fix the fundamental problem, it will just fix the symptom and in the future more bugs will be found.

      --

      Jilles
    15. Re:I am amazed... by tfb · · Score: 2
      It is obviously hard enough to do things safely by hand that people do not do it: that's really all that matters. Obviously it is *possible* to write safe code in a non-bounds-checked language, but it is hard enough that people generally don't, so we have buffer-overflow vulnerabilities in critical code every few months.

      I'm not really interested in an argument that it's possible to write bounds checking code by hand -- obviously it is (and I'm sure you do!) -- but equally obviously, many, possibly most, people do not.

      I can see two fixes to this problem:

      • Educate people to write better code. So far there hasn't been much progress here: possibly there has been negative progress.
      • Start writing critical software in languages which check array bounds both at compile time where possible -- which can eliminate runtime overhead -- and at runtime where needed, and handle out-of-bounds accesses gracefully.

      These vulnerabilities cost huge amounts every time they happen, not just in terms of security breaches but in all the hidden cost of time spent upgrading systems. How many DNS servers are there running vulnerable versions of BIND right now? How long will it take to fix them, assuming they get fixed? This is really a lot of money...

      I kind of wish education could solve this problem, but I'm cynical, so I place more faith in systems which prevent it happening.

    16. Re:I am amazed... by horza · · Score: 2

      Most security leaks are a direct consequence of using languages like C. People claim it is possible to program safely in C, however, incidents like this prove them wrong.

      What a strange statement. It is perfectly safe to program in C as long as you are paying attention. In my experience, the security leaks occur by a) oversight of the programmer (probably about 3am) b) code contributed by an amateur who lack formal training thus wouldn't know the basics we do or c) rush jobs that were only meant for test purposes but then got incorporated into final code.

      The first can be checked for by code review, which is where Open Source is supposed to excel. The second tends to occur where people have never studied CompSci, yet have dabbled in Javascript hence consider themselves a programmer (ok, slight exageration). The only solution to this is use software where the team has a good reputation. The last is poor software engineering. Harangue the author(s) to go back and do a proper job.

      Personally I think C is an excellent language for writing core OS apps in. Fast, flexible and efficient. Java is a good server-side language for application server development but I wouldn't write my core server apps in it (not fast or lean enough). What alternative language would you suggest?

      Phillip.

    17. Re:I am amazed... by ebbe11 · · Score: 2
      How, despite the thousands of eyes that look at it ever day, did these problems not reveal themselves earlier?

      Because only very few of those eyes are looking at the code. Most of them are just looking at a list of programs running on their system with BIND in it. They never bother (nor have time) to look at the actual code.

      --

      My opinion? See above.
  91. Re:attn slashdot editors: by pjl5602 · · Score: 1
    You can at least wait until responsible people fix the problem before throwing it to the peanut gallery to discuss. This is like posting American security failures on slashdot. Everybody keep your secrets, posting them here is pearls before swine.

    I'm hoping that you forgot the smiley to demonstrate that you were joking.&nbsp Security through obscurity doesn't work -- never has and it never will.&nbsp Not to mention there are already tons of other sites that have either notes the problems or announced new packages for BIND.

  92. Ways of protection by LightningTH · · Score: 1

    BIND has always been the subject of security holes for awhile for many reasons. What people don't realize is that there are HOWTO's out there are doing things that can limit what an attacker can do.

    If you chroot/jail bind to a directory then the attacker can not mess with the rest of the drive and they have very few applications at their disposal. It is possible to jump out of a chroot'd application if it is running as root. But to fix this, i modified chroot to allow a user and/or group to be passed in so that chroot is swapped to this user/group and runs the application as this person. This greatly limits the attacks from bind as bind has usually had buffer overflow security bugs that allow execution of data. The worse that happens now is for bind to lock up and need to be restarted.

  93. Secure BIND replacement by CarrotLord · · Score: 1
    Surely there is some move underway to replace BIND with something more inherently secure? It seems surprising to me that such a fundamental piece of software suffers from so many holes. Perhaps it doesn't need to run as root -- maybe it should run as nobody and sit behind a simple dummy process that binds to the relevant port number and passes requests on -- sort of port masquerading... I don't know, but it's a mess as it is... anyone got any better ideas?

    rr

    --
    Quidquid latine dictum sit, altum videtur.
  94. Re:A couple of important points by DC+AirBag · · Score: 1

    Please provide specifics on these alleged security holes in BIND 9. Thanks.

    --
    My ancestors evolved from primordial ooze, and all I got was this lousy Existential Angst!
  95. In the wild by aTMsA · · Score: 1
    Exploits for these holes were successfully created by COVERT Labs, but nobody seems to know whether they're in the wild yet
    Well they're on /. , i don't think they can be "in the wild" much more than they are now.
    1. Re:In the wild by doctor_oktagon · · Score: 4

      Well they're on /. , i don't think they can be "in the wild" much more than they are now.

      Because this announcement is on slashdot does NOT imply there are exploits available in the wild for these security holes.

      An exploit "in the wild" implies it is generally available to any script k1d that wants to download it, and as yet there are no "known" attack exploits available on the popular crack download sites.

      This does not mean there are no exploits available. A very skilled cracker (or hacker doing it on a theoretical basis) may already have worked out what code he can get by the BIND signiture parser buffer overflow, and thus what he can get the CPU to run.

      I hasten to add though that because of the way BIND parses it's input to this buffer, the attacker cannot actually run arbitrary code, but only use code containing characters which can get through the parsing routine.

      Excellent description at The Register.

    2. Re:In the wild by h2odragon · · Score: 5
      I can report scans of port 53 with "interesting" payloads seen as early as 2am GMT.

      The BIND 4 hole(s) is/are going to be a BITCH to exploit, certainly not impossible; but hard enough that it won't be suprising if such never sees wide distribution. Quoth the original advisory:

      "In order to trigger this overflow, an attacker needs to get BIND to cache an NS record with a very large length. Furthermore, the attacker needs to cache a record for the resolution of the NS record that contains one of the problem conditions for the logging. This is achievable by sending a query to a recursive name server, asking it to resolve a large name that is under the authority of a malicious name server. The malicious name server then needs to refer the request to another name server also with a large name, and provide an additional record giving an invalid address for that name server.

      The limitations placed upon the character set allowed in domain names makes the construction of a viable return address difficult. However, there is a potential for an attacker to make the name server return into memory that the attacker has forced the name server to allocate. In this case, vulnerability is contingent upon the location of the heap and the amount of memory available, as well as whether or not the operating system has a policy of lazy swap page allocation as opposed to an eager reservation policy. COVERT has verified that it is possible to exploit named running under Linux by growing the heap to sizes that far exceed that amount of memory and swap available. This was performed by utilizing specific patterns of memory allocation that maximize untouched memory."


  96. Re:Avoiding This Altogether by Bungie · · Score: 1

    You should not rely on the compiler/interpreter to do your bounds checking anyway, because it is just not reliable. You never know where the bounds checking ends. Take BASIC for example which performs bounds checking. An INPUT statement is checked, but an INPUT# statement turns out not to be checked. That means that if you rely on BASIC's natural bounds checking, your programs will still be vulnerable when you copy data from a device or file.

    --
    The clash of honour calls, to stand when others fall.
  97. Re:Avoiding This Altogether by fantom_winter · · Score: 1
    Its partially the language C that causes these problems because C has no bound checking on its arrays which can lead to bad situations with buffer overruns and such.

    Yes, its the programmer's responsibility in the end to write secure code, but despite its speed and portability, C is sortof a poor choice as far as security goes, and C++ is only marginally better, because it depends so much on how a person decides to write their C++ code.

    Just my two cents.

  98. Re:djbdns is the way to go! by kyz · · Score: 1

    What, you think only software under the GPL can be legally used?

    No, but only the GPL (and other Free licenses like *BSD, etc) allow true freedom. One of those freedoms is the freedom to distribute binaries, but Bernstein's license won't allow me to do that if my system isn't up to his standards.

    --
    Does my bum look big in this?
  99. #defile ??!!? by joe+user+jr · · Score: 1
    The source package (8.2.3) I just downloaded from ftp.isc.org (busy little server, today :-) halted during make all with an unknown directive error at (iirc) line 109 in asserions.h

    On inspection I found I this line started with #defile rather than the more usual #define

    So what is this? Typo at release time? cosmic ray? random bit error in the ftp pipe? signature pun by truly 1337 h4x0rs after installing trojan source package? isc development team get a sense of humor and respond to being featured on /. ?

    Please let me know!


    --

    --
    .sigs: Just Say No!
    1. Re:#defile ??!!? by joe+user+jr · · Score: 1
      Ah well, if I re-un-tar the same package, the #defile directive disappears.

      Cosmic ray then - or more likely some duff memory in my machine :-(


      --

      --
      .sigs: Just Say No!
  100. Re:Things Qmail Needs by jmcleod · · Score: 1

    check out bruce guenter's qmail+patches package.

    here

    it's got a lot of what you stated above, including all of the really useful patches already merged in, and the page includes instructions for what else you need to install to get everything working right. src rpm and src tarball are both available.

    --
    -jeremy
  101. Re:djbdns is the way to go! by DavidBerg · · Score: 1

    That comment would hold water if there were security holes. Anyone that has used Qmail or any other product from Bernstein knows that there are no security holes. If there were, people would have collected on the rewards. People need to get off of the Linux/GPL is god bandwagon. Remember it's just software, not a religion. dave

  102. Re:Avoiding This Altogether by sales_worldwide · · Score: 1

    Adam Shostack summed up all the current "frequently asked and answered" questions in his paper at http://www.homeport.org/~adam/review.html.

    It is worth reading if you are trying to write secure software.

    Also, check out qmail for an example of well written secure software.

    (Beware of Adam's other material - he is pro-linux and anti-MS, and believes that only open source software can be safe etc. etc.)

    --
    "Making linux GPL was the best thing I ever did" - Torvalds. I'd hate to see the worst thing...
  103. Shut up troll by TurboRoot · · Score: 1

    What, so we should write BIND in java? Fuck that, you seem to forget that languages that provide bounds checking, are WRITTEN IN C. Its just as likely java itself has a buffer overflow in it, as the bind program. It makes no difference. The only difference is, in C, you have controll. You decide if your program is a POS with holes, of if its solid.

    And second of all, I don't care if someone hacks BIND on my system, its called jail(), BSD has it, do you? I'll make sure and put some porn with my zone files, so the l33t hacker who hacks my l33t bind install gets free pron for his effort.

  104. Re:Chroot jail with bind 9? by mian · · Score: 1

    thanks for the info.. so now this brings up one other question, the main reason to use bind9 was for multiprocessor support (-n [number_of_cpus]) .. multiprocessor app's are usually multithreaded so the OS can take care of handing out individual threads to different CPUs.. so with threading disabled will this inturn disable the multiprocessor features aswell.

  105. Re:Chroot jail with bind 9? by mian · · Score: 1
    one thing i'd like to know is why you need to upgrade your kernel just to run as a non-root user with bind9

    root@machine [~]: named -u daemon
    named: -u not supported on Linux kernels older than 2.3.99-pre3

  106. Re:Chroot jail with bind 9? by mian · · Score: 1

    Real intelligent statement there with lots of arguments to back it up I see. I use whatever suits the job in question (web server, SQL server etc), including Linux, FreeBSD & OpenBSD.

  107. Re:Microsoft DNS, down how long? by budgenator · · Score: 1

    No haven't heard about it; but they were down for how long because of a "misconfigured router" and then a "DoS hacker attack"

    --
    Apocalypse Cancelled, Sorry, No Ticket Refunds
  108. Re:Who needs BIND? by BSOD+Bitch · · Score: 1

    Maybe. I havn't seen any in 9.x yet, but I won't get my hopes up for it to be bug free. It may just be a matter of time.

    --


    M$ stock dropped in 1/2 since last year. If you are a MCSE, you will be broke.
  109. Re:Who needs BIND? by BSOD+Bitch · · Score: 1

    9 is supposed to be a total re-write.

    --


    M$ stock dropped in 1/2 since last year. If you are a MCSE, you will be broke.
  110. Re:Ok by Primer+55 · · Score: 1

    I think it had more to do with the fact that this is day old news that even CNN Headline News did a story on before Slashdot posted the damn article...

    --

    "Watch these suckers jump when I get root." - l33t j03

  111. Re:OpenBSD Immune by Scoria · · Score: 1

    Well, OpenBSD has a patch out on their website for BIND, maybe it isn't for these vulnerabilities?

    --
    Do you like German cars?
  112. You know what we need? by Scoria · · Score: 1

    "OpenDNS" by the OpenBSD project.

    --
    Do you like German cars?
  113. Re:yeah... by pandora-br · · Score: 1

    You said you prefferred "well designed" closed source software. How can you tell if it is well designed?
    How many other security issues were resolved just because bind is opensource? Lots.
    You also mention security problems "every two weeks". Opensoftware is open. The good parts are open, and the bad parts too. Nothing is hidden.

  114. Re:The Microsoft connection... by adadun · · Score: 1

    BIND apparently has a BSD-style licence so Microsoft may very well have used BIND code in their "own" software.

    They have done similar things with the BSD TCP/IP stack.

  115. Re:yeah... by Sylvain+Tremblay · · Score: 1
    Even microsoft is now using Linux based DNS servers

    With the concommitant security risk...

    --

    Vive le Québec libre, 'sti!

  116. yeah... by Sylvain+Tremblay · · Score: 1
    sure, we've all heard by know all about "full disclosure", the evils of "security by obscurity", why open source software is more secure because it takes seriously the idea of "security as a process", etc...

    the question is: why is all this open source software like bind, sendmail, ftpd and such so full of bugs to begin with?

    I'd rather go for a well designed closed source server than these crappy free programs that have a security problem every two weeks...

    --

    Vive le Québec libre, 'sti!

    1. Re:yeah... by Chris+Burke · · Score: 2

      the question is: why is all this open source software like bind, sendmail, ftpd and such so full of bugs to begin with?

      Because all software is buggy crap to begin with.

      Programmers of open source software are no different than programmers of closed sourc -- both code to their level of skill and pride. The only difference is pay, and money does nothing to make someone write better code. It's not like a programmer gets paid more for writing more elegant, secure code. Nope, it only has to work not too long after their scheduled release date.

      The fact is that all code of sufficient size and complexity will have bugs in it. I leave it to the reader to decide whether they want the buggy programs they depend upon to be open or closed.

      --

      The enemies of Democracy are
    2. Re:yeah... by Chris+Burke · · Score: 2

      It doesn't matter how large or complex the code is nor how elegant and securely it's written if the underlying architecture & methodology principles suck.

      A very good point. There are fundamental protocol flaws that can render code vulnerable even if there are no buffer overflows or other standard bugs.

      However, looking at the list of vulnerabilities for BIND, they appear to almost exclusively be of the buffer overflow and 'improper handling' vein, which falls into the category of buggy code, not bad underlying design.

      Then again, your idea would apply if the code was written without concern for preventing things like buffer exploits.

      maybe we should take a pointer from the *BSD camp; they fix how the code functions and then they evaluate why the code does something in that manner so design flaws can be addressed.

      Who's "we"? BSD uses bind just like Linux does.

      But I agree, if you mean specifically OpenBSD and their thorough audit process. It reminds me of the processor industry, when years are spent validating a design.

      Then again, processors ship with bugs in them as well. You can never be assured that you are 100% bug free in any sufficiently complex (ie not provably correct) design. It's worse with software than with hardware, because in software there are more uncontrollable variables.

      BIND 9.x is on the right track. They've completely rewritten nearly all aspects of the underlying architecture to address the design problems inherent in BIND 4 & 8.

      Which CERT advisories refer to underlying architectural flaws?

      Not to say a re-write is bad... I think developers are too afraid of starting over. Especially in the open source world, where release schedules are not a concern, but code quality is.

      --

      The enemies of Democracy are
    3. Re:yeah... by mpe · · Score: 2

      Microsofts mistake was to put all their servers on one subnet, and allow a change to be performed on a mission-critical router without proper approval, as far as I can work out.

      Though the router was only "mission-critical" because of the DNS servers being misconfigured.
      Microsoft is hardly unique in not complying with rfc 2182 though...

    4. Re:yeah... by mpe · · Score: 2

      Well, Microsoft (despite what it's trying to become) is hardly a mission critical systems retailer, nor a networking hardware vendor. Cisco is widely known to be the manufacturer of some of the best communications gear around.
      If Cisco's network were to go down, that would say a lot more about their products than if the same thing happened to MS.


      More to the point whoever set up Cisco's nameservers appears to understand the basics and know what they are doing. Something which is self evidently not the case with Microsoft.

    5. Re:yeah... by Simon+Brooke · · Score: 2

      Except that Microsoft's DNS is now being provided by Akamai on (apparently) Linux 2.1 servers. See this story in The Register.

      --
      I'm old enough to remember when discussions on Slashdot were well informed.
    6. Re:yeah... by pjrc · · Score: 2

      Actually, bind, sendmail and wu-ftpd have had a really bad history of aweful bugs. The subject of this message, "WuFTPD: Providing *remote* root since at least 1994" really sums it up pretty well. As mentioned on the Cert page, BIND has had TWELVE Cert Advisories and this makes 13. The even named the 11th one "Continuing Compromises of DNS servers", though I suppose it's just the infamous NXT bug.

    7. Re:yeah... by doctor_oktagon · · Score: 2

      I guarantee you that Akamai will patch far faster than microsoft did their own DNS servers.

      Except that Microsoft were running their own Microsoft-based DNS servers, and were thus not affected by these latest announcements.

      Microsofts mistake was to put all their servers on one subnet, and allow a change to be performed on a mission-critical router without proper approval, as far as I can work out.

      The interesting this is that their marketing machine managed to hush this up so well: if it had been Cisco, they would have been toast.

    8. Re:yeah... by DickBreath · · Score: 2

      Because all those eyeballs are busy studying the p0rn instead of the open source.

      --

      I'll see your senator, and I'll raise you two judges.
  117. BIND NT by APC-tcm · · Score: 1

    I can't find any specific reports that these vulnerabilities exist in BIND NT, nor can I find any updates. Am I just looking in the worng places, or is BIND NT not affected?

  118. Re:Avoiding This Altogether by jandrese · · Score: 2

    The problem is pure theory classes are frequently a little too abstract for people to really grasp, and people quickly forget the lesson. When you back up your theory with a bit of practice, IE writing some C code in an unsecure fashion then breaking it to show how easy it is; then you have something that the students will remember.

    The biggest problem with security problems is that they don't show up during ANY part of the standard software development cycle (your testers generally don't have the source code to try and exploit the code with, and certainly don't have the expertise to do so anyway), so they go unnoticed for years until someone on the outside finds the hole and exploits it.

    --

    I read the internet for the articles.
  119. Re:Who needs BIND? by opus · · Score: 2

    I don't mean this as a troll, but it seems that BIND has more security vulnerabilities than any other piece of software.

    I'd say that dubious distinction falls to wu-ftpd, but BIND is a close second.

    Anyway, BIND 9 is a complete rewrite.
    --

  120. OpenBSD Immune by SoupIsGood+Food · · Score: 2

    According to the mailing lists, OpenBSD's implementation of BIND4 is immune, the sprintf()s rersponsible for the overflows were changed to snprintf()s by the development team in 1997.

    SoupIsGood Food

    1. Re:OpenBSD Immune by Jose · · Score: 2

      why don't we all just use OpenBSD?

      it's quite a nice OS..

      --
      The basic sleazeware produced in a drunken fury by a bunch of UCBerkeley grad students was still the core of BIND. --PV
    2. Re:OpenBSD Immune by \\ · · Score: 2

      because the obsd team just goes through the code and kills anything that looks like it could possibly be an overflow. they change lots of code that MIGHT be a security risk, they cant report 12 thousand maybes.

    3. Re:OpenBSD Immune by karot · · Score: 4

      This is not true. OpenBSD have of course merged the required fixes already, and they can be found at:

      OpenBSD 2.8 http://www.openbsd.org/errata.html
      OpenBSD 2.7 http://www.openbsd.org/errata27.html

      The rebuild and install is trivial.

      --

      --
      Enjoy Y2K? Roll-on Year 2037!
  121. Re:Avoiding This Altogether by Sabalon · · Score: 2

    I'm of the opinion that no course should be teaching printf, writeln, or any of that. They should teach the concept and let you apply it to the language of your choosing.

    Sure, they should mention what buffer overruns are. But they shouldn't be teaching you how to use a particular tool - but how that class of tools work in general.

    Unless of course it is a C/C++ course :)

  122. Re:What's it take to go from BIND 8.2.x to 9.1 ?? by Sabalon · · Score: 2

    Piece of cake to switch - a $TTL in one file, and a line in another file to quite a warning, and up on 9.1.

    Much MUCH easier than 4->8

  123. Re:djbdns is the way to go! by yack0 · · Score: 2

    Whatever software you have - there's a hole in it. Somewhere. Somehow. It's just a code that hasn't been beat on enough to find it. While some software may be 'better' out of the box, it may not necessarily be completely secure.

    --
    -- There is no sig line, only Zuul.
  124. A How-To On This by waldoj · · Score: 2

    I recommend reading Scott Wunsch's excellent Chroot-BIND HOWTO for instructions on setting up BIND in a jailed root. I sleep better at night (really) thanks to this how-to.

    -Waldo

  125. New Kernel by waldoj · · Score: 2

    When I upgraded last night, I got an error explaining that I had to be running kernel 2.3.99 or newer. I didn't desire to patch the kernel on this particular machine, so I ended up upgrading to the newest 8.x. YMMV, but that was the result on this particular RH6.0 Intel box.

    -Waldo

  126. In the wild by zyklone · · Score: 2

    One INCIDENTS post suggests that there is a exploit in the wild.

    So upgrade.

  127. this was on MSNBC, ZDNN by Barbarian · · Score: 2

    This was already on MSNBC and ZDNN, so all the black-hats already know.

  128. Re:Avoiding This Altogether by kurowski · · Score: 2

    There's a nice, if short, checklist at http://www.openbsd.org/porting.html#security

  129. Re:Who needs BIND? by Dionysus · · Score: 2

    You presume that people here considers security to be important. What is the saying that someone keeps quoting? "Those who would exchange freedom for a little security deserves neither".

    Let look at the track record of BIND.
    1) explot every few months (followed by apologies like, "well, BIND has been out so long, it has to be secure NOW".
    2) New BIND, where the authors seem to indicate that security was not part of the design critieria.

    But you see, djbdns has the wrong license. It's not GPL. And people will rather be rooted than run a non-GPL software. Especially if running it would mean that one had to admit that there is actually a non-GPL software that is (Oh nooo) *better* than the GPL alternative.

    If you want to see the same additude for another piece of "software", check out any discussion on Sendmail (same arguments, same security holes).

    --
    Je ne parle pas francais.
  130. Re:djbdns is the way to go! by Dionysus · · Score: 2

    Did you read his 'license'? He has limits on distribution the same way GPL limits the distribution.

    GPL limits the distribution, in the sense that if you distribute it, you have to give the source code. AND YES THIS IS A LIMITIATION.

    Bernstein's license is that you can't distribute it and changing the author's (his) original wish on how the software should work. That means you cqan't arbitrary change the code, or the location of where the software is installed, and distribute and still call it qmail/djbdns.

    You can distribute binaries, AS LONG AS IT INSTALL EXACTLY LIKE IT WOULD IF THE USER COMPILED AND DID A MAKE INSTALL FROM PRISTINE SOURCES.

    Heck, like the GPL, if you don't like it, you can always negotiate with the author the change the license terms.

    If you want talk about true freedom, talk about the BSD license.

    --
    Je ne parle pas francais.
  131. Re:I fucking hate it! by Zico · · Score: 2

    So why don't you just turn on the telnet service or download the free SSHD for NT/2000? It's really not that difficult...

    I still can't understand how in this day and age someone can waste their time complaining and not be able to figure this stuff out.


    Cheers,

  132. huh? by kaisyain · · Score: 2

    djbdns requires seperate machines for almost everything.

    Granted I'm not a DNS wizard but I don't think this is the case. In the worst case you could say that djbdns requires separate IP addresses for everything. Except that really isn't the case anymore, as I understand it.

    For all of the complaints about the Outlook/Exchange monoculture and its susceptibility to exploits that you see on slashdot, I'd really expect more people to be using things like djbdns and fixing the holes in it rather than complaining. I'd rather patch djbdns to add minimal functionality than patch BIND to fix major security problems.

    Granted Berstein isn't the most affable character in the world, but I don't pick my software based on the personality of the people who write it.

  133. Re:Who needs BIND? by kaisyain · · Score: 2

    ask yourself if it is as widely deployed and as widely scrutinized as bind

    However, it is misleading to suggest that that is the only, or even the most important, criterion. Quantity of scrutiny has nothing to do with quality of scrutiny...as many open source software projects find out. Having millions of naive users who never look at the source code does you very little good from a security standpoint. Having ten knowledgeable people audit the source code does a tremendous amount of good. Also, djbdns has a little more than 10,000 lines of code. BIND has well over 120,000. It is much easy to verify simple software than complex software. That, combined with the relative track records of the authors of djbdns and BIND make the comparison much more difficult than simply looking at how widely deployed something is.

  134. mirrors of bind 8.2.3 in australia by jason+andrade · · Score: 2


    bind is mirrored in australia at:

    PlanetMirror:

    ftp://ftp.planetmirror.com/pub/bind/src/8.2.3/

    AARNet:

    ftp://mirror.aarnet.edu.au/pub/bind/src/8.2.3/

    please try to use one of them before hitting
    the ISC server.

    -jason

  135. The Microsoft connection... by PenguinX · · Score: 2

    Anyone notice how this CERT advisory comes out only a few days after Microsoft had it's DNS borked? Coincidence? I think not ;-)

    1. Re:The Microsoft connection... by mpe · · Score: 2

      M$ uses their own DNS software. Hopefully because of their recent DNS borking on their own software/systems they won't try to convince people their DNS software is superior because /their/ DNS isn't vulnerable to the BIND holes.

      Their "own" version of DNS could easily be an old version of BIND hacked to work with a Windows GUI, however...
      Anyway RFC 2182 is software agnostic.

    2. Re:The Microsoft connection... by ASCIIMan · · Score: 2
      Coincidence... I think so.

      M$ uses their own DNS software. Hopefully because of their recent DNS borking on their own software/systems they won't try to convince people their DNS software is superior because /their/ DNS isn't vulnerable to the BIND holes.

      But they probably will anyways... Oh well.

  136. Debian users by gregbaker · · Score: 2
    Debian users running the stable (Potato) distribution can find a safe version in Debian's security archive. If it's not there already, the following line should be in /etc/apt/sources.list:
    deb http://security.debian.org/ stable/updates main contrib non-free

  137. Re:attn slashdot editors: by BlueLines · · Score: 2

    Umm, the responsible people already read bugtraq this morning and patched their servers.

    --
    --BlueLines "The cost of living hasn't affected it's popularity." -anonymous
  138. Re:openbsd NOT immune.. by NightParrot · · Score: 2

    Bind8 is in the ports. Bind4 is in the base system. There's a reason. If you'd paid any attention to the misc mailing list, where the question comes up with monotonous regularity, you'd know why: the team doesn't trust (and wouldn't audit) bind8 because it's a hideous mess.

    As to timely updates, there was a patch for bind4 yesterday, even though it looks like the buffer overruns were defanged back in 1997 in a general sweep for sprintf()s.

  139. Re:djbdns is the way to go! by mpe · · Score: 2

    It all depends if you have machines/IP's to spare. djbdns requires seperate machines for almost everything. If you want your load balancing DNS server run this, resolver run this, master/root server run this.

    Ok if you are working from scratch. But more tricky if you want a replacement for an existing set up.

  140. Re:Chroot jail with bind 9? by thomasj · · Score: 2
    Well, making a chroot jail is not really different for any kind of deamon:
    • Figure out which files and libraries the deamon needs, that is at least libc and /etc/passwd and most likely some more.
    • Make a rooted environment at e.g. /var/named/chroot with the derectories, libraries, files and data. If the deamon calls other programs copy them too.
    • TRIM everything down to (nearly) nothing. No other entries in the passwd file that root, bin and the like and (doh!) * in the passwd fields!
    • start the deamon like chroot /sbin/named ... and the deamon will believe that the worlds top is /var/named/chroot.
    You can run any deamon like this, apache, sendmail, finger and whatever.

    --
    :-) = I am happy
    :^) = I am happy with my big nose
    C:\> = I am happy with my OS
  141. eye opener by macpeep · · Score: 2

    The vulnerabilities / exploit list is long! And while 9.1.0 doesn't have any known explots according to this list, I think this should be an eye-opener to people when it comes to security. Like Microsoft likes pointing out, you are unsafe with *ANY* OS if you don't stay up to date with the patches. I'm not "pro MS" or anything, but there's a lot of rhetoric on Slashdot about how Microsoft OS's are safe. The idea a lot of people get is that Linux is automatically completely safe. This is, of course, not the case. Unless you know what's going on and what has been hacked, you're leaving your system wide open.

    For those who feel safe and comfortable with their home box, especially those hooked up to DSL or cabel, I strongly recommend checking out that list. It's scary and it's only bind! To keep the balance, the fix list for Win2K SP1 is even longer... and scarier..

    I run a box at home that is connected to the net 24/7 on a dynamic IP without an easy-to-guess hostname and I get about 10 probes a day.. FTP, ping, SSH, telnet, http.. you name it.. I assume most boxes get the same amount.. If you have an open door, it WILL be exploited!

    1. Re:eye opener by macpeep · · Score: 2

      Uh, that should have been:

      "but there's a lot of rhetoric on Slashdot about how Microsoft OS's are *UN*safe."

    2. Re:eye opener by macpeep · · Score: 2

      I know.. If there's more than one probe from one IP, I always check out who it is. My ISP does probes too, for instance every time I send an email I get a probe.. but that's different.

  142. Re:Who needs BIND? by Xenna · · Score: 2

    I doubt djbdns has received the attention that BIND has. If djbdns was used on every server instead of BIND, there'd probably be problems found with it too.

    DJB is willing to bet that there won't be and even though djbdns is not in wide use, his other project, Qmail, which carries a similar guarantee is widespread even in high-profile high-risk locations like Hotmail. No security related bug has ever been found AFAIK.

    Regards,
    Xenna (who bets his servers on it)

  143. What about SDNS? by jcr · · Score: 2

    Is the Secure DNS server that's part of the FreeS/WAN project ready to go? If so, does it have any of these vulnerablities? -jcr

    --
    The only title of honor that a tyrant can grant is "Enemy of the State."
  144. Quick patch for promiscuous installs. by Ungrounded+Lightning · · Score: 2

    ... distros like RedHat (which I use) run everything under the sun when you first install.

    Which is truly annoying.

    A quick way to give yourself some protection is to configure ipchains first thing to block all inbound everything except responses to things (like TCP sessions) originating inside. Then selectively expose anything you want to be reachable from outside. This limits the (initial) vulnerabilities to the servers you expose and the TCP/IP stack itself.

    Even if a server like BIND is running they can't exploit it unless they can get a message to it.

    (Of course once they get through a hole in one of the things you DO expose they can open up any others they want. Then all bets are off.)

    When installing on a new machine you might want to go out onto the net and get any security tools and patches I might need, roll them onto a floppy, then pull your network connections and reinstall from scratch (reformatting the disk), just in case some kiddie got to the box while the initial wide-open install was running.

    Of course you don't want it running open on a home network, either, since it could be used to sniff and attack other machines while it's open. But if you have any other machines you can write that floppy on one of 'em and run both the install and door-locking while the machine is connected to nothing but the power grid and sneakernet. B-)

    --
    Bantam Dominique roosters crow a four-note song. Once you've heard it as "Happy BIRTHday" you can't NOT hear it that way
  145. The problem isn't really C... by Ungrounded+Lightning · · Score: 2

    Its partially the language C that causes these problems because C has no bound checking on its arrays which can lead to bad situations with buffer overruns and such.

    That's because C is an "enough rope" language. Others do some checking, but it costs execution speed, and they still can't block all the holes. C does JUST what you tell it, without waisting cycles on trying to save you from yourself (and giving you a false sense of security). It's up to you to tell it to do whatever checking you want done.

    The problem isn't really the language. It's the standard library, which contains some input routines with buffer overflows built in. The biggest culprit is gets(). It was a mistake to put it there, and the manual page now warns you not to use it and what to use to replace it (fgets()). But now it's there, and a bunch of stuff will break if it goes away.

    (Of course anything that will break is already broken. So you might want to cut it out of your own library and see what won't link. B-) )

    --
    Bantam Dominique roosters crow a four-note song. Once you've heard it as "Happy BIRTHday" you can't NOT hear it that way
  146. And So It Begins... by Simon+Tatham · · Score: 2

    "And so it begins."
    "There is a hole in your BIND."
    "What do you want?"

  147. I tried BIND9 - it was worse. Using DJBDNS now. by rs79 · · Score: 2


    I upgraded to BIND 9 and had problems right off the bat, to say nothing of the fact it's 10X the size of BIND8. DJBDNS is one Slick package. It rawks. Very, very elegant. http://cr.yp.to/djbdns.html

    BIND 9 is supposed to have been written by a "team of professionals". From where? Microsoft? Guys that were "let go" because they wrote code too buggy and bloated for M$? DJBDNS shows once again one guy with a major clue beats a "team of professionals" every time.

    Thanks for getting us this far, Vix and Co., but you can sit down now.

    --
    Need Mercedes parts ?
  148. Windows NT Server, stable, on a heap of junk! by ka9dgx · · Score: 2
    At work I've got a Windows NT Server I slapped together from parts left over from a workstation that was too decrepid for use as a workstation. It's got a number of handicaps working against it, including:
    • 486 DX/2 - 50 Mhz processor
    • Only 32 MB of DRAM
    • BIOS patch drivers running in real mode
    • Runs a Telnet server, DNS, and web server
    • Goofy BIOS/Video card combination that dies after a warm boot
    This would rule it out as a candidate for real use, right? Wrong! It NEVER dies, (it can't, won't reboot except for a power cycle). I take it down for the odd service pack, otherwise it's always there.

    It's currently at 42 Days, it was past 150 when I took thinks down because I tweaked IP addresses for our network. (Yeah... NT needs to be reboot to work right... it's not perfect).

    The point is that NT is stable, you just have to treat it like a server instead of a workstation.

    --Mike--

    1. Re:Windows NT Server, stable, on a heap of junk! by BigBlockMopar · · Score: 2

      At work I've got a Windows NT Server I slapped together from parts left over from a workstation that was too decrepid for use as a workstation. It's got a number of handicaps working against it, including:

      486 DX/2 - 50 Mhz processor

      Only 32 MB of DRAM

      BIOS patch drivers running in real mode

      Runs a Telnet server, DNS, and web server

      Goofy BIOS/Video card combination that dies after a warm boot

      Windows NT 4.0 Server

      That *is* impressive with all those handicaps. Oops, especially with that last one. [grin]

      Yeah, I've got a friend who has a small ISP up in Maine, and he was running the whole damned thing off 486s and Windows NT Server. Except for the uptime-limiting Windows-esque reboots, it was stable.

      Then, when Microsoft came a-knockin' to do a software audit, they screwed him.

      I'd propose that, in a business situation, you really have to keep away from the pirated software, and the overheads involved in making sure that you have that license handy for the copy of Windows NT Server on that machine may negate the savings of using an OS that you just had kicking around (and therefore didn't have to purchase again).

      Even with that stability, I'll stick with my Linux. Aside from BIND (!), it's secure and stable. I'm running DNS, web (Apache), SMTP (sendmail), POP, telnet, Windows file and printer sharing (SAMBA), DHCP, NAT gateway to my LAN, and PPPoE to connect to my DSL provider. And the damned thing (a Pentium 100) still spends most of its CPU cycles on SETI@Home.

      This would rule it out as a candidate for real use, right? Wrong! It NEVER dies, (it can't, won't reboot except for a power cycle). I take it down for the odd service pack, otherwise it's always there.

      [grin] Yeah, I know. I hate those. That's the kind of computer that you simply can't throw out, even though it's of marginal usefulness.

      I've got a great 486 motherboard. Sure, it's only VLB, but it's a 486DX4-100 with a load of cache RAM soldered to the board. It's stable, it's fast (for a 486!), and I have a VESA video, IO and network card for it. And it's narrow.

      And despite all those good things, it's also got a really annoying problem: the CMOS memory doesn't stay. So, I tried connecting an external battery. No better. I tried desoldering the CMOS battery from the board and replacing it, figuring that the battery external battery connections were bad. Still didn't work. Something is obviously fried. So, every time I have a power failure (not very often), I have to manually intervene, tell it that it the size of the hard disk attached to it, etc. Pain in the ass, but it's too good a board otherwise. You know what I mean - I've got a nice Socket-7 board kicking around; it's clockable to 233MHz and will take an MMX processor. It's got PCI slots, integrated I/O, much nicer board by specs than that 486. And yet, for anything mission critical, I'd still take that 486 any day.

      That Socket-7 board feels like it's got static damage, but I'll be damned if I know how. I bought it new, unsealed the factory box, and have always used a wrist strap, static baggies and a good anti-stat workmat underneath it. The 486, on the other hand, came from a crappy clone builder, where you know they carried it across a carpet on a dry winter day.

      It's currently at 42 Days, it was past 150 when I took thinks down because I tweaked IP addresses for our network. (Yeah... NT needs to be reboot to work right... it's not perfect).

      No, but that *is* impressive.

      My alltime uptime record for Windows is 66 days for Windows 95B. Of course, that's only possible when you're running Windows 95 under laboratory conditions, and only then with the 49.7 day crash memory leak bug fixed.

      The point is that NT is stable, you just have to treat it like a server instead of a workstation.

      Servers don't waste resources on GUIs.

      --
      Fire and Meat. Yummy.
  149. Re:djbdns is the way to go! by DrProton · · Score: 2
    djbdns requires seperate machines for almost everything.

    You don't know what you're talking about. The latest djbdns has load balancing built into tinydns, the iterating resolver. Dnscache, tinydns, and axfrdns can all run on the same machine, e.g., to replicate the usual BIND installation. And please explain to me how software can "rot." Oh yes, there's a new release of qmail in the works, you got that wrong, too. Qmail is doing fine, are you a shill for ISC?

    The bottom line is that if you are running BIND you're more vulnerable than with djbdns. Everyone runs bind and sendmail for the same reason that windows is installed on so many desktops, it's the default install.

    --
    "Mit der Dummheit kaempfen Goetter selbst vergebens." - Schiller
  150. Re:Chroot jail with bind 9? by Greyfox · · Score: 2
    If you were running Bind 8 in the chroot jail as documented on the ISC web site, do this:

    Before you run ./configure, do a "export CFLAGS=--static"

    Then ./configure --enable-chroot.

    make

    Then go in and copy the binaries to your chroot jail.

    Then go make sure your chrooted /var/run can be written as the user that named runs as.

    Then go edit your zone files and add "$TTL 84000" to the top of each one.

    Then start named as you did previously.

    --

    I'm trying to teach myself to set people on fire with my mind... Is it hot in here?

  151. Bind and Sendmail by Greyfox · · Score: 2

    Seems like for a while there they were reporting a hole a week in Bind and Sendmail. Haven't heard much about sendmail in a while (Haven't cared, either, switched to Postfix ages ago.) Bind shows no sign of letting up though. You'd think after a certain point, they'd say "Good GOD! This code SUCKS! Let's redesign and rewrite it!"

    --

    I'm trying to teach myself to set people on fire with my mind... Is it hot in here?

    1. Re:Bind and Sendmail by b1t+r0t · · Score: 2
      You'd think after a certain point, they'd say "Good GOD! This code SUCKS! Let's redesign and rewrite it!"

      That's exactly why they rewrote BIND 9 from scratch.

      --

      --
      "Open source is good." - Steve Jobs
      "Open source is evil." - Microsoft
  152. TinyDNS/DNSCache by Nonesuch · · Score: 2
    The closeset thing out there currently is Dan Bernstein's DJBDNS.

    This comes in two parts- 'tinydns', which only handles serving authoritative data, and 'dnscache' which only handles providing caching DNS services.

    Installation is somewhat complex, but the software works like a charm once you get past that.

  153. Re:Debian update instructions by twitter · · Score: 2
    Relying on /. for security news/instrucions is probably the stupidest thing one can do!

    Never trust anyone who tells you not to trust people. 0

    --

    Friends don't help friends install M$ junk.

  154. bind - Bug Infested Network Daemon by chongo · · Score: 2
    Bind: Bug Infested Network Daemon

    The folks who wrote and/or maintain bind had the best of intentions. Bind code filled the need when Arpanet/Internet sites were copying around large host files. I don't wish to denigrate / attack those who helped create and maintain bind, but one cannot ignore the fact that bind is one of the larger infrastructure vulnerabilities we face today. The track record of bind v8 and previous version cast doubt on the wisdom trust bind v9.

    Bind's track record clearly shows it for what it is: a bug infested and many flawed chunk of code that has lasted way past its prime. Bind is to name service as sendmail is to EMail.

    Bind has and very likely continues to suffer from:

    • Buffer overruns
    • %n bugs
    • Denial-of-service attacks
    • Cache poisoning
    • Man-in-the-middle attacks
    • root exploits
    • protocol exploits
    • etc., etc., etc.

    But all is not lost in the name service front. A few alternatives to bind exist now. Several more efforts are in the works as well. Time and experience will show which efforts will succeed.

    For those cannot become a bind-free site now or in the near term future, there are some things you can do to minimize the damage bind code can cause. Consider the following ideas. These idea are not for everyone. This list is by no means exhaustive. You might want to:

    • run named on separate hosts (do not put other services on your named server machines)
    • run named in a chrooted environment
    • dedicate a separate file system for named
    • if your OS allows it, mount that separate file system with nosetuid, nodev, etc...
    • run named with ``-u dns'' or better yet ...
    • never run named as root: use a small well designed prog to listen on port 53 and forward connections to named -or- change your kernel to allow the dns user to use port 53 (on Linux this is a simple change to inet_bind() function in net/ipv4/af_inet.c)
    • where possible in applications, avoid doing name service lookups; for example log IP addresses instead of hostnames
    • do not run named on your firewall(s)
    • put a firewall(s) between your named host(s) and machines you care about
    • use different named servers for different needs - consider running separate services for:
      • your external authoritative name server (configure to ONLY answer queries for your external domains, no glue, no recursion)
      • your internal / intranet name service needs
      • your production services (accessible by only your production servers, not the Internet or your Intranet)

    If you treat bind with caution, you will be more likely to survive intact until a bind-free solution with a good track record presents itself.

    --
    chongo (was here) /\oo/\
  155. Things Qmail Needs by cluge · · Score: 2
    here is the short list
    • Big DNS packets compiled in, no patch, yes some of us must relay to aol.com. the answer that "oversized dns packets are illegal don't use them" doesn't mean shit to 10,000 users who are trying to mail dear old grandma.
    • Big to do package needs to be a compile time options, simply put, some people have large mail servers and need the extra room.
    • TCP server should be included in the qmail source. It's necessary to for the smtp client (inetd sucks and is a waste of time here) and should probably be used by pop3.
    • .fastforward and maildrop are 2 other packages that should be included with qmail.
    • The ability to deliver messages to the same domain over a single SMTP connection (qmail opens up seperate connections for each message relayed)
    • A good IMAP client

      Qmail works great if your a programmer, or if you have LOTS of time. Some people do not. Qmail works out of the box for 90% of what we do. The other ten percent could be made easier if some of the extremely common "add ons" were merged into the source.

    --
    "Science is about ego as much as it is about discovery and truth " - I said it, so sue me.
  156. Re:djbdns is the way to go! by elronxenu · · Score: 2
    djbdns requires seperate machines for almost everything

    From an ISP point of view, you really want to do this. Servers which customers use to lookup names should not be the servers which you use to store customer zone files. This ensures that when domains get redelegated away from your nameservers, that your own customers always see the correct (i.e. as delegated) zone contents.

    Qmail appears abandoned.

    What a pity. I use qmail in several places and it really works well. But I won't stop using it even if it is abandoned because I have the source, and ICHI (I Can Hack It).

  157. DNS Stories ... Re:Ok by StandardDeviant · · Score: 2
    ... are bound to happen.

    (Sorry, bad pun, couldn't resist :-) )


    --
    Fuck Censorship.
  158. What's it take to go from BIND 8.2.x to 9.1 ?? by pjrc · · Score: 2
    The upgrade from BIND 4.x to 8.x was very painful, they changed nearly everything about the config file format.

    Does anyone here know about what (if any) compatibility issues there are going from 8.2.x (installed on most machines today) to 9.1 ?? Did they change stuff in the config file format, again?

    1. Re:What's it take to go from BIND 8.2.x to 9.1 ?? by ivarch · · Score: 4
      Couple of things changed, nothing drastic. I changed over to 9.1.0 this morning and basically had to delete 1 line (about fetch-glue) and put in another (auth-nxdomain yes|no). That was just 2 changes in /etc/named.conf, for something like 337 zones on a primary server. Not painful at all. :-)

      It's all in the docs/misc/migrating file in the 9.1.0 tarball...

  159. Assuming... by CptnHarlock · · Score: 2

    ...slashdot's DNS hasn't been compromised and someone is forging the ENTIRE site and ALL the posts!!.. :)
    Cheers...
    --
    "No se rinde el gallo rojo, sólo cuando ya está muerto."

    --
    $HOME is where the .*shrc is
    -- silver_p
  160. Chroot jail with bind 9? by SealBeater · · Score: 2

    Ok, just to jump into the fray, (sorry if someone else has asked this question, but its late where I am), does anyone know how to chroot bind 9? I looked at the docs, looked on the web and have asked on the mailing list. No one seems to know. I currently run bind chrooted (I know its possible to break out, but every little bit helps) and would like to do the same with bind 9. If anyone on the bind development team reads this, or anyone who develops internet service based software (ftp, http, whatever), including documentation that details how end users can at least add an additional layer of protection when, not if, bugs and exploits are discovered, would be GREATLY appriciated. Don't get me wrong, I applaud your efforts, but sometimes finding information, even when you think you know what your doing can be kinda fustrating. 8*). Also, anyone have problems upgrading to v9? I am especially interested in anyone who is doing dynamic dns with it. Last one to upgrade is a rotten egg! 8*)

    SealBeater

    --
    -- Its survival of the fittest...and we got the fucking guns!!!
  161. Come on by slashdoter · · Score: 2
    The CERT/CC has recently learned of four vulnerabilities spanning multiple versions of the Internet Software.......

    You just have to wonder what recently means, 90 days? Time to cancel the LAN party and have an Update party


    ________

    --
    Does anyone actually have a Java program designed to control air traffic, or for the operation of a nuclear facility?
    1. Re:Come on by billcopc · · Score: 2

      All the better. If the advisories were released before a fix was available, the whole damned net would fall to its knees under the hordes of script kiddies.

      --
      -Billco, Fnarg.com
    2. Re:Come on by cicadia · · Score: 2

      You just have to wonder what recently means, 90 days?

      Generally this means 45 days with CERT. They have been criticised on a few occassions for this response time, and for the fact that they refuse to go "full disclosure". Their policy is to inform the software vendor first of any discovered vulnerabilities, and allow the vendor that time to release patches before making it widely known.

      That's why you can get a version of BIND from the ISC on the same day that the vulnerability was made public.

      I'd like to know earlier as well, but at the same time, I'm glad this hasn't been public for 45 days while I sit and wait for a patch.

      Check out their policy on this at http://www.cert.org/faq/vuldisclosurepolicy.html (hope that makes it throught the /. filters OK :)

      - cicadia

      --
      Living better through chemicals
  162. Re:Higher Level Languages are Unpredictable by BigBlockMopar · · Score: 2

    [sigh] I note that you've been moderated down as Flamebait. Apparently, someone is moderating based on emotion, not rational discussion, again.

    And so've I. Despite the fact that my point was rational, intelligent, on topic and clearly posted.

    Yup, we've got some wonderfully intelligent moderators these days.

    It's okay. I'll just go back to the home page, hit refresh until I get moderator access (it'll only take two or three times), and then I'll fix the stupid moderation going on (in other discussions, of course).

    Read the moderator guidelines, you cheese-eating dweebs.

    --
    Fire and Meat. Yummy.
  163. Linux Losers? Uhhh... Yeah, dude. Right. by BigBlockMopar · · Score: 2

    But do you really think linux losers spend their time trying to find buffer overflows in software? Nah, they spend their time downloading exploits written by others, writing WinAMP skins (or whatever it is called on linux), and playing quake.

    I like what the Linux losers seem to do best. They write stuff. Stuff that lets me do kewl things that impress my boss and save my IT budgets for grander things.

    Like really blowing away the MCSE idiots at the office by setting up and running a domain server, web server with caching proxy, mail server, SAMBA printer server, DHCP server and NAT firewall - with an uptime that blows away the best that they've done so far with Windows 2000 - for the 17 user LAN in a division of a Fortune 500 company - for under $200.

    Fine, our website only gets about 50-60 distinct hits/day. But, the server processes about 300 e-mails a day, including large AutoCAD DXF attachments. The printer attached to it is always running. And we've saturated our T1 a few times now, though the server's NAT.

    Yup. <$200. Old but tough-as-nails Compaq Pentium 100 with 48 megs of mismatched SIMMs kicking around - free. 4.3 gig Maxtor IDE hard disk drive - left over from an upgrade. Operating system and ISP-on-a-disk - Red Hat 6.2, free download, $0.50 blank CD-R, ~$0.12 for bandwidth. Couple of el-cheapo PCI network cards with gold "MADE IN TAIWAN, R.O.C." stickers on them? ~$30. Time to set it up? A few hours of my time, ~$150.

    Stats? Check 'em out yourself. I've cut out lines that I didn't deem necessary to judging the performance of this server.

    [lwade@www /]$ cat /proc/cpuinfo
    processor : 0
    vendor_id : GenuineIntel
    model name : Pentium 75 - 200
    cpu MHz : 99.717487
    bogomips : 39.73
    [lwade@www /]$ top

    1:37pm up 75 days, 19:29, 1 user, load average: 1.04, 1.05, 1.01
    52 processes: 50 sleeping, 2 running, 0 zombie, 0 stopped
    CPU states: 1.1% user, 2.1% system, 96.6% nice, 0.0% idle
    Mem: 46848K av, 45524K used, 1324K free, 6212K shrd, 1588K buff
    Swap: 153176K av, 15632K used, 137544K free 19232K cached

    The nice CPU usage there is represented entirely by SETI@Home's UNIX/Linux client. If not for that, the little old Compaq wouldn't have much to do with most of its CPU cycles.

    I think that the people who contribute to, and are the most ardent advocates of an operating system with that capability, can't possibly be accurately described as losers.

    When you can do that with Windows (any version), with that kind of uptime, on a Pentium 100, lemme know.

    --
    Fire and Meat. Yummy.
  164. Higher Level Languages are Unpredictable by BigBlockMopar · · Score: 2

    Most security leaks are a direct consequence of using languages like C. People claim it is possible to program safely in C, however, incidents like this prove them wrong.

    [sigh] I note that you've been moderated down as Flamebait. Apparently, someone is moderating based on emotion, not rational discussion, again.

    Years ago, I used to be a very fluent assembly language programmer. I haven't done it in years, and I kind of lost interest in programming when I saw that the higher-level languages were taking over.

    For anything that has to be rock-solid-stable and predictable, like core operating system components and security, relying on higher-level programming where your code is being mangled by a compiler and linked to potentially faulty libraries, scares the hell out of me.

    Look at Windows 9x as a perfect example of why this is a problem. You install a new application. It swaps all the DLLs for its own versions. Because the DLLs are changed, anything which had a dependency on those DLLs will be affected.

    What will happen?

    Well, to quote Ren Hoek from the legendary History Eraser Button episode, "Maybe something bad, maybe something good. We just don't know."

    Eudora has caused a fatal exception error in CTL3D.DLL

    For security, the vulnerabilities are even more subtle, and I believe that they're unavoidable.

    The only way to ensure that you have complete control over what is actually running is to write it all yourself. Assembled from mneumonics, not compiled from a high-level code. All your own subroutines, written in your hand, not packaged libraries and other cop-outs.

    High level programming languages are great for community college programming students. But I think the 'Net would be a lot more secure if we kept them out of our operating system core components.

    And yes, writing in lower level languages can take a very long time. And, during development, some of the crashes are absolutely spectacular. But if you think about how much a bug that crashes an operating system like Windows 2000 costs to productivity worldwide - especially in an economy where every hiccup of a webserver slams NASDAQ into the guardrail like a Honda Civic being edged off the road by a Plymouth TrailDuster - spending a little more time to avoid the ambiguity of compilers and linked libraries is well worthwhile.

    --
    Fire and Meat. Yummy.
  165. It's in the wild by autocracy · · Score: 2
    Cool logo! Anyway, it's in the wild. This is known for two reasons:
    1. I knew about this about a day before the /. post, and so have many other folks. Manual exploits are obviously out, and script kiddies are bound to follow within another 24 hours.
    2. It's posted on /. - EVERYBODY knows!
    One way or another you should upgrade because any security risk that is preventable is too much of a risk...

    The problem with capped Karma is it only goes down...
    --
    SIG: HUP
  166. Re:Ok by sulli · · Score: 2

    Even the SF Chronicle did a story before /. posted the damn article! (But there was much less useful info in the SF Gate article, other than the old bugaboo "Can bring down web sites! And whole sections of the Internet!!")

    --

    sulli
    RTFJ.
  167. Suppose your fairy godmother appeared.... by DickBreath · · Score: 2

    Let's suppose your fairy godmother appears and offers to use her magic to make your system safe and secure.

    As part of the way the magic works, in order to remove all buffer overflows and memory leaks and the like, it will cause all your programs to use twice as much cpu horsepower.

    Would you take her up on the offer? Is it worth sacrificing some horsepower for security and safety?

    You can program completely safely in assembly langage -- heck, even directly in binary using a hex editor. It's just not productive to do so. The high level C does so much of the bookkeeping for you. Similarly, using even higher level languages to achieve type safety, bounds checkinging, automatic memory management, etc. is just an extension of getting the computer to automate more of the tedious bookkeeping of programming. Isn't it worth it? For *most* applications (esp. bind) is the efficiency of C *so* inmportant?

    Not trying to start a flamewar. Just some thoughtless remarks to piss off people who hate high level languages.

    --

    I'll see your senator, and I'll raise you two judges.
  168. The scary thing... by b1t+r0t · · Score: 2
    The scary thing is that I first heard about this yesterday on the cnn.com webpage! (Okay, so I could have heard about it first on Bugtraq if I had been religiously reading it daily, but I hadn't.)

    Fortunately I can ssh into my server at home, so I had it upgraded within an hour.

    Another scary thing is the CERT graph showing the exploit reports for the NXT bug. I definitely don't want to have an un-upgraded BIND in the peak of that curve.

    --

    --
    "Open source is good." - Steve Jobs
    "Open source is evil." - Microsoft
  169. Re:djbdns is the way to go! by kyz · · Score: 2

    Sorry to hear about your security holes, but I'd rather use something that works best for me. If that means I use a non-GPL license, that's fine. If it means I use a closed-source (gasp! Horror!) program, that's fine, too.

    Fine by me too. Just don't cry like a girl when Bernstein comes round to your house to bitchslap you for daring to fix djbdns security holes without his permission!!

    --
    Does my bum look big in this?
  170. Avoiding This Altogether by grammar+fascist · · Score: 2

    It seems like this is something that needs to be taught in schools. I don't recall ANY of my professors ever talking about how to write secure code. They ought to teach the difference between printf(str) and printf("%s", str), at least.

    Strangely enough, that's the extent of my knowledge on writing unbreakable code. Does anybody out there have links to some good reference material on this?

    --
    I got my Linux laptop at System76.
    1. Re:Avoiding This Altogether by Simon+Brooke · · Score: 5
      Most security holes come down to two things. One is allowing unvalidated input from untrusted users to be passed to any sort of general purpose command interpreter. This was a prime source of holes in early CGI scripts; for example, if you ask a user for an email address and then use the mail utility to send mail to it, and the user types me@mydomain.com; cat 'hax0r::0:0:lee7 hax0rs ownz you sux0rs:/:/bin/sh' >> /etc/passwd then you've just lost your machine.

      The other is accepting unchecked amounts of input from untrusted users. Remember that C (unlike, for example, Pascal, Java or LISP) does no bounds checking, so you have to implement bounds checking yourself.

      If you do the equivalent of:

      char buffer[ BUFFLEN];
      int i = 0;

      while( ! feof( stdin))
      {
      buffer[ i++] = getchar();
      }
      buffer[ i] = '\0';

      That's going to lead to a buffer overrun which someone can exploit. If you do the equivalent of:

      char buffer[ BUFFLEN];
      int i = 0;
      int maxinput = BUFFLEN - 1;

      while( ! feof( stdin) && i < maxinput)
      {
      buffer[ i++] = getchar();
      }
      buffer[ i] = '\0';

      Then you're reasonably safe. But to be safer still, don't use C to write daemons which take input from untrusted third parties, and don't run daemons as root - give each it's own separate role account.

      --
      I'm old enough to remember when discussions on Slashdot were well informed.
    2. Re:Avoiding This Altogether by DrWiggy · · Score: 5

      Does anybody out there have links to some good reference material on this?

      Sure. There is a mailing list over at SecurityFocus called SECPROG that discusses secure programming practises. The idea is to produce a white paper that describes how to write secure code. The draft can be seen here and is probably the definitive how-to in existence at the moment.

      Hope that helps.

  171. Re:A quote seems appropriate... by crispybrown · · Score: 2
    --
    @ .
  172. Re:Who needs BIND? by Chris+Burke · · Score: 3

    All software has bugs. OK. BIND has a trackrecord of having security related bugs.

    Or rather, track record of having known security related bugs, because it is so widely used and hence so widely scrutinized. Whatever it is that you think has less bugs because of less known security issues, ask yourself if it is as widely deployed and as widely scrutinized as bind.

    Maybe we should be more forgiving to Microsoft security issues then?

    As long as the patch is released in a timely fashion (which means a day or two tops), and they don't attempt to cover up the "issue", then yes we should be. Unfortunately, neither of these things describes Microsoft behavior in most cases.

    --

    The enemies of Democracy are
  173. Debian update instructions by Carl · · Score: 3

    Add the following line to your /etc/apt/sources.list file:

    deb http://security.debian.org/ potato/updates main

    Then do a:
    apt-get update
    followed by a:
    apt-get upgrade

    DONE.

    1. Re:Debian update instructions by nchip · · Score: 5

      Assuming that your dns server hasn't been compromised!

      When making security updates, verify first the debs really are the ones announced on:

      http://lists.debian.org/debian-security-announce -0 1/

      A mailing list you should be subscribed to, if you run public services with debian. Relying on /. for security news/instrucions is probably the stupidest thing one can do!

      --
      signatures pending - ansa@kos.to - (dont mail there)
  174. Who needs BIND? by msaavedra · · Score: 3

    I don't mean this as a troll, but it seems that BIND has more security vulnerabilities than any other piece of software. I know someone brings this up on every DNS related post, but I think more people should try djbdns, with which I have been very impressed since I started using it about six months ago. I have heard that BIND 9 is supposed to be an improvement, but with BIND's history of security problems I'm not sure if I would trust even this new improved version. I think it is better to go with software that has already demonstrated its good security, like djbdns has.
    ---------------------------
    "The people. Could you patent the sun?"

    --
    "Any fool can make a rule, and any fool will mind it."
    --Henry David Thoreau
    1. Re:Who needs BIND? by Barbarian · · Score: 5

      I doubt djbdns has received the attention that BIND has. If djbdns was used on every server instead of BIND, there'd probably be problems found with it too.

  175. A couple of important points by bconway · · Score: 3

    First, stay away from Bind 9. It has yet to incorporate all the features of version 8, and is still in its infancy. There are many security holes that have been found it it, and I suspect many that have not. You'd be best to stick with 8.2.3.

    Second, and more importantly, DO NOT RUN A NAMESERVER AS ROOT. There are -u and -g flags when starting named that allow you to set which user the nameserver will run as, much in the same way that IRC servers are run as unpriveleged users. Then if the server is compromised, you've only lost an account and not the whole system, assuming no one will be able to hit you with a local exploit.

    --
    Interested in open source engine management for your Subaru?
  176. Ok by dimator · · Score: 3

    How many of you think this story got posted just to use that cool icon?


    --

    --
    python -c "x='python -c %sx=%s; print x%%(chr(34),repr(x),chr(34))%s'; print x%(chr(34),repr(x),chr(34))"
  177. Re:aka "named" by biglig2 · · Score: 3

    If you can't remember if you're running BIND or not you probably shouldn't ;-)

    --
    ~~~~~ BigLig2? You mean there's another one of me?
  178. Bind 9 not related to bind 8/BSD nto safe if..... by cluge · · Score: 3
    From what I understand and have read BIND 9 is a total rewrite, supposedly with security in mind. No code was used from BIND 8 or BIND 4. BIND 8 still had a great deal of code from BIND 4, which itself was written VERY VERY long ago in a "programmers drunken orgy" of coding.

    BSD users are still screwed if they downloaded the source and compiled from source. The changes to BSD's BIND 4 are only for those people that used open BSD's implementation of BIND4.

    There are severl alternatives, and having used them all, we had to switch back to bind because of interoperative problems or performance issues. Some solutions are.....

    --
    "Science is about ego as much as it is about discovery and truth " - I said it, so sue me.
  179. Re:djbdns is the way to go! by cluge · · Score: 3
    It all depends if you have machines/IP's to spare. djbdns requires seperate machines for almost everything. If you want your load balancing DNS server run this, resolver run this, master/root server run this. While I use a good deal of Bernstein software, and genearlly really like it djbdns wasn't up to snuff. The other thing I'm worried about is that the software will be left to rot.

    Qmail appears abandoned. Many people are making patches, but what a pain in the ass, get the source then apply the 3 patches you need and hope they work together. Qmail is a great program, BUT if the author isn't going to keep improving it, then he should turn it loose to those that are.

    --
    "Science is about ego as much as it is about discovery and truth " - I said it, so sue me.
  180. aka "named" by marvinglenn · · Score: 3

    As a partially informed/ignorant Linux user, I went to see if I was running "bind"...

    It's probably worth mentioning that the program "named" (as seen in the service control activity panel of LinuxConf) is "bind".

    --
    The whores get mad when the sluts give it away for free.
  181. djbdns is the way to go! by Tracy+Reed · · Score: 4

    I switched to djbdns a few months ago because I just KNEW something like this would happen. Now I am glad I did! Bind is such a clusterf*ck. :(

    http://cr.yp.to/djbdns.html

  182. Re:Chroot jail with bind 9? - answer by demi · · Score: 4

    I was running bind 8 in a chroot jail and when
    I built bind 9 it barfed a little, but all I
    really needed to do was make the /var/run
    under the chroot directory world writable. And
    bind 9 complained about not having a $TTL
    directive in my zone files. Once I fixed those
    things, I was up and running without having to
    change named.conf.

    I found the following things helpful:

    named -g -u <user> -t <chroot_dir>

    this runs named in the foreground without
    writing to log files and lets you see what's
    going on with it for troubleshooting. I
    also used ktrace to good effect: use truss
    on Solaris, strace on Linux and ktrace on
    BSDs and you'll see what named is trying to
    do (in particular, which files it's trying to
    open).

    I'm running OpenBSD and (now) BIND 9.1

    --
    demi
  183. Red Hat Releases updated RPMs by bluehell · · Score: 4

    Get the not yet announced RPMs of bind-8.2.3 at Red Hat's FTP-Server's Update-Section or the Mirrors. Goes back even to Red Hat Linux 5.2.

    --
    -- To bloody go where no man has gone before.
  184. A quote seems appropriate... by ASCIIMan · · Score: 5
    One Ring to rule them all,
    One Ring to find them,
    One Ring to bring them all
    and in the darkness BIND them.

    Hmmm... Interesting.