Chapter 13
Authentication and Access Control

THE FOLLOWING COMPTIA NETWORK+ EXAM OBJECTIVES ARE COVERED IN THIS CHAPTER:

✓ 1.1 Explain the purposes and uses of ports and protocols

  • SSH 22
  • RDP 3389

✓ 1.3 Explain the concepts and characteristics of routing and switching

  • Access Control List

✓ 2.3 Explain the purposes and use cases for advanced networking devices

  • AAA/RADIUS server

✓ 3.4 Given a scenario, use remote access methods

  • VPN
    • IPSec
    • SSL/TLS/DTLS
    • Site-to-site
    • Client-to-site
  • RDP
  • SSH
  • Out-of-band management
  • Console Router
  • VNC

✓ 3.5 Identify policies and best practices

  • Remote access policies

✓ 4.1 Summarize the purposes of physical security devices.

  • Smart cards

✓ 4.2 Explain authentication and access controls

  • Authorization, authentication, and accounting
    • RADIUS
    • TACACS+
    • Kerberos
    • Single sign-on
    • Local authentication
    • LDAP
    • Certificates
  • Multifactor authentication
    • Something you know
    • Something you have
    • Something you are
    • Somewhere you are
    • Something you do
  • Access control
    • 802.1X
    • NAC
    • MAC filtering
    • Captive portal
    • Access control lists

So far, you’ve learned a lot about networking standards and related technologies and even how to make computers and devices communicate so you can get a network up and running. But there’s more—because network security is absolutely critical, I’m going to equip you with the knowledge you need to keep your network safe from intruders.

Yes, communication and accessing the information you need is all good, but knowing exactly who it is at the other end of the connection is vital. This means you need ways to confirm that the person or computer at the other end of the connection is really supposed to be accessing the resource it’s trying to, and even whether the resources or entities that you’re contacting are really who and what they appear to be. Seriously, if you don’t have network security firmly in place, you’re flying dangerously blind—you could be inadvertently exposing critical data to people who have no right to see that information and may even intend to exploit it in a big way! So, in this chapter, we’ll focus on some very important pieces of the security puzzle; two of the first things on our list are security filtering and user authentication.

To find Todd Lammle CompTIA videos and practice questions, please see www.lammle.com/network+.

Security Filtering

How do we know who’s really at the other end of our connections? The answer to that may seem simple enough because the computer or person on the other end must identify him/her/itself, right? Wrong! That’s just not good enough because people—especially hackers—lie, so it’s totally naïve to assume that the person or computer on the other end of the line is who they’re claiming to be. Sad but true: Hackers use the many tools out there today with the precise goal of convincing us they’re someone else, and way too many of us have been, or know of someone who has been, a victim of identity theft thanks to bad guys with the right spoofing software in hand.

This means it’s imperative to control who or what can get into our network by identifying the specific computers and individuals who have the right to gain access to it and its resources. But how do we do this? Well, for starters, I’m going to cover some basic ways to safely allow the computers you want to have access into your network plus ways to keep out the ones you don’t.

The first line of defense is something called security filtering, which broadly refers to ways to let people securely access your resources. This process is twofold and includes ensuring that only authorized computers get to enter your network and making sure data you’re sending back and forth between networks is secured so it can’t be intercepted and translated by bad guys.

Access Control Lists

It’s rare to find a network around these days that isn’t connected to the Internet. The Internet is clearly a public internetwork that anyone can connect to, but your company’s or personal network is, and should definitely be, a private one. The catch here is that every time you connect to the Internet (where everyone is welcome) from a private network, you’re instantly vulnerable to security break-ins. This is where something we call a firewall comes into play. Firewalls are basically tools that you can implement to prevent any unauthorized users roaming around on public networks from gaining access to your private network.

I’ll be covering the different types of firewalls, plus give you the skinny on exactly how they work, in Chapter 15, “Physical Security and Risk.” For now, understand that firewalls can be either stand-alone devices or combined with another hardware device like a server or a router. And although firewalls can use a lot of various technologies to restrict information flow, their primary weapon is known as an access control list (ACL).

Access control lists (ACLs) typically reside on routers to determine which packets are allowed to route through them based on the requesting device’s source or destination Internet Protocol (IP) address. Oh, and just so you know, ACLs have been around for decades and have other uses apart from firewalls.

Figure 13.1 demonstrates how ACLs prevent users on Network B from accessing Network A.

Figure 13.1 Two networks with an ACL-enabled router

Image shows network B “public” network connected to network A “private” network through router where A can access B and B can access A if secure authenticated connection is detected.

Okay, what we see here is that users in Network A can pass through the router into Network B. This means that an IP spoofing attack, when someone pretends to have a network address on the inside of a firewall to gain network access, can still happen if a user in Network B pretends to be located in Network A. We’ll go over things like IP spoofing more thoroughly in Chapter 14, “Network Threats and Mitigation,” but for now, let’s get back to ACLs.

You can create a wide array of ACLs, from the very simple to the highly complex, depending on exactly what you want to have them do for you. One example is placing separate inbound and outbound ACLs on a router to ensure that the data that’s leaving your network comes from a different source than the data that’s coming into it.

When configuring ACLs between the Internet and your private network to mitigate security problems, it’s a good idea to include these four conditions:

  • Deny any addresses from your internal networks.
  • Deny any local host addresses (127.0.0.0/8).
  • Deny any reserved private addresses.
  • Deny any addresses in the IP multicast address range (224.0.0.0/4).

None of these addresses should ever be allowed to enter your internetwork. Interestingly enough, because of the way in which in-public IP addresses are issued, with some research you can create a filter that blocks a country, state, or even locale based on IP addresses!

MAC Filtering

Most of the time, it’s wise to configure ACLs so that they’ll allow or deny access based on the IP address of the source or destination device. If your network is running a protocol other than Transmission Control Protocol/Internet Protocol (TCP/IP), you can filter traffic based on a Media Access Control (MAC), or hardware, address instead of an IP address. You can still use a MAC address–based ACL if you’re running TCP/IP, but keep in mind that it’s a lot easier to deal with IP addresses than MAC addresses. Another point to remember is that even though most firewalls and routers will allow you to create both IP-based and MAC-based ACLs, doing so can create an exceptionally ugly situation where access is denied when it really shouldn’t be.

Port Filtering

ACLs can also be used to filter based on port numbers as well as IP addresses. In fact, most firewalls default to allowing only the open ports that you specify. This is another version of the implicit deny (anything not allowed specifically is denied).

When managing a firewall, it’s important to know the port numbers of all traffic that needs to be allowed through it. This means that for some of your applications, you will need to read and learn the port numbers being used.

This also explains why it’s a big deal to know the port numbers of security protocols like SSL and IPSec. Successful firewall management involves being aware of and allowing only the ports to keep things running.

Tunneling

Just thinking about the huge amount of sensitive data bouncing all over the Internet 24/7 makes me want to scream the word security! It’s seriously clear that we need it almost as much as air. Worse, most of that data is sent out over the Internet without any encryption or security, but at least not the really sensitive stuff, which should be sent via one of several different security protocols available today—phew. These vital protocols are really sets of conditions or rules that define how a secure connection is maintained when we send sensitive data through an unsecure medium like the Internet or a wireless connection. Before talking about the security protocols that the Network+ exam is likely to quiz you on, I’d like to define a few terms.

The first is a concept called tunneling, which basically means encapsulating one protocol within another to ensure that a transmission is secure. Here’s an example: The lion’s share of us use IP, known as a payload protocol, which can be encapsulated within a delivery protocol like Internet Protocol Security (IPSec). If you took a look at these packets individually, you would see that they’re encrypted. If you look at the process as a whole, it appears that a point-to-point tunnel is created on the Internet, as Figure 13.2 illustrates. (Make a note to yourself that usually the tunneled protocol is running at a higher layer in the OSI model than the payload protocol, but not always.)

Figure 13.2 A tunnel through the Internet

Imahge described by caption and surrounding text

The Network+ exam will test your understanding of the following tunneling protocols:

  • Virtual Private Network (VPN)
  • Secure Sockets Layer (SSL)
  • Secure Sockets Layer Virtual Private Network (SSL VPN)
  • Datagram Transport Layer Security (DTLS)
  • Layer 2 Tunneling Protocol (L2TP)
  • Point-to-Point Tunneling Protocol (PPTP)
  • Generic Routing Encapsulation (GRE)
  • Internet Protocol Security (IPSec)
  • ISAKMP

Let’s dig in and take a detailed look at each one now.

Virtual Private Network

No worries—VPNs aren’t really that hard to understand. A VPN fits somewhere between a LAN and WAN, and many times may seem just like a WAN link because your computer, on one LAN, connects to a different, remote LAN and uses its resources remotely. The key difference with VPNs is a big one—security! So the definition of connecting a LAN (or VLAN) to a WAN may sound the same, but a VPN is much more.

Here’s the difference: A typical WAN connects two or more remote LANs together using someone else’s network—like, say, your Internet service provider’s (ISP’s)—and a router. Your local host and router see these networks as remote networks and not as local networks or local resources. This would be a WAN in its most general definition. A VPN actually makes your local host part of the remote network by using the WAN link that connects you to the remote LAN. The VPN will make your host appear as though it’s actually local on the remote network! This means that we now have access to the remote LAN’s resources and that access is very secure.

This may sound a lot like the VLAN definition I just used in Chapter 11, “Switching and Virtual LANs,” and really, the concept is the same: “Take my host and make it appear local to the remote resources.” Just remember that for networks that are physically local, using VLANs is a good solution, but for networks that are physically remote—those that span a WAN—we’d opt for using VPNs instead.

For a simple VPN example, let’s use my home office in Boulder, Colorado. Here, I have my personal host, but I want it to appear as if it’s on a LAN in my corporate office in Dallas, Texas, so I can get to my remote servers. VPN is the solution I use for this because I need the security it provides.

Figure 13.3 shows this example of my host using a VPN connection from Boulder to Dallas, which allows me to access the remote network services and servers as if my host is right there on the same VLAN as my servers.

Figure 13.3 Example of using a VPN network

Image shows example of VPN network in which host in Colorado uses VPN connection to access remote network services and secure VLAN at Dallas corporate office.

Why is this so important? If you answered, “Because my servers in Dallas are secure, and only the hosts on the same VLAN are allowed to connect to them and use their resources,” you nailed it! A VPN allows me to connect to these resources by locally attaching to the VLAN through a VPN across the WAN. The other option is to open up my network and servers to everyone on the Internet or another WAN service, in which case my security goes poof! So you can see that it’s a very good thing I have a VPN.

Types of VPNs are named based on the kind of role they play in a real-world business situation. There are three different categories of VPNs:

Client-to-Site (Remote-Access) VPNs Remote-access VPNs allow remote users like telecommuters to securely access the corporate network wherever and whenever they need to. It is typical that users can connect to the Internet but not to the office via their VPN client because they don’t have the correct VPN address and password. This is the most common problem and one you should always check first.

Host-to-Host VPN A host-to-host VPN is somewhat like a site-to-site in concept except that the endpoints of the tunnel are two individual hosts. In this case all traffic is protected from the time it leaves the NIC on one host until it reaches the NIC of the other host.

Site-to-Site VPNs Site-to-site VPNs, or intranet VPNs, allow a company to connect its remote sites to the corporate backbone securely over a public medium like the Internet instead of requiring more expensive wide area network (WAN) connections like Frame Relay. This is probably the best solution for connecting a remote office to a main company office.

Extranet VPNs Extranet VPNs allow an organization’s suppliers, partners, and customers to be connected to the corporate network in a limited way for business-to-business (B2B) communications.

SSL and SSL VPN

Next on the list is Secure Sockets Layer (SSL). This security protocol was developed by Netscape to work with its browser. It’s based on Rivest, Shamir, and Adleman (RSA) public-key encryption and used to enable secure Session layer connections over the Internet between a web browser and a web server. SSL is service independent, meaning a lot of different network applications can be secured with it—a famous one being the ubiquitous HTTP Secure (HTTPS) protocol. As time marched on, SSL was merged with other Transport layer security protocols to form a new protocol called Transport Layer Security (TLS). The latest version of Transport Layer Security (TLS 2.0) provides a number of enhancements over earlier versions. The following are the most noteworthy:

  • Several improvements in the operation of a central component, the MD5/SHA-1 hashing function. Hashing functions are used to ensure that the data is not changed or altered (also known as maintaining data integrity).
  • More flexibility in the choice of hashing and encryption algorithms on the part of the client and the server.
  • Enhanced support for the Advanced Encryption Standard (AES).

Figure 13.4 shows the SSL connection process.

Figure 13.4 The SSL connection process

Image shows SSL connection process in which connection request is sent from PC to server and receives secure connection needed, security capabilities, and SSL connection established back from server.

SSL VPN is really the process of using SSL to create a virtual private network (VPN). A VPN is a secured connection between two systems that would otherwise have to connect to each other through a non-secured network. Here’s what I mean: Even though I’d never really let this happen, let’s just say I could connect to the servers in my corporate office through the Internet like, snap! You know by now that this would be a very bad thing because the Internet is far from secure, right? But if I connected to those servers using a VPN with a tunneling protocol instead, anything I send from my PC to my corporate office would be locked up nice and securely.

Plus, VPNs also come in handy for data that’s being sent within a private network that you probably wouldn’t want everyone on that network to be able to see. Maybe you want a few specific computers on the intranet to be able to communicate with each other securely—like, say, the computers used by your top finance people. You wouldn’t necessarily want that data just sent off in the clear to be viewed by the office gossip, now would you? No way. So, you can put those finance folks on a VPN that’s just like having them on their own little private, secure subnetwork. Plus, what’s even cooler about this setup is that the members of your intranet’s VPN can still communicate with everyone else whenever they want; they just won’t be doing that securely—nice solution!

DTLS

Datagram Transport Layer Security (DTLS) provides security for datagram-based applications by allowing them to communicate in a way that is designed to prevent eavesdropping, tampering, or message forgery. It is based on the stream-oriented Transport Layer Security (TLS) protocol and is intended to provide similar security guarantees.

L2TP

Next, we have the Layer 2 Tunneling Protocol (L2TP), which was created by the Internet Engineering Task Force (IETF). It comes in handy for supporting non-TCP/IP protocols in VPNs over the Internet. L2TP is actually a combination of Microsoft’s Point-to-Point Tunneling Protocol (PPTP) and Cisco’s Layer 2 Forwarding (L2F) technologies. A nice L2TP feature is that, because it works way down there at the Data Link layer (Layer 2) of the OSI model, it can support tons of protocols beyond just TCP/IP—a couple of biggies being Internetwork Packet Exchange (IPX) and AppleTalk. It’s a really great tool to implement if you happen to have two non-TCP/IP networks that need to be connected via the Internet.

PPTP

I just mentioned Point-to-Point Tunneling Protocol (PPTP), and even though I said it was Microsoft’s PPTP, this security protocol was really developed jointly by Microsoft, Lucent Technologies, 3COM, and a few other companies. Oh, and it’s not actually sanctioned by the IETF, but that doesn’t mean it doesn’t work. PPTP acts by combining an unsecured Point-to-Point Protocol (PPP) session with a secured session using the Generic Routing Encapsulation (GRE) protocol.

Because PPTP uses two different protocols, it actually opens up two different network sessions: so be warned, PPTP can give you some grief when passing through a router. This is a big reason you won’t find it around much nowadays. Another reason it’s going the way of the dinosaurs is that it originally gained popularity because it was the first VPN protocol to be supported by Microsoft’s dial-up networking services, and not too many of us depend on dial-up to get to the Internet anymore. As if these aren’t reasons enough for PPTP’s impending extinction, it’s also not that secure. In fact, as you’d probably expect from a first-generation security protocol, it’s now really vulnerable to spoofing attacks, which is why it’s pretty much been replaced by L2TP and IPSec.

PPTP is a VPN protocol that runs over port 1723 and allows encryption to be done at the Application (data) level. It is important to remember for the CompTIA Network+ exam that PPTP is a protocol that allows secure access to a VPN.

GRE

Generic Routing Encapsulation (GRE) is a tunneling protocol that can encapsulate many protocols inside IP tunnels. Some examples would be routing protocols such as EIGRP and OSPF and the routed protocol IPv6. Figure 13.5 shows GRE.

Figure 13.5 GRE encapsulation

Image shows GRE encapsulation that has GRE tunnel (carrier protocol) between IP VPN site (passenger protocol), IP network (transportation protocol), IP VPN site (passenger protocol).

A GRE tunnel interface supports a header for each of the following:

  • A passenger protocol or encapsulated protocols like IP or IPv6, which is the protocol being encapsulated by GRE
  • GRE protocol
  • A Transport delivery protocol, typically IP

GRE tunnels have the following characteristics:

  • GRE uses a protocol-type field in the GRE header so any Layer 3 protocol can be used through the tunnel.
  • GRE is stateless and has no flow control.
  • GRE offers no security.
  • GRE creates additional overhead for tunneled packets—at least 24 bytes.

IPSec

On the other hand, IP Security (IPSec) was designed by the IETF for providing authentication and encryption over the Internet. It works at the Network layer of the OSI model (Layer 3) and secures all applications that operate in the layers above it. Because it’s sanctioned by the IETF and designed to work with IPv4 and IPv6, it’s got a huge amount of industry support, so it’s the standard for VPNs on the Internet today.

The two major protocols you’ll find working in IPSec are Authentication Header (AH) and Encapsulating Security Payload (ESP). AH serves up authentication services only—no encryption—but ESP provides both authentication and encryption abilities. Both of these protocols can be used with either mode discussed in the following paragraphs.

The AH protocol within IPSec isn’t compatible with networks running Network Address Translation (NAT).

IPSec works in two modes: transport mode and tunneling mode. Transport mode creates a secure tunnel between two devices end to end. This means that regardless of how many foreign networks (including the Internet) the packet traverses, it is protected. The data is protected by authentication and/or encryption. Figure 13.6 illustrates a TCP/IP packet and a TCP/IP packet in transport mode using AH. ESP can also be used with transport mode.

Figure 13.6 TCP/IP packet in IPSec transport mode with AH

Image shows data flow in standard TCP/IP packet and TCP/IP packet with AH in transport mode that has TCP/IP payload, TCP header, destination IP address, source IP address, and IP header.

On the other hand, in tunnel mode, the tunnel is created between two endpoints, such as two routers or two gateway servers, protecting all traffic that goes through the tunnel. It is commonly used between two offices to protect all traffic going between the offices regardless of the source and destination. Figure 13.7 first shows a TCP/IP packet and then depicts one using ESP in tunnel mode. AH can also be used with tunnel mode.

Figure 13.7 TCP/IP packet in IPSec tunnel mode with ESP

Image shows data flow in standard TCP/IP packet and TCP/IP packet with ESP in tunneling mode that has TCP/IP payload, TCP header, destination IP address, source IP address, and IP header.

You can see here that when data is tunneled in this way, hackers can’t even see what transport protocol you’re using, let alone decipher the data you’re transmitting.

ISAKMP

Internet Security Association and Key Management Protocol (ISAKMP) defines procedures and packet formats to establish, negotiate, modify, and delete security associations (SAs). SAs contain information required to execute security services, such as header authentication and payload encapsulation. ISAKMP’s real value is its ability to provide a framework for safely transferring key and authentication data independent of the key generation technique, encryption algorithm, and authentication mechanism. ISAKMP is integrated into another security mechanism we have already discussed, IPSec.

Encryption

Sometimes, like it or not, sending out corporate financial and other types of sensitive data over the Internet just can’t be avoided. This is why being able to hide or encode that data with encryption technologies is so vital for shielding it from the prying eyes of a company’s competitors, identity thieves—anyone who wants to take a look. Without encryption, our sensitive files and information are essentially being paraded on full display as the data courses over the Internet.

Encryption works by running the data (which when encoded is represented as numbers) through a special encryption formula called a key that the designated sending and receiving devices both “know.” When encrypted data arrives at its specified destination, the receiving device uses that key to decode the data back into its original form.

Back in 1979, the National Security Agency (NSA) classified encryption tools and their associated formulas as munitions, and the NSA has overseen their regulation ever since. The dangerous possibility that hostile nations, terrorists, and criminals may use encrypted communications to plan crimes and go undetected is the compelling reason for doing so. It’s also the reason that we’re only allowed to export weak encryption methods.

This brings up an important question: Exactly how do we measure an encryption algorithm’s strength? One way to do that is to measure its bit strength. Until 1998, only software with 40-bit strength or less could be exported, but today, the bar has been raised to 64-bit strength. And by the way, exporting any software with a key length greater than 64 bits is subject to review by the Export Administration Regulations (EAR) required by the U.S. Department of Commerce’s Bureau of Industry and Security. This doesn’t include exporting to every country because some—like most of those in Western Europe plus Canada, Australia, and Japan—are countries we trust with the technology. But if you happen to be curious or just want to be really careful, check out the current regulations at www.bis.doc.gov/index.php/regulations#ear. Remember, these regulations aren’t there to make life a hassle; they’re in place to protect us. The greater the number of bits that are encrypted, the tougher it is to crack the code.

Clearly, the security of monetary transfers is extremely important. The NSA does allow U.S. banks to use more secure encryption methods for this reason and to ensure that they communicate very securely with their overseas branches, customers, and affiliates.

Encrypting passwords being sent from a workstation to a server at login is the most basic need for internal networks, and it’s done automatically by most network operating systems today. But legacy utilities like File Transfer Protocol (FTP) and Telnet don’t have the ability to encrypt passwords. Most email systems also give users the option to encrypt individual (or all) email messages, and third-party software packages like Pretty Good Privacy (PGP) are used by email systems that don’t come with encryption abilities of their own. And you already know how critical encryption is for data transmission over VPNs. Last but not least, encryption capability is clearly very important for e-commerce transactions, online banking, and investing.

I mentioned this earlier, but I didn’t tell you exactly what it is: An encryption key is essentially a random string of characters that is used in conjunction with the encryption algorithm. The algorithm is the same for all transactions, but the key is unique to each transaction. Encryption keys come in two flavors: public and private. I’m going to tell you how each one is used next.

Symmetrical Encryption Keys

Using symmetrical key encryption, both the sender and receiver have the same key and use it to encrypt and decrypt all messages. The downside of this technique is that it becomes hard to maintain the security of the key. When the keys at each end are different, it is called asymmetrical or public key. We’ll talk about that right after we discuss some encryption standards.

The Data Encryption Standard (DES)

Kudos go to IBM for coming up with one of the most widely used standards: Data Encryption Standard (DES). It was made a standard back in 1977 by the U.S. government. If you want, you can look it up in the Federal Information Processing Standards Publication 46-2 (FIPS 46-2).

Basically, DES uses lookup and table functions, and it actually works much faster than more complex systems. It uses 56-bit keys. RSA Data Systems once issued a challenge to see if anyone could break the key. A group of Internet users worked together to attempt the task, with each member dealing with a portion of the 72 quadrillion possible combinations. They succeeded and cracked the key in June 1997, after searching only 18 quadrillion keys. Their prize? Knowing they had succeeded when they read a plain-text message that said, “Strong cryptography makes the world a safer place.”

Back in the day, DES was a great security standard, but its 56-bit key length has proved to be too short. As I said, the key was first cracked in June 1997. A year later, one was cracked in just 56 hours, and in January 1999, a DES key was broken in a blazing 22 hours and 15 minutes! Not exactly secure, right? We definitely needed something stronger.

Triple Data Encryption Standard (3DES)

That’s when Triple Data Encryption Standard (3DES, also referred to as TDES) came into its glory. Originally developed in the late 1970s, it became the recommended method of implementing DES encryption in 1999. As its name implies, 3DES is essentially three DES encryption methods combined into one.

So 3DES encrypts three times, and it allows us to use one, two, or three separate keys. Clearly, going with only one key is the most unsecure, and opting to use all three keys gives you the highest level of security. Three-key TDES has a key length of 168 bits (56 times 3), but due to a complex type of attack known as meet-in-the-middle, it really provides only 112 bits of security. It gets worse farther down the food chain—even though the two-key version has a key size of 112 bits, it actually arms you with only 80 bits of effective security.

Another problem with 3DES is that it’s slow. No one likes that, so the National Institute of Standards and Technology (NIST) believes that 3DES will be an effective encryption standard only until sometime around 2030. Even now, it’s being phased out in favor of faster methods like AES.

The Advanced Encryption Standard (AES)

The Advanced Encryption Standard (AES, also known as Rijndael) has been the “official” encryption standard in the United States since 2002. It specifies key lengths of 128, 192, and 256 bits.

The U.S. government has determined that 128-bit security is adequate for things like secure transactions and all materials deemed Secret, but all Top Secret information must be encoded using 192- or 256-bit keys.

The good news is that the AES standard has proven amazingly difficult to crack. Those who try use a popular method involving something known as a side channel attack. This means that instead of going after the cipher directly, they attempt to gather the information they want from the physical implementation of a security system. Hackers attempt to use power consumption, electromagnetic leaks, or timing information (like the number of processor cycles taken to complete the encryption process) to give them critical clues about how to break the AES system. Although it’s true that attacks like these are possible to pull off, they’re not really practical to clinch over the Internet.

Public-Key Encryption

Public-key encryption uses the Diffie-Hellman algorithm, which employs a public key and a private key to encrypt and decrypt data. This is called asymmetric encryption. It works like this: The sending machine’s public key is used to encrypt a message that is decrypted by the receiving machine with its private key. It’s a one-way communication, but if the receiver wants to send a return message, it does so via the same process. If the original sender doesn’t have a public key, the message can still be sent with a digital certificate that’s often called a digital ID, which verifies the sender of the message.

Figure 13.8 shows public-key-encrypted communication between User X and User Y.

Figure 13.8 Public-key encryption

Image shows public-key-encrypted communication between User X and User Y in which original message encrypted from User X is “Y&Z!8:” >)(hb& gf%^dc yH98Y” which is decrypted using User Y’s private key as “milk bread eggs cat food.”

Here’s a cool factoid for you—Diffie-Hellman refers to all public-key algorithms. Whitfield Diffie and Martin Hellman from the Stanford Research Institute invented public-key encryption. They introduced the dual-key concept in their 1976 paper “New Directions in Cryptography.”

RSA Data Security

Rivest, Shamir, and Adleman (RSA) encryption is a public-key algorithm named after the three scientists from MIT who created it. They formed a commercial company in 1977 to develop asymmetric keys and nailed several U.S. patents. Their encryption software is used today in electronic commerce protocols.

For more information about RSA Data Security, go to www.rsa.com.

Pretty Good Privacy (PGP)

In the early 1990s, Phil Zimmerman (also from MIT) wrote most of the code for this freely available version of public-key encryption designed to encrypt data for email transmission. Zimmerman basically compared email to postcards, because anyone can read email messages traversing the Internet just as they can postcards traveling through the postal service. By contrast, he compared an encrypted message to a letter mailed inside an envelope. Figure 13.9 shows the PGP encryption system.

Figure 13.9 The PGP encryption system

Images show encrypted process: document, key store, encrypted with public key, Ciphertext plus encrypted session key and decryption process: encrypted message, encrypted session key, recipient’s private key, session key to decrypt Ciphertext, and document.

In Figure 13.9, the document is encrypted with a session key, which is then encrypted with the public key of the recipient. Then the ciphertext and the encrypted session key are sent to the recipient. Since the recipient is the only person with the matching private key, only they can decrypt the session key and then use it to decrypt the document.

Zimmerman distributed the software for personal use only, and as the name implies, it’s really pretty good security.

RSA Data Security and the U.S. federal government both had a problem with Zimmerman’s product—the RSA complained about patent infringement, and the government actually decided to prosecute Zimmerman for exporting munitions-grade software. The government eventually dropped the charges, and now a licensing fee is paid to RSA, so today, PGP and other public-key-related products are readily available.

Don’t let the name fool you! PGP is a highly secure encryption standard.

Remote Access

Think of remote access as a telecommuting tool because it’s used by companies to allow remote employees to connect to the internal network and access resources that are in the office. Remote access is great for users who work from home or travel frequently, but clearly, to a stalking hacker, using an unsecured remote-access connection is like stealing candy from a baby.

Using remote access requires a server configured to accept incoming calls and also requires remote-access software to be installed on the client. Microsoft Windows operating systems, since Windows 95, have had remote-access client software built in, and there are many third-party remote-access clients available as well. Several different methods exist to create remote-access connections.

RAS

Remote Access Services (RAS) is not a protocol but refers to the combination of hardware and software required to make a remote-access connection. The term was popularized by Microsoft when the company began referring to its Windows NT–based remote-access tools by this name. Users would dial in via a modem, be authenticated by the server, and then be asked for their username and password just as if they were on the local network. Once logged in, users had access to data on the internal network just as if they were logged in locally. Figure 13.10 gives you an idea of what this would look like.

RAS itself was not secure, but there are options within RAS to include a secure protocol for tunneling, such as PPTP, and for authentication, such as Microsoft Challenge Handshake Authentication Protocol (MS-CHAP) and Extensible Authentication Protocol (EAP). RAS is versatile because it supports several other network protocols in addition to TCP/IP.

Figure 13.10 A typical remote-access connection between a remote user and a server

Image shows remote-access connection between remote user and server where remote access client connected through network to remote resources such as remote access server and printer through router.

RDP

Remote Desktop Protocol (RDP) allows users to connect to a computer running Microsoft’s Remote Desktop Services, but a remote computer must have the right kind of client software installed for this to happen. Most Windows-based operating systems include an RDP client, and so do most other major operating systems, like Linux, Solaris, and Mac OS X. Microsoft’s RDP client software is called either Remote Desktop Connection (RDC) or Terminal Services Client (TSC). Microsoft began calling all terminal services products Remote Desktop with Windows Server 2008 R2. RDP uses TCP port 3389.

After establishing a connection, the user sees a terminal window that’s basically a preconfigured window that looks like a Windows desktop or another operating system’s desktop. From there, the user on the client computer can access applications and files available to them by using the remote desktop.

The most current version of RDP is RDP 10.0. When logged in using RDP, clients are able to access local files and printers from the remote desktop just as if they were logged into the network. RDP offers 128-bit encryption using the RC4 encryption algorithm and also offers TLS 1.0 support.

PPP

Point-to-Point Protocol (PPP) is a Layer 2 protocol that provides authentication, encryption, and compression services to clients logging in remotely. ISPs use PPP a lot to authenticate clients dialing in with a dial-up modem or a DSL or cable modem. Many network servers that provide remote-access services (such as RAS) can also use PPP as an authentication protocol.

PPPoE

Point-to-Point Protocol over Ethernet (PPPoE) is an extension of PPP. Its purpose is to encapsulate PPP frames within Ethernet frames.

The need for PPPoE was born out of the need to deal with the massive increase in high-speed Internet connections. Service providers offering customers high-speed access using Asymmetric Digital Subscriber Line (ADSL) or cable modems needed a way to offer the authentication and encryption services of PPP. A Remote Authentication Dial In User Service (RADIUS) server—something I’ll get into a bit later in this chapter—is commonly used to manage PPPoE connections.

PPPoE works in two stages: discovery and session. In the discovery phase, the MAC addresses of the endpoints are exchanged so that a secure PPP connection can be made. During this phase, a session ID is also created that’s used to facilitate further data transmission during the session. Then, a point-to-point connection is created and the session stage begins.

ICA

Independent Computing Architecture (ICA) is a protocol designed by Citrix Systems to provide communication between servers and clients. The most common application that uses ICA is Citrix’s WinFrame, which administrators can use to set up Windows applications on a Windows-based server and then allow clients with virtually any operating system to access those applications. Client computers running Linux, Unix, or Mac OSs can access Windows-based applications with the help of WinFrame, giving network administrators all kinds of flexibility with client operating systems. But again, there’s a downside—connections like these tend to be slow because of the huge amount of translation that’s required to enable the client and server to communicate with each other properly.

SSH

Secure Shell is a network protocol that is designed as an alternative to command-based utilities such as Telnet that transmit requests and responses in clear text. It creates a secure channel between the devices and provides confidentiality and integrity of the data transmission. It uses public-key cryptography to authenticate the remote computer and allow the remote computer to authenticate the user, if necessary.

This public key is placed on any computer that must allow access to the owner of a matching private key (the owner keeps the private key in secret). The private key is never transferred through the network during authentication.

Out-of-band management

Out of band management refers to any method of managing the server that does use the network. An example of this technology is Integrated Lights-Out, or iLO, a technology embedded into HP servers that allows for out of band management of the server. The physical connection is an Ethernet port that will be on the server and will be labeled ILO. In Figure 13.11, one of these ILO ports is shown in an HP Moonshot chassis (these hold blade servers). HP iLO functions out-of-the-box without additional software installation regardless of the servers’ state of operation giving you complete access to the server from any location via a web browser or the iLO Mobile App.

Figure 13.11 ILO port

image
Console router

Another example of an out-of-band connection is the console port on a router or switch. This is a physical connection to the device that does not use the network and as such represents another example.

VNC

Virtual Network Computing (VNC) is a remote desktop sharing system that uses the Remote Frame Buffer (RFB) protocol. It is platform independent and provides an experience much like Remote Desktop Protocol (RDP).

VNC includes the following components:

  • VNC server: Software that runs on the machine sharing its screen
  • VNC client (or viewer): Software on the machine that is remotely receiving the shared screen
  • VNC protocol (RDP)

One big difference in VNC and RDP is that VNC sends raw pixel data (which does make it work on any desktop type) while RDP uses graphic primitives or higher-level commands for the screen transfer process.

Managing User Account and Password Security

A whole bunch of authentication schemes are used today, and although it’s important to know about these different schemes and how they work, all that knowledge doesn’t equal power if your network’s users aren’t schooled on how to manage their account names and passwords correctly. This is because if bad guys get their hands on usernames and passwords, it gives them a way to get into your network. Worse, if a hacker gains the administrator account name and password for your network, it doesn’t matter what authentication protocol or server you’re using—that hacker isn’t just going to get in, they’re going to get in armed with the escalated rights that type of account allows, meaning they can do some serious damage.

With that in mind, let’s get into some solid ways to manage user accounts and passwords and follow that up by talking about the key authentication methods in use today.

Usernames and passwords are vital to network security because their whole purpose is to control initial access to the network. Even if the system administrator assigns individuals their usernames and passwords, users can and often do change them, so you need to make sure your network’s users know the difference between a good password and a bad one and how to keep their passwords safe from theft.

I’ll cover the important security issues related to user account and password management. Moreover, in the following sections, I’ll discuss more secure methods of authentication (two-factor and multifactor authentication) and a widely used concept in the Enterprise networks: single sign-on.

Managing User Accounts

So, your first step in managing access to network resources is through user accounts and the rights you assign to the network resources. System administrators usually maintain user accounts on a daily basis, doing things like renaming accounts and setting the number of simultaneous connections. You can also specify where users can log in, how often, and when; plus, you can adjust how often their passwords expire and delimit when their accounts expire as well.

Disabling Accounts

This is important, so remember it—when a user leaves the organization, you have these three options:

  • Leave the account in place.
  • Delete the account.
  • Disable the account.

The first option is not so good because if you just leave the account in place, anyone (including the user to whom it belonged) can still log in as that user if they know the password. This is clearly very bad security, but deleting the account presents its own set of problems. If you delete an account, the numeric ID associated with that user (UID in Unix, SID in Windows Server) will be lost, and it’s through this magic number that passwords and rights to network resources are associated with the user account. This can be a good thing—but if you create a new user account with the same name as the one you deleted, the identification number of the new account will be different from the old one, so none of its settings will be there for the new account.

This means that disabling an account until you’ve made a decision about what should happen to it is your best bet because you’ll probably just want to rename the account when someone new is hired. When you disable an account, it still exists, but no one can use it to log in. Another good time to disable an account is when someone leaves for an extended period, like taking maternity/paternity leave or other medical leaves or going on sabbatical.

Because it’s really common for companies today to have contract and temporary employees, you need to know how to manage temporary accounts that will be used for only a short time and then disabled.

Managing these temporary accounts is easy—you just set the account to expire on the employee’s expected last day of work.

Setting Up Anonymous Accounts

Anonymous accounts allow only extremely limited access for a large number of users who all log in with the same username—for instance, anonymous or guest. These logins are frequently used to access FTP files; you gain access when you log in with the username anonymous and enter your email address as the password.

Sometimes people don’t use their real email addresses. If you really want to know where a user is located on the Internet, use third-party software to verify IP addresses and Internet domain names.

It’s obviously a very bad idea to use anonymous accounts for regular network access—you just can’t track them. All Windows Server products from Windows NT on come with the anonymous account Guest disabled, and it’s usually a good thing to leave it that way. When you want to enable that account, like at a public kiosk, make sure you carefully manage what it is able to access by implementing strict group policies.

Some web servers create an Internet user account to allow anonymous access to the website through which a user is allowed to access the web server over the network. The password is always blank, and you never see a request to log in to the server because it’s done automatically. Without this kind of account, no one would be able to access your web pages.

Do not rename the Internet user account or set a password because if you do so, the general public won’t be able to view your website. If you want to secure documents, use a separate secure HTTP or Windows server.

Limiting Connections

There is a good reason to limit how many times a user can connect to the network. Users should normally be logged in to the network for one instance because they can only be in one place at a time. So if your system is telling you that someone is logged in from more than one place, it’s probably because someone else is using their account. By disallowing simultaneous connections, only a single user at a single workstation can gain access to the network using a specific user account. But there are times that some users need to log in multiple times to use certain applications or perform certain tasks, and you can allow that specific user to have multiple concurrent connections.

You may also want to limit the specific location from which a user logs in because most of the time, your users will be logging on to the network only from their own workstations. This makes sense, but this rule isn’t usually enforced because sometimes users move around without taking their computers with them, or they log in at someone else’s station to get their jobs done. So unless you require super tight security, imposing this rule can really complicate your job because it requires a lot of administration. Windows Server products can limit which station(s) a user is allowed to log in from, but they don’t do so by default. A Windows feature that is enabled by default is not allowing average users to log in at the server console because they shouldn’t be working directly on a server. They can do some serious damage accidentally!

Renaming the Maintenance Account

Network operating systems automatically give the network maintenance (or administration) account a default name. On Windows servers, it’s (surprise) Administrator, and in Unix it’s root. So it should be crystal clear that if you don’t change this account name, bad guys already have half the information they need to break into your network. The only thing they’re missing is the password—yikes!

By all means, rename that account to something cool and creative that you’ll remember but that would be really hard for someone to guess—and don’t write it on a Post-it and stick it to the server. Here’s a “do not use” list of names:

  • Admin
  • Administrator
  • Analyst
  • Audit
  • Comptroller
  • Controller
  • Manager
  • Root
  • Super
  • Superuser
  • Supervisor
  • Wizard
  • Any variation on the above

Managing Passwords

Like any other aspect of network security, passwords must be managed, and doing that involves ensuring that all passwords for user accounts follow security guidelines so bad guys can’t easily guess or crack them. You’ve also got to implement certain features of your network operating system to prevent unauthorized access.

Basically, a strong password is some combination of alphanumeric and special characters that’s easy for you to remember but really hard for someone else to guess. Like server account names, they should never be written down on anything that is then put into your desk or stuck onto your computer. Unfortunately, this guideline is only followed in a perfect world. Users invariably try to make things easy on themselves by choosing passwords that are so simple to guess that someone would have to be seriously mentally challenged not to be able to. Let’s look at some characteristics of strong passwords.

Minimum Length

Strong passwords should be at least 8 characters (the more, the merrier), but they shouldn’t be any longer than 15 characters to make them easier to remember. You absolutely must specify a minimum length for passwords because a short password is easily cracked—after all, there are only so many combinations of three characters, right? The upper limit depends on the capabilities of your operating system and the ability of your users to remember complex passwords. Here’s what I call “The Weak List” for passwords—never use them!

  • The word password (Not kidding—people actually do this!)
  • Proper names
  • Your pet’s name
  • Your spouse’s name
  • Your children’s names
  • Any word in the dictionary
  • A license plate number
  • Birth dates
  • Anniversary dates
  • Your username
  • The word server
  • Any text or label on the PC or monitor
  • Your company’s name
  • Your occupation
  • Your favorite color
  • Any of the above with a leading number
  • Any of the above with a trailing number
  • Any of the above spelled backward

There are more, but you get the idea, and these really are the most commonly used brainless passwords.

Real World Scenario

Security Audits

A great way to begin a basic security audit to get a feel for any potential threats to your network is to simply take a walk through the company’s halls and offices. I’ve done this a lot, and it always pays off because invariably I happen upon some new and different way that people are trying to “beat the system” regarding security. This doesn’t necessarily indicate that a given user is trying to cause damage on purpose; it’s just that following the rules can be a little inconvenient—especially when it comes to adhering to strict password policies. Your average user just doesn’t get how important their role is in maintaining the security of the network (maybe even their job security as well) by sticking to the network’s security policy, so you have to make sure they do.

Think about it. If you can easily discover user passwords just by taking a little tour of the premises, so can a bad guy, and once someone has a username and a password, it’s pretty easy to hack into resources. I wasn’t kidding about people slapping sticky notes with their usernames and/or passwords right on their monitors—this happens a lot more than you would think. Some users, thinking they’re actually being really careful, glue them to the back of their keyboards instead, but you don’t have to be James Bond to think about looking there either, right? People wouldn’t think of leaving their cars unlocked with the windows down and the keys in the ignition, but that’s exactly what they’re doing by leaving sensitive info anywhere on or near their workstations.

Even though it might not make you Mr. or Ms. Popularity when you search workspaces or even inside desks for notes with interesting or odd words written on them, do it anyway. People will try to hide these goodies anywhere. Or sometimes, not so much. I kid you not—I had a user who actually wrote his password on the border of his monitor with a Sharpie, and when his password expired, he just crossed it off and wrote the new one underneath it. Sheer genius! But my personal favorite was when I glanced at this one guy’s keyboard and noticed that some of the letter keys had numbers written on them. All you had to do was follow the numbers that (surprise!) led straight to his password. Oh sure—he’d followed policy to the, ahem, letter by choosing random letters and numbers, but a lot of good that did—he had to draw himself a little map in plain sight on his keyboard to remember the password.

So, like it or not, you have to walk your beat to find out if users are managing their accounts properly. If you find someone doing things the right way, praise them for it openly. If not, it’s time for more training—or maybe worse, termination.

Using Characters to Make a Strong Password

The good news is that solid passwords don’t have to be in ancient Mayan to be hard to crack. They just need to include a combination of numbers, letters, and special characters—that’s it. Special characters aren’t letters or numbers but symbols like $ % ^ # @). Here’s an example of a strong password: tqbf4#jotld. Looks like gibberish, but remember that famous sentence, “The quick brown fox jumped over the lazy dog”? Well, this particular password uses the first letter of each word in that sentence with a 4# thrown in the middle of it. Sweet—solid and easy to remember. You can do this with favorite quotes, song lyrics, and so on, with a couple of numbers and symbols stuck in the middle. Just make sure you don’t sing the song or quote Shakespeare every time you log in!

If you want to test the strength of passwords to make sure they’re nice and tight, you can use auditing tools like crack programs that try to guess passwords. Clearly, if that program has a really tough time or even fails to crack the password, you have a good one. By the way, don’t just use a regular word preceded by or ending with a special character because good crack programs strip off the leading and trailing characters during decryption attempts.

Password-Management Features

All network operating systems include built-in features for managing passwords to help ensure that your system remains secure and that passwords cannot be easily hacked with crack programs. These features usually include automatic account lockouts and password expiration.

Automatic Account Lockouts

Hackers, and even people who forget their passwords, usually try to log in by guessing passwords. This is why most network operating systems will lock you out after a few unsuccessful attempts. Some will even disable the account. Once that happens, the user won’t be able to log in to that account even if they enter the correct password. This feature prevents a potential hacker from running an automated script to crack account passwords by continuously attempting to log in using different character combinations.

When an account is on lockdown, guards—I mean, network staff—will have to unlock the account if the network operating system doesn’t unlock it after a preset period. In any high-security network, it’s a good idea to require an administrator to manually unlock every locked account instead of setting the network operating system to do it automatically. This way, the administrator will be sure to know about any possible security breaches.

Be careful not to lock yourself out. With many network operating systems, only administrators can reset passwords, so if you happen to be the administrator and you lock yourself out, only another administrator can unlock your account. Embarrassing, yes, but what if you’re the only administrator? You’re in trouble then, because even though many network operating system vendors do have solutions to this humiliating little problem, the cost of those solutions isn’t going to be cheap!

It’s good to know that Windows-based servers allow you to configure accounts to be locked out after a number of bad login attempts, but the default Administrator account is exempt from this happening. This might sound convenient for you, but it’s actually a security risk. You should definitely rename this account, and it’s also a good idea not to use it for day-to-day administration. Create a new administrator account (with a different name, of course), and use it for administrative purposes instead.

Password Expiration and Password Histories

Unlike a good wine, even really good passwords don’t age well over time; they just become more likely to be cracked. This is why it’s good to set passwords so that they expire after a specific amount of time. Most organizations set up passwords to expire every 30 to 45 days, after which the network’s users all must reset their passwords either immediately or during a preset grace period. The grace period is usually limited to a specific number of login attempts, or it may allow a couple of days.

By default, each network operating system delimits a specific password-expiration period that bad guys usually know about. So make sure you reset that time period to something other than the default, in accordance with your security policy.

Older network operating systems allowed users to reset their passwords back to their original form after using an intermediary password for a while, but today’s network operating systems prevent this by employing password histories that consist of a record of the past several passwords used by a specific user. This record prevents users from using any password that’s stored in the password history. If they try, the password will fail, and the operating system will then request a password change. What this means to you, the system administrator, is that if your security policy dictates that passwords be reset every two weeks, you should make sure your password history can hold at least 20 passwords. This would prevent a user from reusing a password until the password is at least 10 months old (two changes per month). They’ll forget that password by then!

By the way, your more experienced users know about this history feature, and because coming up with a really tight password takes a little thought, when savvy users create ones they really like, they may have a hard time letting go. Maybe they just want to avoid the hassle of creating a tight new password and remembering it, so they’ll try to find ways to get out of doing that by getting around the password-history feature. For instance, I knew one guy who actually admitted that he just changed his password as many times as it took to defeat the history log and then changed it one last time to his beloved, original password—all of which took him only about five minutes to accomplish.

You can force users to change their passwords to ones that are unique because the latest operating systems require unique passwords and can, depending on the network operating system, store more than 20 passwords. This feature makes it a whole lot harder to revert to any previous passwords. But it’s still possible for users to beat the system, so don’t rely completely on it.

Single Sign-On

In today’s modern enterprises, users can be overwhelmed by the number of points in the network where they may be challenged to identify themselves. Most users have to log onto the domain to have network access at all, and then there may be company websites that require an authentication process to access databases, SharePoint sites, secured drives, personal folders, and on and on!

When users must remember multiple passwords, as the number increases, they begin to resort to unsafe security practices such as writing passwords on sticky notes, hiding passwords in their drawers, and even sharing them with coworkers. All of these practices undermine the security of the network.

Single sign-on addresses this problem. With single sign-on, when the user logs into the domain, the domain controller issues them an access token. This access token contains a list of all the resources (which can include folders, drives, websites, databases, and so on) to which they should have access. As a result, anytime the user accesses a resource, the token is verified behind the scenes, and the user never needs to provide another password!

Local Authentication

When users authenticate to their computer, the authentication can be either to a domain or to the local machine. When local authentication is performed, the user’s local account and password are verified with the local user database. This local user database is called Security Accounts Manager (SAM) and is located in C:windowssystem32config. In Linux, the database is a text file, /etc/passwd (called the password file), which lists all valid usernames and their associated information.

LDAP

A directory service is a database designed to centralize data management regarding network subjects and objects. A typical directory contains a hierarchy that includes users, groups, systems, servers, client workstations, and so on. Because the directory service contains data about users and other network entities, it can be used by many applications that require access to that information. A common directory service standard is Lightweight Directory Access Protocol (LDAP), which is based on the earlier standard X.500.

X.500 uses Directory Access Protocol (DAP). In X.500, the distinguished name (DN) provides the full path in the X.500 database where the entry is found. The relative distinguished name (RDN) in X.500 is an entry’s name without the full path.

LDAP is simpler than X.500. LDAP supports DN and RDN, but it includes more attributes, such as the common name (CN), domain component (DC), and organizational unit (OU) attributes. Using a client-server architecture, LDAP uses TCP port 389 to communicate. If advanced security is needed, LDAP over SSL communicates via TCP port 636.

Certificates

A digital certificate provides an entity, usually a user, with the credentials to prove its identity and associates that identity with a public key. At minimum, a digital certification must provide the serial number, the issuer, the subject (owner), and the public key.

An X.509 certificate complies with the X.509 standard. An X.509 certificate contains the following fields:

  • Version
  • Serial Number
  • Algorithm ID
  • Issuer
  • Validity
  • Subject
  • Subject Public Key Info
    • Public Key Algorithm
    • Subject Public Key
  • Issuer Unique Identifier (optional)
  • Subject Unique Identifier (optional)
  • Extensions (optional)

VeriSign first introduced the following digital certificate classes:

  • Class 1: For individuals and intended for email. These certificates get saved by web browsers.
  • Class 2: For organizations that must provide proof of identity.
  • Class 3: For servers and software signing in which independent verification and identity and authority checking is done by the issuing CA.

Multifactor Authentication

Multifactor authentication is designed to add an additional level of security to the authentication process by verifying more than one characteristic of a user before allowing access to a resource. Users can be identified in one of five ways:

  • By something they know (password)
  • By something they are (retinas, fingerprint, facial recognition)
  • By something they possess (smart card)
  • By somewhere they are (location)
  • By something they do (behavior)

Two-factor authentication is when two of the above factors are being tested, while multifactor is when more than two of the above factors are being tested. An example of two-factor authentication would be requiring both a smart card and a PIN to log onto the network. The possession of either by itself would not be sufficient to authenticate. This protects against the loss and theft of the card as well as the loss of the password. An example of multifactor would be when three items are required, such as a smart card, a PIN, and a username and password.

This process can get as involved as the security requires. In an extremely high-security situation, you might require a smart card, a password, a retina scan, and a fingerprint scan. The trade-off to all the increased security is an inconvenient authentication process for the user and the high cost of biometric authentication devices.

User-Authentication Methods

There are a number of authentication systems in use today, but I’m going to focus on the ones you’re likely to be confronted with on the Network+ exam.

Public Key Infrastructure (PKI)

Public Key Infrastructure (PKI) is a system that links users to public keys and verifies a user’s identity by using a certificate authority (CA). Think of a CA as an online notary public—an organization that’s responsible for validating user IDs and issuing unique identifiers to confirmed individuals to certify that their identity can really be trusted. Figure 13.12 shows how the CA process works in relation to two users.

Figure 13.12 The certificate authority process

Image shows certificate authority process in which Mike sends message and certificate to Jeff and certificate authority which is verified by Jeff with CA.

PKI allows people to communicate with each other with confidence that they’re talking to whom they think they are talking to. It is used to establish confidentiality and to ensure message integrity without knowing anything about the other party prior to the conversation. It’s also used to verify the digital signature of a private key’s owner.

Public-key encryption operates through asymmetric cryptography, meaning that a different key is used to encrypt and decrypt the message, respectively. Symmetric cryptography uses the same key to encrypt and decrypt, so it’s a lot less secure. Here’s how it works: If I sent you a message using PKI, I’d use your public key to encrypt the message. When you received the message, you would use your private key, which is theoretically the only thing that can be used to decrypt the message back into something readable by humans. If a digital signature was required, you would sign the document with your private key, and anyone with access to your public key would be able to verify that the signature was truly yours. So clearly, you should be the only one who has access to your private key. Figure 13.13 illustrates what I just described.

Figure 13.13 PKI in action

Image shows PKI in action in which Joe creates message for Jenny, Joe uses Jenny’s public key to encrypt, data sent across wire, Jenny uses private key to decrypt, and Jenny read message.

This type of authentication is used a lot in websites that perform transactions. You’ve probably experienced shopping online and having an error message pop up notifying you that a certain site’s certificate or key has expired and asking if you want to proceed with the transaction. If you do, it’s time to rethink things—you’re probably way too trusting. Just say no!

Kerberos

Kerberos, created at MIT, isn’t just a protocol, it’s an entire security system that establishes a user’s identity when they first log on to a system that’s running it. It employs strong encryption for all transactions and communication, and it’s readily available. The source code for Kerberos can be freely downloaded from lots of places on the Internet.

Kerberos works by issuing tickets to users who log in, kind of like going to an amusement park—as long as you have your ticket to ride, you’re good to go. Even though the tickets expire quickly, they’re automatically refreshed as long as you remain logged in. Because of this refresh feature, all systems participating in a Kerberos domain must have synchronized clocks. This synchronicity is a bit complicated to set up, although in Microsoft servers and domains the process is automatic, requiring only access to a recognized time server (which Microsoft also operates). The real negative hits happen if you have only one Kerberos authentication server—if it goes down, no one can log in to the network. So when running Kerberos, having redundant servers is clearly vital. You should also know that because all users’ secret keys are stored in one centralized database, if that’s compromised, you have a security tsunami on your hands. Luckily these keys are stored in an encrypted state. Figure 13.14 shows Kerberos in action.

Figure 13.14 The Kerberos authentication process

Image shows Kerberos authentication process that explains communication between client, authentication server, and application server such as request TGT, TGT returned by authentication server, request application ticket, and so on.

Authentication, Authorization, and Accounting (AAA)

In computer security speak, AAA (triple A, like the auto club) refers to authentication, authorization, and accounting. AAAA is a more robust version that adds auditing into the mix. AAA and AAAA aren’t really protocols; instead, they’re systematized, conceptual models for managing network security through one central location. Two common implementations of AAA are RADIUS and TACACS+.

RADIUS

Although its name implies it, the Remote Authentication Dial In User Service (RADIUS) is not a dial-up server. Like pretty much everything else, it originated that way, but it’s evolved into more of a verification service. Today, RADIUS is an authentication and accounting service that’s used for verifying users over various types of links, including dial-up. Many ISPs use a RADIUS server to store the usernames and passwords of their clients in a central spot through which connections are configured to pass authentication requests. RADIUS servers are client-server-based authentication and encryption services maintaining user profiles in a central database.

RADIUS is also used in firewalls. Purposed this way, when a user wants to access a particular TCP/IP port, they must provide a username and a password. The firewall then contacts the RADIUS server to verify the credentials given. If the verification is successful, the user is granted access to that port.

RADIUS is an authentication server that allows for domain-level authentication on both wired and wireless networks.

TACACS+

The Terminal Access Controller Access-Control System Plus (TACACS+) protocol is also a AAA method and an alternative to RADIUS. Like RADIUS, it is capable of performing authentication on behalf of multiple wireless APs, RAS servers, or even LAN switches that are 802.1X capable. Based on its name, you would think it’s an extension of the TACACS protocol (and in some ways it is), but the two definitely are not compatible.

Here are two major differences between TACACS+ and RADIUS:

  • RADIUS combines user authentication and authorization into one profile, but TACACS+ separates the two.
  • TACACS+ utilizes the connection-based TCP protocol, but RADIUS uses UDP instead.

Even though both are commonly used today, because of these two reasons TACACS+ is considered more stable and secure than RADIUS.

Figure 13.15 shows how TACACS+ works.

Figure 13.15 TACACS+ login and logout sequence

Image shows TACACS+ client and TACACS+ server that has login request (authentication, reply success, authorization request, and so on) and logout request (accounting stop and reply success) between them.

Just to clarify things, in the IT world, accounting has nothing to do with money. Here’s what I mean: When a TACACS+ session is closed, the information in the following list is logged, or accounted for. This isn’t a complete list; it’s just meant to give you an idea of the type of accounting information that TACACS+ gathers:

  • Connection start time and stop time
  • The number of bytes sent and received by the user
  • The number of packets sent and received by the user
  • The reason for the disconnection

The only time the accounting feature has anything to do with money is if your service provider is charging you based on the amount of time you’ve spent logged in or for the amount of data sent and received.

Web Services

Secure connections to web services can be configured using several variations of HTTP, which is unsecured. The following protocols can be used:

  • Hypertext Transfer Protocol Secure (HTTPS) protects HTTP traffic by layering it on top of SSL/TLS. It requires a certificate on the server.
  • Secure Hypertext Transfer Protocol (S-HTTP) is a little-used alternative to HTTPS. While HTTPS wraps the entire communication within SSL, S-HTTP only encrypts the served page data and the submitted data like POST fields. It leaves the initiation of the protocol unchanged.

Unified Voice Services

Unified voice services, or unified communications, is a term that describes combining traffic formerly confined to the phone network with IP data traffic and video traffic. It takes voice and video information and encapsulates it within IP packets to be transmitted on the data network.

VoIP and video streaming are two examples of this. In both cases, incoming data is consumed in real time as it is received, thus placing a premium on performance. To ensure this, QoS mechanisms must be utilized to give these traffic types priority over traffic that’s less sensitive to latency.

Specifically, unified voice can also mean the integration of voice with other messaging systems such as IM, presence, and email services. It will include voicemail as well.

Network Controllers

There are several meanings for the term network controller, but in most cases it refers to a network interface card, or NIC. Newer cards are available that can support both LAN and SAN traffic at the same time. Moreover, these devices usually offload the processing usually placed on the CPU. Special models also perform their own encryption, thus easing the workload further on the CPU.

In other cases you may see this term used to describe a device that controls admission or access to a network. A good example of this is a system that goes beyond simple authentication and ensures that systems are safe and secure before they are allowed to access the network (Network Admission Control). In the next section, you’ll be introduced to another such system, called 802.1X.

Network Access Control (NAC)

Network Access Control (NAC) is a method of securing network hosts before they’re allowed to access the network. The most common implications for NAC are in wireless networking, where nodes are often added to and removed from the network freely. One of the most common forms of NAC is IEEE 802.1X.

Even the Institute of Electrical and Electronics Engineers (IEEE) recognizes the potential security holes in wireless networking, so it came up with the IEEE 802.1X standard as a way to authenticate wireless users. 802.1X is an open framework that’s designed to support multiple authentication schemes. Before a client, called a supplicant in 802.1X-speak, can communicate on a wireless network, it asks the access point, or authenticator, for permission to join and then provides its credentials. The access point passes those credentials to a centralized authentication server that sends back an accept message to the access point if the authentication is accepted. Only then will the access point allow a user to connect to the wireless network.

Challenge Handshake Authentication Protocol (CHAP)

The Challenge Handshake Authentication Protocol (CHAP) is a secure authentication protocol because with CHAP, the username and password never cross the wire. Instead, both the client and server are configured with the same text phrase that’s known as a shared secret. When a client sends out an authentication request, the server responds by sending a random value called a nonce plus an ID value back to the client. The client takes these two strings, sequences them with the shared secret, and then generates a one-way hash value using the MD5 Message-Digest Algorithm (MD5) encryption algorithm. This hash value is transmitted back to the server, which performs the same algorithm using the same values and shared secret. The server basically compares the hash value that it’s received from the client with the hash value it has calculated, and if they match, the client gets to be authenticated. I know this sounds pretty complicated, so let me give you a visual demonstration of how CHAP works in Figure 13.16.

Figure 13.16 CHAP authentication process

Image shows CHAP authentication process that has logon request, challenge, encrypts value response, and compare encrypted results between client and server.

CHAP has replaced the older Password Authentication Protocol (PAP) because PAP sends usernames and passwords in clear text and CHAP does not.

MS-CHAP

Microsoft has its own variation of CHAP known as Microsoft Challenge Handshake Authentication Protocol (MS-CHAP). It works basically the same way as CHAP, except that unlike CHAP, which requires the shared secret to be stored locally in clear text, MS-CHAP encrypts the secret locally. And whereas CHAP provides authentication of the client by the server only, MS-CHAP version 2 is capable of mutual authentication so that the client can be sure the server is legitimate as well. Also, the encryption method used to generate the one-way hash in MS-CHAP is DES. Finally, and predictably, MS-CHAP doesn’t work on Linux or other platforms—it’s a Windows proprietary protocol.

Extensible Authentication Protocol (EAP)

Extensible Authentication Protocol (EAP) is an extension to PPP that provides a host of additional authentication methods for remote-access clients. Some examples include smart cards, certificates, Kerberos, and biometric schemes like retinal scans and fingerprint and voice recognition. Although EAP itself doesn’t allow for mutual authentication, enhanced forms of the protocol do. For example, EAP-TLS and EAP-TTLS, a tunneled version of EAP-TLS, create a secure tunnel through which password-based versions like EAP-MD5 can run.

Hashes

Hashing is a cryptographic process that uses an algorithm to derive a value from a set of clear text to verify that the information came from where it says and that it has not changed. Therefore, we say hashes are used to provide data integrity and origin authentication. Two of the most well-known hashing algorithms are discussed in the following sections.

MD5

The MD5 message-digest algorithm was designed by Ron Rivest, and while it has been shown to have some flaws that cause many to prefer SHA (described in the next section), those flaws are not considered fatal and it is still widely used to ensure the integrity of transmission. As is the case with most hashing processes, the hash is created from the clear text and then sent along with the clear-text message. At the other end, a second hash of the clear-text data is created using the same algorithm, and if the two hashes match, the data is deemed to be unchanged.

SHA

Secure Hash Algorithm is a family of algorithm versions, much like MD5 having multiple versions on its way to becoming MD5. It is published by the National Institute of Standards and Technology (NIST) as a U.S. Federal Information Processing Standard (FIPS). It operates as any hash does and is considered to be superior to MD5.

Network Access Control

Network Access Control systems that control access to devices based on their security settings include Cisco’s Network Admission Control (NAC) and Microsoft’s Network Policy and Access Services (NPAS). These systems examine the state of a computer’s operating system updates and anti-malware updates before allowing access, and in some cases they can even remediate the devices prior to permitting access. In the following sections, key components of network access control systems are covered.

Posture Assessment

When devices attempt to access the network, the devices are examined closely, which is called a posture assessment. The following items can be checked:

  • Anti-malware updates
  • Operating system updates
  • Windows Registry settings

When the assessment is complete and is positive, admission is granted. If problems are found, admission may be denied and the user notified that action must be taken, or the device may be directed to a remediation server that can install missing updates or quarantine the device if necessary.

Guest Network

When a device is attempting to connect to a network using a form of network access control, the device is first placed in a guest network until a posture assessment is performed. Until it is either approved or remediated, it will remain in the guest network. The guest network will not allow access to the balance of the network to prevent the device from introducing issues to the network.

Persistent vs. Nonpersistent Agents

Network access control systems can be deployed using either persistent or nonpersistent agents on the devices. A persistent agent is one that is installed on a NAC client and starts when the operating system loads. This agent provides functionality that may not be present in the nonpersistent agent, such as system-wide notifications and alerts and auto and manual remediation.

A nonpersistent agent is one that is used to assess the device only during the onetime check-in at login, usually through a captive web portal. The nonpersistent or dissolvable agent is removed from the device when the authentication web page is closed. It can be used to support the assessment of endpoints not owned by the organization and as such can help to make a Bring Your Own Device (BYOD) policy possible.

Captive Portal

When a wireless network is in use, one method of securing access to the WLAN is using a captive portal. This is a web page to which users are directed when they attempt to connect to the WLAN. This web page may ask for network credentials, or in the case of a guest network it may only ask for agreement to the usage policy of the guest network.

Quarantine Network

When a guest machine is found to be out of compliance with the security posture required by a NAC system, the device is placed in a quarantine network, which prevents the device from exposing the rest of the network to the security risks that have been identified by the posture assessment. It will remain in this quarantine network until it is able to pass the assessment.

In cases where the NAC system supports remediation, the device may be connected to a remediation server that can make the required changes or updates to the system. Once the remediation is complete and the device is able to pass the assessment, it is then allowed to proceed on to the protected network.

Edge vs. Access Control

While controlling access to the network at the edge or boundary of the network (typically using firewalls) is certainly a proven method of protecting a network, it is somewhat of a blunt instrument of access control. Certainly the use of certain protocols and services can be prevented, and firewalls can even be granular enough to single out IP addresses and subnets, but at some point more sophisticated means of control are indicated.

Access controls that are applied where the resource resides often can be much more granular and can be more easily placed under the control of the resource owner. It is also less likely that mistakes in the application of access control lists on the resource will cause the type of widespread access problems that mistakes in ACLs on firewalls may have.

In today’s network, there is a place for both access and edge control. Understanding the role that each can play and properly utilizing them can result in a layered approach to network security.

Summary

In this chapter, you learned about the two most basic security concerns: security filtering and user authentication. First, we talked about how to allow remote computers to join your network and how to specify the way traffic leaves your network using access control lists. Then, you learned about various tunneling and encryption protocols like SSL, VPN, L2TP, PPTP, and IPSec.

Moving on, we examined several of the ways used today to remotely access networks, including RAS, RDP, PPP, PPPoE, and ICA.

We wrapped things up by discussing solid user-account and password-management policies and why those policies are essential to maintaining tight security on your network. Finally, you learned about authentication methods like PKI, Kerberos, RADIUS, TACACS+, 802.1X, CHAP, MS-CHAP, and EAP—good stuff!

Exam Essentials

Know two ways you can filter traffic using an access control list. Access control lists can filter traffic by IP address or MAC address.

Know which protocols can be used for tunneling and encryption of data. Tunneling and encryption protocols include SSL, VPN, L2TP, PPTP, GRE, and IPSec.

Know which services allow you to remotely access computers across a network. RAS, RDP, PPP, PPPoE, and ICA are remote-access services and protocols.

Know different user-authentication protocols used on networks. User-authentication protocols and systems include PKI, Kerberos, RADIUS, TACACS+, 802.1X, CHAP, MS-CHAP, and EAP.

Understand the operation of Network Access Control systems such as Cisco Network Admission Control. When devices attempt to access the network, the devices are examined closely, which is called a posture assessment. When the assessment is complete and is positive, admission is granted.

Written Lab

In this section, write the answers to the following authentication and access-control questions. You can find the answers to the written labs in Appendix A.

  1. What are two possible items checked during a posture assessment?

  2. Which type of agent is one that is installed on a NAC client and starts when the operating system loads?

  3. Which encryption protocol or standard allows you to create a private network on an intranet?

  4. Which user-authentication method uses a public key and private key pair?

  5. In an authentication system that uses private and public keys, who should have access to the private key?

  6. Which authentication method relies on tickets to grant access to resources?

  7. In computer security, what does AAA stand for?

  8. Which network access security method is commonly used in wireless networks?

  9. Which user-authentication method is available only in an all-Windows environment?

  10. Which user-authentication method utilizes the TCP protocol?

Review Questions

You can find the answers to the review questions in Appendix B.

  1. Nonpersistent or dissolvable NAC agents may help to make what possible?

    1. BYOD initiative
    2. Edge control
    3. Unified voice services
    4. Host-based IDS
  2. What is the main difference between a private network and a public network?

    1. In a private network, everyone has access; in a public network, only authorized users have access.
    2. There is no difference; in both a private and public network, only authorized users have access.
    3. In a private network, only authorized users have access; in a public network, everyone that is connected has access.
    4. In a private network, everyone has access; in a public network, only the first 100 people have access.
  3. You have a remote user who can connect to the Internet but not to the office via their VPN client. After determining the problem, which should be your next step?

    1. Have the client reboot their host.
    2. Make sure the user has the correct VPN address and password.
    3. Have the client reinstall their VPN software.
    4. Reboot the router at the corporate office.
  4. Which IP address should you deny into your internetwork?

    1. 126.10.10.0/8
    2. 168.0.0.0/8
    3. 128.0.0.0/8
    4. 127.0.0.0/8
  5. Which of the following is a tunneling protocol?

    1. Layer 2 Tunneling Protocol (L2TP)
    2. Internet Protocol Security (IPSec)
    3. Secure Sockets Layer (SSL)
    4. All of the above
  6. Which tunneling protocol is based on RSA public-key encryption?

    1. SSL
    2. L2TP
    3. IPSec
    4. SSL VPN
  7. What is the minimum number of characters you should use when creating a secure password?

    1. 6
    2. 7
    3. 8
    4. 15
  8. In which layer of the OSI model does IPSec operate?

    1. Physical
    2. Network
    3. Transport
    4. Application
  9. Which protocol works in both the transport mode and tunneling mode?

    1. SSL
    2. L2TP
    3. PPTP
    4. IPSec
  10. Companies that want to ensure that their data is secure during transit should use which of the following?

    1. Firewalls
    2. Encryption
    3. Data accounting
    4. Routing table
  11. Which network utilities do not have the ability to encrypt passwords? (Select two.)

    1. FTP
    2. SSH
    3. Telnet
    4. SCP
  12. To encode or read an encrypted message, what tool is necessary?

    1. Routing table
    2. Internet access
    3. Encryption key
    4. Email address
  13. Which of the following is not an enhancement provided by TLS version 2.0?

    1. Improvements in the operation of the MD5/SHA-1 hashing function
    2. Enhanced support for the Advanced Encryption Standard (AES)
    3. Expansion of the use of TLS to VPNs
    4. More flexibility in the choice of hashing and encryption algorithm
  14. Which of the following is not a type of public-key encryption?

    1. Diffie-Hellman algorithm
    2. RSA Data Security
    3. Pretty Good Privacy (PGP)
    4. DES
  15. Which of the following VPN protocols runs over TCP port 1723, allows encryption to be done at the data level, and allows secure access?

    1. RAS
    2. RADIUS
    3. PPPoE
    4. PPTP
  16. At which stage of PPPoE are the MAC addresses of the endpoints exchanged?

    1. Session
    2. Discovery
    3. Transport
    4. Final
  17. When utilizing multifactor authentication, which of the following is an example of verifying something you are?

    1. Smart card
    2. Password
    3. Fingerprint
    4. Certificate
  18. Which of the following authentication methods allows for domain authentication on both wired and wireless networks?

    1. RADIUS
    2. CHAP
    3. PKI
    4. RDP
  19. Which user-client-server authentication software system combines user authentication and authorization into one central database and maintains user profiles?

    1. RADIUS
    2. TACACS+
    3. Kerberos
    4. PKI
  20. Which of the following is not a Network Access Control method?

    1. CHAP
    2. 802.1X
    3. EAP
    4. ICA
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.116.60.62