Windows Insider

NetBIOS — The Service That Wouldn't Die

With the slow but steady migration to Windows 2000, NetBIOS receives another stay of execution. So, how does this collective pet peeve affect you?

The most power and function you can get from Microsoft just might be in Windows 2000 Datacenter Server — the strongest server operating system we’ve ever offered. Whether you’re an MCP in a corporate-technology department or with a Solution Provider company, the newest Windows operating system may provide the best business investment that your organization — or your customer — can make for mission-critical computing.

We’re now close to our second year of Windows 2000, and there are reported to be more than 2 million outstanding licenses. Besides the obvious implication of millions of dollars flowing into Microsoft, the number also implies that the migration process to Win2K is well under way around the world. It also means there are still many more sites to go and that it’ll take quite awhile for the process to be completed in any given company. As much as we’d like to wave a magic wand and have a simple, immediate process, the reality is that interoperability issues will continue to be center stage for quite some time.

It’s Following Us
This is having the unintended effect of dragging out the lifespan of one of my personal pet peeves with Windows NT, LAN Manager before that, and MS-Net-based products before that. This well-festered irritant is still stalking us under the name of NetBIOS. Oh, I know its days are numbered, but I remember when its days were numbered in the late 1980s. I’m not sure if a stake through the heart is required to rid us of this scourge, but I’m beginning to wonder. I’ve covered the details of how NetBIOS works before so I won’t go into too much detail here, but I do want to cover some of the continuing implications it raises for Win2K and Active Directory.

NetBIOS has a long history. It was developed in the early 1980s by a company called Sytec (now a part of Hughes LAN Systems) under contract by IBM to connect those pesky personal computers at the end of SNA-connected large computers, which of course were going to be the future of enterprise computing. Well, things have changed a bit, but you’re still left with the architectural limitations of NetBIOS as long as you have Windows 9x and NT clients attached to your Win2K network.

The main limitation is that — while all movement in the management of resources on networks today is toward a hierarchical, enterprise-wide namespace — NetBIOS was initially designed for a flat namespace with a maximum of 72 named devices. This, of course, has been corrected over the years through enhancements in its ability to uniquely identify many more devices and with tools such as WINS that trick NetBIOS into thinking it’s on a flat network even though it may reside on a routed network.

Character Counts
The other main limitation of NetBIOS, which hasn’t been extended, is that for any device to be recognized on the network, the name can’t be more than 16 characters long. This limitation is practically lowered to 15 characters because the 16th character is reserved by the operating system to identify the various services that exist on the device. Since Microsoft recognizes that there won’t be any overnight migration implementations and that its previous success has created multiple millions of NetBIOS nodes on existing networks, it’s built a strong level of support for backward compatibility into the Win2K platform. For this reason, continued NetBIOS support is part of the default configuration for Win2K machines.

The first implication NetBIOS has for a mixed Microsoft environment is in the naming conventions that you may have considered with a hierarchical directory in mind. The Active Directory name follows the DNS requirements for supported names and provides up to 64 characters for the host name, which would be joined with the DNS suffix. These two name components comprise the fully qualified domain name (FQDN). The suffix isn’t important for the discussion, but the host name is critical. Best practices would recommend that you keep your host name well shorter than 64 characters, but you could make a case for a name that exceeds the 15-character practical namespace limitation length of NetBIOS. However, by default, if you add a workstation with a name longer than 15 characters, it’ll be truncated to fit into the NetBIOS namespace. This can wreak havoc with any name standard you may have designed — regardless of the character length.

What’s in a Name?
If you choose to keep NetBIOS naming conventions for interoperability considerations while you’re migrating a system, you may want to take some immediate initial steps. The legal characters that are supported in NetBIOS and DNS are — for the most part — comparable except for one major annoyance. Since the NetBIOS namespace doesn’t allow spaces, it’s been common practice for people to use underscores. The DNS namespace uses the hyphen for the same reason. There’s been a proposal to use the underscore for the names of services advertised in DNS, but it’s still not a standard.

While Microsoft’s DNS supports Unicode characters, including the underscore, you can’t count on the underscore to be recognized by other DNS implementations, which is problematic in the enterprise. The best practice is to change all of the NetBIOS names that will be in place for any extended period of time to support the overlapping NetBIOS and DNS characters, which means avoiding both the underscore and the hyphen. This will take some work, but it’ll be time well spent if you plan a protracted migration.

You can have a different NetBIOS name and DNS name for the same workstation. However, this approach introduces questionable complexity. One of the backward-compatibility features of Win2K is the interoperability between WINS and DNS, where WINS can be listed in the DNS server to help resolve names. If a particular machine has a DNS name and a different NetBIOS name, there’ll be unpredictable results depending on the source of any queries.

Another issue is that if you’ve decided to support client names larger than 15 characters you’ll have to make administrative modifications to the Access Control Entries (ACEs) in the directory, which make up the Access Control List (ACL). DNS names longer than the standard 15 characters will be different from the SAM account name and can cause directory confusion. The SAM name, designed to support the NetBIOS-based NT technology, is used when adding a client name to the directory. The administrator needs to modify the ACE security properties in the directory security properties to map the names and allow client names of more than 15 characters to be written by the system to the ACE in the directory.

A Matter of Security
Beyond some of the administrative issues that need to be considered, there are security concerns associated with NetBIOS. They mostly revolve around the fact that security wasn’t a consideration when NetBIOS was developed. Greater security has been developed over the years to surround the services that rely on NetBIOS, but NetBIOS still behaves in a predictable manner when interrogated. That behavior is to reply with its own information when challenged and also assume the best intentions when provided with a service that knows its name. While the services themselves are, for the most part, effectively protected through access control, NetBIOS is a particularly vulnerable target for Denial of Service attacks.

NetBIOS is based on names rather than addresses. It resolves naming conflicts by following a standard procedure when it’s confronted with a challenge that the name it’s using is claimed by another device. One version of this vulnerability is manifested by a potential attack generated by a bogus NetBIOS name server that’s used to send a name-release datagram to the target machine. When the target machine responds to the request, it becomes unavailable to legitimate users. Another way to obtain the same effect is to send the target machine a NetBIOS name-conflict datagram to get the target machine to relinquish its name. Now, there are ways to prevent this from happening, such as closing the NetBIOS ports 137, 138 and 139 from the outside world through your firewall. However, that won’t stop internal attacks on system resources from disgruntled employees. There’s also a patch that protects a machine from responding to spoofed NetBIOS commands, but this could also have the unintended result of preventing legitimate name-conflict resolution.

Another broad security issue with leaving the NetBIOS backward-compatibility feature enabled is that the NBTSTAT command can send useful information — such as the Active User, services running, workstation name, and even the MAC address — back to a requester. This is useful information when it comes to building a map of a targeted system for future hacking or other nefarious objectives.

This is not to say that Win2K is a fundamentally unsecured platform — far from it. With Kerberos as the default authentication protocol you can verify the client as well as the server, so both sides of a connection are authenticated. However, until you’ve completed a Win2K migration and removed all the clients who need NetBIOS to advertise their presence, establish sessions and access resources, you need to maintain and design security enforcement points that include NetBIOS considerations.

Additional Information

For more on NetBIOS, read Michael Chacon’s article, "The NetBIOS Barrier" in the November/December 1997 issue and Doug King’s article, "Living in a World without NetBIOS" in the September 1999 issue.

If you possess a premium certification from Microsoft, access to these back issues is free online. For details, visit http://mcpmag.com/subscribe.

Somebody, Get me a Stake
I certainly haven’t covered all of the issues surrounding NetBIOS, but I hope I’ve reminded you to keep your eye on the past as you move forward. Bottom line: If you’re serious about moving to a Win2K enterprise information system, you need to have the removal of NetBIOS clearly outlined in your plan. Even if you have all your workstations and servers on Win2K, you may have left NetBIOS and NTLM authentication support still enabled. When you build your project plan, set a milestone at which NetBIOS finally succumbs to the stake through the heart. I’m sure there’ll be little mourning from the bleachers.

comments powered by Disqus

Redmond Tech Watch

Sign up for our newsletter.

I agree to this site's Privacy Policy.