|
Chapter 8: Security Baselines
Chapter 8 Security BaselinesAbout This ChapterA security baseline is a set of rules or recommendations that establish a minimum acceptable security configuration. Security baselines, which are also called security benchmarks or checklists, are often presented as printed or electronic documents, but they can also be programs that evaluate system configuration. For example, the Center for Internet Security (CIS) has a large set of documents called security benchmarks for a variety of popular operating systems, routers, and Web servers. These documents and related tools serve as security baselines for the equipment in many organizations. This chapter examines security baselines for network devices, operating systems, applications, and different types of server configurations.
Before You BeginThis chapter assumes basic knowledge of Transmission Control Protocol/Internet Protocol (TCP/IP), as presented in Chapter 2, "TCP/IP Basics." You should also understand certificates as presented in Chapter 3, "Certificate Basics." Further, this chapter assumes that you know how to secure the network infrastructure and individual client applications as presented in Chapter 4, "Network Infrastructure Security," and Chapter 6, "Application Security." You should also understand virtual private networks (VPNs) as presented in Chapter 5, "Communications Security." Finally, you should have read about authentication, which was covered in Chapter 7, "User Security."
Lesson 1: Network Device and Operating System HardeningNetwork device and operating system exploits are common and numerous. From a security standpoint, maintaining secure configurations, updating devices and operating systems, and monitoring for alerts is a continuous process. Many security professionals say that there is no such thing as a device or operating system that is 100 percent secure. If you don't already agree with that statement, you probably will after reading this book. However, you do already know that there are many steps that you can take to increase the security of your network and the devices that are part of it. In this section, you learn steps you can take to secure and maintain the security of your network devices and operating systems.
After this lesson, you will be able to
Estimated lesson time: 60 minutes There are many specific recommendations and guidelines available for a variety of operating systems. You can review and download security baseline information and related software tools from the following sources:
Network Device UpdatesThe processing logic of network devices such as routers, switches, and firewalls is typically maintained through firmware updates, programs that update the current processing logic (or operating system) of the device. Manufacturers often produce firmware updates to correct security issues.
To protect your network devices, be sure to monitor communications from the vendors of those devices for information on new security patches. You should also monitor security newsletters and alerts for information on new exploits. The CERT is probably the most well-known security alert system. In addition, CERT publishes a list of other information sources on its Web site at http://www.cert.org/other_sources.
Verifying Updates Before you install a security update, you should verify that it is authentic and not corrupted. Verification usually involves checking a digital signature or checksum to verify the authenticity of the patch. A checksum (or hash) is a computation applied to a file that results in a string that can be used to check the integrity of a downloaded file. Figure 8-1 illustrates an example of a Message Digest (MD5) checksum. Three files, all named Code.txt, exist in three different directoriestest1, test2, and test3, as shown in the directory listing. All the files have the same date, time, file size, and name. However, they don't all have the same MD5 hash value because they are not all the same. The Code.txt file in the test2 directory is different than the other two files, as shown in the MD5 command hash values. Figure 8-1 MD5 signature verification Pretty Good Privacy (PGP) can also be used to verify file downloads. Figure 8-2 illustrates signature verification with PGP. The first Code.txt file was modified after the signature file was created and therefore shows up as a bad signature. The second file in the list is intact and therefore shows up with a proper time and date. Figure 8-2 PGP signature verification If an attacker compromises a vendor Web site, the attacker could feasibly post a Trojan horse in place of a security patch. Many vendors now digitally sign or compute a hash value for security updates, so that you can ensure the update's integrity. Be sure to check that signature or security hash before you install security updates. Maintaining an Archive of Updates No matter how you receive updates for your applications, network devices, and operating systems, you should consider building an archive of update files. Maintain all of the updates that you must apply for each type of software and hardware your organization uses. This allows you to quickly reapply updates when new systems are brought in or existing systems require reinstallation. Testing Updates Always test updates on nonproduction systems, if possible. This allows you to determine if the update performs properly before you load it onto your production devices, because software vendors can rarely guarantee that updates won't break other applications that you might be using on a production computer. If you don't have a test system for trying out patches, make sure you have an action plan for restoring your production systems if the security patch causes a problem. Applying Updates After you verify and test updates, apply them as soon as possible. The actual process for applying firmware updates varies depending on the product and vendor, but typically it is not much more involved than downloading and running a file from the vendor's Web site. If an exploit is discovered and an update is not available, you might have to follow a workaround. For example, if an exploit for Dynamic Host Configuration Protocol (DHCP) is discovered on a router that supports DHCP, you might consider disabling DHCP on the router and enabling it on a device that doesn't have the same vulnerability. Once the security patch is available, you can decide whether you want to return to the original configuration.
Operating System and Application UpdatesThe SANS Institute has created a list of the top 20 security exploits (http://www.sans.org/top20.htm). The list shows that buffer overflows are the most common security problem. As you read earlier in Chapter 6, buffer overflows are related to programming errors. Consequently, when they are discovered, software vendors usually fix them by issuing security updates. These updates might be called upgrades, patches, service packs, or hotfixes, depending on the product and the vendor. No matter what they are called, these updates fix programming errors that might be exploited by an attacker.
Checking for Updates Almost every piece of software and hardware that your organization has is likely to be updated at some point. As with firmware updates, you must stay attuned to appropriate information sources (such as your software vendor's Web site or an alert list) so that you know about exploits when they are discovered and fixed.
Operating systems in particular are likely to be updated routinely. Updates are so frequent that many software vendors have worked to simplify the process of finding and installing updates. For example, CERT lists scanning tools on their Web site list of security tools under the heading "Tools to Scan Hosts for Known Vulnerabilities," located at http://www.cert.org/tech_tips/security_tools.html#D. Two of those scanning tools are Internet Security Scanner (ISS) and Security Administrator Tool for Analyzing Networks (SATAN). Other examples of scanning tools include the Microsoft Baseline Security Analyzer (MBSA) and the Microsoft Network Security Hot Fix Checker (HFNetChk).
Automated Updates Many software vendors are providing methods for receiving and applying updates automatically. Many virus scanner vendors offer automated programs for updating virus definition files. Microsoft offers an automatic updates program called Software Update Services for many of its operating systems. These automated updates can be configured to automatically download updates from the vendor's Web site on a regular schedule or whenever they are available.
Securing Networking ComponentsAs you have seen thus far, there are many potential avenues that an attacker can use to exploit your network. In this section, you learn some additional avenues that attackers might take to exploit your network. More important, you learn steps that you can take to help protect your network and reduce the possible ways in which attackers might exploit it.Disabling Unnecessary Network Services and Protocols People often speak of disabling unnecessary "services" and "protocols" interchangeably. This is because services and protocols often have the same name. For example, the Simple Network Management Protocol (SNMP) is by name a protocol, but it is also a service. SNMP is typically used for remote management of hosts on a TCP/IP network. As a service, SNMP communications occur by default over User Datagram Protocol (UDP) ports 161 and 162. As a protocol, SNMP communicates according to standards documented in Request for Comments (RFC) 1643. (RFC articles can be found at http://www.icann.rfceditor.org.)
A network service is a program used to provide some function for another computer or device on the network. Network services are often generically referred to as services. Many operating systems install and enable services by default that might not be necessary or appropriate on your network. Of course, the necessity and appropriateness of a service depends on the role that the computer is performing. For example, CERT Advisory CA-1996-01, "UDP Port Denial-of-Service Attack," (also CVE-1999-0103) warns of a denial of service (DoS) attack directed against two UDP services: chargen and echo.
Most network operating systems allow network administrators to list the services that are active on the system. In Microsoft Windows, UNIX, and Linux systems the netstat command can be used to provide a list of network connections and listening ports over which services are provided. Figure 8-3 shows the netstat command and appropriate command-line switches to show all listening TCP and UDP ports in numerical order. Figure 8-3 Netstat on Windows 2000 Professional You can usually find a list of services and ports in the Services file. This file is located in different places on different operating systems. On UNIX and Linux operating systems, the file is commonly stored as the services file in the /Etc directory. Microsoft Windows 2000 and Microsoft Windows XP operating systems store the services file in the %systemroot%\System32\Drivers\Etc folder. You can view and edit the Services file in any text editor program such as vi, Emacs, or pico in UNIX/Linux operating systems or Notepad in Microsoft Windows operating systems.
Once you figure out what services are running on your system, you should disable all unnecessary services. In UNIX and Linux operating systems, disabling services is typically done by editing the /Etc/Inetd.conf or /Etc/Xinetd.conf files. To disable a service in Inetd.conf, you add a pound sign (#) in front of the line referencing the service. An excerpt of an Inetd.conf file is shown here with the echo and chargen services disabled:
#echo stream tcp nowait root internal Once you have disabled all the unnecessary services, you must restart the inetd program so that it reads the edited Inetd.conf file. Depending on the specific distribution of UNIX or Linux, you might do this by typing killall -HUP inetd. The preferred technique for accomplishing a restart of inetd might be different in your specific operating system, so consult your documentation.
In Microsoft Windows operating systems, disabling specific services can be a bit more complex because you need to know which software applications are providing which services. For example, consider the following list (excerpted from Figure 8-3):
Proto Local Address All entries in this list are associated with NetBIOS over TCP/IP services. If you have no need for NetBIOS over TCP/IP services, you can disable them through the Advanced TCP/IP Settings dialog box by clicking the WINS tab, and then choosing the option to disable NetBIOS over TCP/IP, as shown in Figure 8-4. Figure 8-4 Disabling NetBIOS over TCP/IP in Windows 2000 In addition to disabling unnecessary services on the clients and server operating systems on your network, you should filter unneeded services at the firewall. As mentioned in Chapter 4, you'd be wise to use a default-deny rule on the firewall and enable only needed services. Removing Unnecessary Programs The Melissa virus (described in Chapter 6) was targeted at systems running Microsoft Word and Microsoft Outlook. The Melissa virus would not have affected someone who didn't have Word and Outlook installed. The more programs you have installed and running on your system, the greater the likelihood that someone can create or find an exploit for one of your programs. To reduce the risk of compromise on your network, you should remove all unnecessary programs from every device on your network. Most operating systems provide a method for you to determine which processes and applications are running. UNIX and Linux systems have the ps command that can be used to list running processes. In Microsoft Windows operating systems released after 1995 (including Microsoft Windows 95, Microsoft Windows 98, Microsoft Windows Me, Windows 2000, and Windows XP) you can hold the Ctrl, Alt, and Delete keys simultaneously to activate the Task Manager. In Windows XP, you can also use the tasklist.exe command to view processes on local and remote computers from the command line.
Once you have listed all of the running processes, you can determine if they are necessary. Determining which processes are actually necessary depends on many different factors. Later in this lesson and in the following lesson we cover some of the guidelines that help you determine which processes are necessary. However, beyond all of the recommendations, in many cases, the decision on whether a process is necessary varies depending on what the individual or organization needs to accomplish or provide. Disabling Unnecessary Protocol Stacks As you saw in Chapter 2, TCP/IP is a suite of protocols. TCP/IP is often referred to as a protocol stack. Other types of protocol stacks include IPX/SPX and NetBEUI. Many operating systems and network devices are capable of running more than one protocol stack. As with removing an unnecessary service or protocol, you should also remove any unnecessary protocol stacks. For example, the IPX/SPX protocol stack is only used on Novell NetWare networks. However, recent versions of NetWare frequently use TCP/IP. If you convert your network to TCP/IP completely, you can remove IPX/SPX from hosts and routers on your network. The fewer protocols, protocol stacks, and services that your systems support, the less likely it is that newly discovered vulnerabilities will affect them. At a minimum, removing unnecessary services, protocols, and protocol stacks improves performance and makes systems less complex to troubleshoot. Disabling Promiscuous Mode Attackers who are able to compromise one of the systems on your network might use that compromised system to gather information and possibly exploit other systems. One way in which an attacker might gather information is to install a protocol analyzer program on the compromised system. The attacker then uses the protocol analyzer to monitor data packets, hoping to find passwords, user names, or additional information that might help to compromise other systems. To protect your systems from this type of attack, you must do all you can to ensure that a system is not compromised in the first place. However, if a system is compromised, one method for stopping the attacker from gathering additional information is to disable the promiscuous mode of the network card. Promiscuous mode is a condition that a network adapter can be placed in to gather all passing information. Normally, network adapters do not gather information that is not specifically destined for the adapter or broadcast to all adapters. Certain programs (such as protocol analyzer programs) place adapters into promiscuous mode. Many network card manufacturers provide directions for disabling promiscuous mode through various operating systems. Unfortunately, if the attacker is savvy enough to compromise the system and gain full control (root, superuser, or administrative access), then he or she can probably re-enable promiscuous mode on the adapter through the operating system. Some network card manufacturers make network cards on which promiscuous mode can be permanently disabled. If you can permanently disable promiscuous mode on the network adapter, even if an attacker does compromise the system, installing a protocol analyzer would not provide any additional advantages to the attacker.
Disabling Unnecessary Systems Computer systems that are not in use on your network should be disabled. Network attacks are often launched against test systems that were never properly secured and then forgotten about. Even a test system that has no legitimate user accounts locally could be quite useful to an attacker. As previously mentioned, if an attacker compromises an unsecured system, she or he could install a protocol analyzer and other tools that could lead to further exploits. To protect your network from exploits launched against systems that are not in use, you must routinely audit your systems. You can use vulnerability scanners on your own network to scan for unsecured systems, and you can also physically inspect your network to see if there are any computers or other network devices that are no longer in use.
Access Control Lists Packet filtering, as described in Chapter 4, is typically accomplished with an access control list (ACL). An ACL is a rule list that tells the router or firewall how to deal with network packets the router receives, so routers and firewalls use ACLs to determine which packets to forward and which to drop. As you learned in Chapter 4, packet filters can be used to restrict packets based on source address, destination address, protocol ID, TCP or UDP port number, Internet Control Message Protocol (ICMP) message type, fragmentation flags, and options. One common problem with router and firewall configurations is that packet filters are not stringent enough. As an example, assume you work for an organization that handles name resolution for all internal client systems. In addition, you want to allow Domain Name System (DNS) zone transfers from your Internet service provider's (ISP's) DNS server (named IspDNS) to your local DNS server (named CorpDNS). Because the ISP's DNS server sends zone transfers over the standard port (TCP port 53) to your organization, you know you must enable that port on the firewall. You can configure an ACL that looks like the one shown in Table 8-1. Table 8-1. Sample Access Control List
However, if you do this, an attacker could potentially use port 53 to scan your entire network. Further, an attacker could send a bogus zone transfer right through your firewall to your DNS server. The problem is the use of "any" instead of listing the actual DNS server of the ISP. A more secure solution would be to restrict zone transfers to only the IP address of your ISP's DNS server, as shown in Table 8-2. Table 8-2. A More Secure Access Control List
Configuring a secure ACL is an important way to help protect your network from attack. Make sure that your firewall and router rules limit the connections that can be made and from where.
File System SecurityA file system (or file management system) is a program for organizing, storing, and even sharing data. To increase the security of your network and individual systems, you should secure the file systems in use on your network. There are three main areas to consider related to file system security:
File and Directory Permissions File and directory permissions are used to identify who can access a file or directory. Many operating systems use file systems that allow you to set file and directory permissions. Typical permissions you can configure include read, write, and execute. Some operating systems allow you to choose to install a file system that supports file- and directory-level security and one that does not. For example, Microsoft Windows NT, Windows 2000, and Windows XP allow you to choose between the file allocation table (FAT) file system and the NTFS file system (NTFS). FAT does not support file and directory security, whereas NTFS does. To better secure your operating system, you should select the file system that supports file- and directory-level security. To best protect your operating systems from compromise, configure security on files and directories according to the rule of least privilege. This means giving each person or group only the required amount of access and nothing more. For example, if all the users in the marketing department need access to read, but not change, a file you should give them read access only, and nothing more. By limiting permissions you can protect files from being accessed or deleted by attackers who are able to compromise a trusted user account. Further, you help to prevent accidental deletions by legitimate users. Data Encryption Some file systems, such as NTFS in Windows 2000 and Windows XP, enable you to encrypt data. You should encrypt all files that you are concerned about keeping private. Although file system permissions should protect your files, encryption adds an additional layer of protection. For more information on data encryption, see Chapter 3, Chapter 4, and Chapter 6. Shared or Exploited Data Sharing files and folders is common and so is the exploitation of those shares. To secure your shared files and folders, you can typically configure access controls on them, commonly referred to as share permissions or export permissions. Be sure to follow the rule of least privilege when granting access to shared files and directories.
Operating System HardeningOperating system hardening means securing the operating system. Many of the security tips already covered in this lesson can be applied directly to hardening the operating system, including the following:
In addition to taking those precautions, you should consider the following to better protect your operating system:
There are many specific recommendations and guidelines available for a variety of operating systems available on the Internet. Here are some links to recommendations for specific operating systems:
Lesson 2 discusses securing specific types of servers. Servers present specific challenges because they must often run additional protocols and provide additional services that can potentially be exploited by attacks.
Exercise: Using MD5MD5 can be used to verify the integrity of files, and you can download and use it with a wide variety of operating systems. Many Web sites and vendors post MD5 checksums so that you can verify that the file they post is the file you downloaded. In this exercise you locate the MD5.exe file and learn how to use it. You create three files and see the effect on the MD5 hash when you change one of those files.
You should see that the first and third files have the same hash value, but the value of the second is different.
Lesson ReviewThe following questions are intended to reinforce key information presented in this lesson. If you are unable to answer a question, review the lesson and then try the question again. Answers to the questions can be found in Appendix A, "Questions and Answers."
Lesson Summary
Lesson 2: Server Application HardeningTechniques for protecting client applications were presented in Chapter 6. This lesson focuses on securing network servers, and specifically the services they provide to network clients. Before you secure a network server, you should secure its operating system. All sections in this lesson assume that you have already secured the operating system, as discussed in Lesson 1.
After this lesson, you will be able to
Estimated lesson time: 60 minutes In this lesson the focus is on general security tips for specific types of servers. Beyond securing the host operating system, there are some additional security tips, presented here, that apply to all types of servers:
Web ServersMany organizations use Web servers to provide information and services to the public and internally on their private networks. Web servers that provide services to the public are typically referred to as Internet Web servers or public Web servers; those providing services to the private network are called intranet Web servers or private Web servers. Internet Web servers are typically considered to be at greater risk because they are exposed to a larger number of anonymous users. For this reason, Internet Web servers are typically located in a perimeter networks (also known as a DMZ, demilitarized zone, or screened subnet), whereas intranet Web servers are typically located on the internal network. All of the security considerations mentioned in this section can be applied equally to either type of Web server.There are many different software vendors that provide Web servers today. In addition, many applications come with the added ability to share documents or information over a Web protocol [Hypertext Transfer Protocol (HTTP)], effectively making them Web servers. So many exploits exist for Web servers that entire books are dedicated to securing Web services. The text that follows includes a brief discussion of three potential Web server exploits: packet sniffing, directory listing, and 8.3 compatible file names. After the discussion of exploits, we review some general guidelines on how to secure a Web server.
Packet Sniffing Web clients typically contact Web servers over the well-known TCP port 80. The port the Web server sends information to is dynamically negotiated during the TCP handshake. Normal HTTP communications are not encrypted and can be easily captured and decoded by a protocol analyzer. Methods for encrypting Web communications were covered in Chapter 6. Directory Listing Automatic directory listings, enabled by some Web servers, allow a client browser to see the contents of a directory when no default document is specified or available. A default document is the page that is loaded when a client navigates to a specific directory. For example, many Web servers specify a default document of index.html. When a client browser makes a connection to the Web server, the default document is loaded. However, if the client connects directly to a subdirectory without a default document, the client sees a listing of files and folders that is in the subdirectory. Attackers might use this feature to browse your Web server's directory structure and available files, which is called directory enumeration. To help prevent directory enumeration, disable automatic directory listings. Once this is done, your Web server posts an error message when the default document cannot be found.
8.3 Compatible File Names Microsoft Windows 32-bit operating systems support two types of file names. The first type is called a long file name (LFN), which allows for file names of up to 255 characters. The second is the 8.3 compatible file name, which allows for eight-character file names plus a three-character file extension. Figure 8-5 illustrates a file named Longfilename.txt and its 8.3 compatible file name Longfi~1.txt. Figure 8-5 Example 8.3 compatible name The 8.3 compatible names are created to allow older 16-bit programs to work appropriately with files in the newer 32-bit Windows operating systems. Unfortunately, if you use the Web server application only to control access to files, an attacker can open a file using the 8.3 compatible file names without restrictions. Web servers that run on Windows 32-bit platforms might be vulnerable to this exploit. Some software vendors have released updates to correct this problem and others advise you to disable 8.3 compatible file name support.
General Tips for Securing a Web Server Instead of reviewing the multitude of potential Web server exploits and corrective actions, this section lists some general steps that you can take to secure a Web server. First, Web servers are most secure when you configure them as bastion hosts, meaning that you secure them as much as possible by removing as many services and programs from them as possible. The job of the Web server should be to serve Web pages and nothing more. Don't configure a Web server as a printer server or file server because that opens up additional avenues for exploitation. In addition to the items mentioned previously, here are some further items to consider when securing Web servers:
FTP ServersLike Web servers, FTP servers can be used to serve internal or external users. Public FTP servers are typically open to everyone on the Internet, whereas private FTP servers are typically secured for internal use only. In Chapter 6, you learned about client-side exploits for FTP communications. In this section you learn about FTP server exploits. In addition to the general issues discussed at the beginning of this lesson, FTP servers can be exploited in the following ways:
When setting up an FTP server for private or public access, you should consider the security implications of doing so. Here are some items to consider when setting up and securing an FTP server:
E-Mail ServersE-mail servers and clients are vulnerable to many different exploits. In Chapter 6, you learned about ways in which e-mail client communications could be compromised, including e-mail forgery and packet sniffing. You learned there that you could use encryption and digital signatures to solve those issues. In this section, you get to see ways in which e-mail servers are exploited and measures that can be used to secure them. E-mail servers are typically compromised in the following ways:
To protect your e-mail servers from those exploits, you can take the following actions:
DNS ServersDNS is an integral part of most communications occurring over TCP/IP networks today. The DNS server converts friendly computer names (host names) into IP addresses so that communications can be correctly routed through the network. Client computers user DNS to locate Web servers, FTP servers, e-mail servers, and a wide variety of other servers and network services. DNS can be an important target for an attacker. The potential ways in which DNS can be exploited include the following:
To secure your DNS server from the types of exploits just listed, consider taking the following actions:
File and Print ServersEvery major operating system vendor provides a way for you to share files and printers on your network. Although sharing files and printers is considered a necessary and reasonable activity, it is also a common way in which hackers gain information and unauthorized access.Two of the most popular file sharing protocols are the Network File System (NFS) and Server Message Block (SMB). NFS is typically associated with UNIX networks, but there are add-ons to allow other operating environments, such as those from Microsoft and Novell, to share files over NFS. SMB is typically associated with Microsoft File and Printer Sharing, especially over the Network Basic Input/Output System (NetBIOS). However, there are products, such as Samba, that allow other operating environments to share files over SMB. Attackers can use both NFS and SMB/NetBIOS file and printer shares to gain inappropriate information and access to your network in the following ways:
Consider the following methods for securing your file and printer shares:
DHCP ServersDHCP provides IP addresses automatically to client computers. When clients request an address, they broadcast a DHCP Discover packet on the network. DHCP servers respond with a DHCP Offer packet that contains a range of valid addresses from which the client can choose. The client chooses an address using a DHCP Request packet and the server acknowledges the request with a DHCP Acknowledge packet. Attackers can attempt to use or interrupt the DHCP address lease process in the following ways:
Consider the following solutions to these issues:
NNTP ServersNNTP allows news clients to connect to news servers to read and post messages. NNTP can be used to share information among colleagues privately or to post articles to a public NNTP server. In addition to the problems common to almost all server software, such as buffer overflows, attacker exploits of NNTP can also include the following:
The following are some ways to protect your organization from NNTP server exploits:
Data RepositoriesData repositories are locations that hold information about your network or organization, such as user accounts, computer accounts, directories, maps, and so on. Attackers can use the information stored in data repositories to formulate attacks against your organization. Therefore, you must ensure that this information is as limited and restricted as possible, while still meeting the informational needs of your organization. Most techniques to protect this information involve authentication and encryption. The following sections cover securing directory services and databases.Directory Services In computer networking, a directory service is any information storage and retrieval process that provides information about an organization's network. The information in a directory service can include computer accounts, user accounts, mail accounts, service locations, and shared resource information. The Lightweight Directory Access Protocol (LDAP) is a common directory service on many networks today that organizes data in a hierarchical fashion. The top of the hierarchy is called the LDAP root. The LDAP root server creates the hierarchy and the rest of the structure (and resources) branch out from that location. LDAP uses objects to represent computers, user accounts, shared resources, services, and so on. These objects are usually referred to by a name called the common name. Objects are organized into containers called organizational units (OUs). The directory service hierarchy and the information it stores provide a good map of your network infrastructure. Although this is convenient and useful for legitimate users on your network, it can also be quite useful to an attacker. There are two basic ways in which attackers try to compromise LDAP servers:
To protect your LDAP hierarchy, consider implementing the following controls:
Databases As you know, database servers store data, and both the data and the database server are potential targets for an attacker. An attacker might seek to compromise or disrupt your database server communications, steal your data, or take over your database server. In addition to the common software problems described at the beginning of this lesson (such as buffer overflows), database servers can be exploited in the following ways:
Here are some items you should consider that could help to secure your database server:
Exercise: Port MatchingMatch the services in the left column with the correct TCP/UDP ports on which the service is provided in the right column:
Lesson ReviewThe following questions are intended to reinforce key information presented in this lesson. If you are unable to answer a question, review the lesson and then try the question again. Answers to the questions can be found in Appendix A, "Questions and Answers."
Lesson Summary
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||