intelligent selection of forwarders?

James Ralston qralston+ml.bind-workers at andrew.cmu.edu
Wed Aug 28 04:56:49 UTC 2002


On Tue, 20 Aug 2002, Jim Reid wrote:

> >>>>> "James" == James Ralston
> >>>>> <qralston+ml.bind-workers at andrew.cmu.edu> writes:
> 
>     James> I want to be able to conduct periodic maintenance (e.g.,
>     James> rebooting one of the forwarders) with minimal disruption
>     James> (e.g., without having our internal nameservers blindly
>     James> querying the forwarder while it's rebooting).
> 
> Don't you have maintenance windows?

It's not always feasible and/or convenient to wait until the next
maintenance window.  In such cases, being able to minimize the
disruption that performing maintenance causes is a desirable thing.

>     James> Also, if a site's name servers aren't all running BIND9,
>     James> then using BIND9 forwarding servers can help mitigate
>     James> attacks against buffer overflows in DNS resolver
>     James> libraries:
> 
> That seems to be an argument for upgrading to BIND9 -- it's been out
> for 2 years now -- rather than use an undesirable and suboptimal
> name server configuration that depends on forwarding.

This is an overly simplistic argument.

    1.  It took quite a while (and no doubt a lot of work on the part
        of ISC) for BIND9 to become stable enough to run in a
        production environment.  (And although I mean no offense to
        the BIND9 developers, I know people who insist that BIND9
        still isn't stable enough to run in a production environment.)

    2.  Most operating system vendors are still shipping BIND8 (or
        BIND8-based) nameservers and resolving libraries in their
        operating systems.  (For example, Solaris 8 ships with a
        patched version of BIND 8.2.2.)

Being able to upgrade the nameserver and resolver libraries on every
single operating system in one's organization to BIND9 instantaneously
and effortlessly is sheer fantasy.  Migrations take time.

>     James> (Generically and generally speaking, forcing one's DNS
>     James> traffic to all flow through bastion forwarding hosts is a
>     James> good security practice.)
> 
> In your opinion. It may be marginally useful for security -- don't
> see that myself -- but it introduces a glaring single point of
> failure.

Using multiple forwarding servers can alleviate the single point of
failure.

> And it's bad a security perspective too.  As well as being bad for
> the availabilty of resolution service.  Compromise a bastion host,
> say by poisoning its cache, and a bad guy can inject bogus data all
> over your organisation.

Irrelevant; if the bastion host can be compromised, then in all
probability, any DNS server in the organization can be compromised.

> Forwarding is rarely if ever a good idea.  To give an analogy, there
> are several ways of getting from Pittsburg to New York.

It's "Pittsburgh", not "Pittsburg".  ;)

> Do you always go by car?  With the same car?  Would you take a
> different route if a road was congested?  Or take a train if the
> airlines were not flying?  I presume you'd allow yourself some
> flexibility.  So why not let your name servers have the same thing
> instead of blindly (and stupidly) forwarding queries to the same
> place?  To continue the analogy, this is like always taking the same
> road even when you know in advance there's a bridge ahead and it's
> out.

I don't see the relevance of your analogy.

This is the metaphor I like to use for forwarding servers:

    You own a company based in a city.  Your company is highly
    dependent on gathering documents from people and businesses
    located throughout the city.  Thus, your employees spend hours
    each day traveling over the city, gathering these documents, and
    bringing them back to your company.  (Yours is a 24x7 business;
    your employees travel all over the city, at every hour of day and
    night.)

    You perform a security analysis of your company's business
    practices, and realize that there are multiple security
    weaknesses.

    First, many of your employees aren't smart enough to realize a
    setup, and could be tricked into carrying bogus documents back to
    your company.  Even worse, some of the documents could be
    contaminated with chemical or biological agents; the vast majority
    of your employees wouldn't have the skills or the training to
    detect them.

    Second, although some of your employees are physically fit and
    have self-defense training, many are not, and are ripe targets for
    muggers, thieves, and kidnappers.  A determined opponent could
    kidnap one of your employees, brainwash him, and then allow him to
    return to your company in order to act an agent of the opponent.

    Your analysis determines that these security threats are
    significant.  Therefore, you decide to change your business
    practices.

    Instead of having all of your employees traversing the city, you
    decide to hire several individuals to act as dedicated couriers.
    These couriers are all ex-Marines with full combat training, who
    keep themselves in meticulous physical shape.  You buy armored
    vehicles for the couriers, and make sure to keep them supplied
    with the latest self-defense weapons and technology.  You train
    them how to spot forged documents, or documents containing
    chemical or biological agents.  Finally, in order to mitigate
    against the scenario in which the couriers are somehow captured
    and brainwashed, the couriers are confined to a "jail" area of
    your company's facility, and have no access to (or privileges in)
    any other area; employees issue document requests to (and receive
    documents from) the couriers via a bulletproof double-partitioned
    window, which makes it impossible for the couriers to physically
    contain any other employee.

    Now, the courier solution isn't perfect, as it's still possible
    that your couriers could unwittingly deliver forged documents back
    to your employees.  And now that your regular employees aren't
    traveling the city themselves, if something happens to the
    couriers, your business will grind to a halt until the couriers
    are running again.  But the latter risk is mitigating by your
    having multiple couriers, and the former risk can never be
    completely eliminated.  Overall, you have reduced the security
    risks to your business.

I can see your points about a single point of failure and
vulnerability, but I find it difficult to envision a situation in
which the alternative (every machine being a point of attack) is
better...

-- 
James Ralston, Information Technology
Software Engineering Institute
Carnegie Mellon University, Pittsburgh, PA, USA



More information about the bind-workers mailing list