This chapter concerns procedures to provide cryptographic security to NetWare services. The objectives important to this chapter are found on page 6-1:
Concepts:IntroductionBefore beginning the discussion of Public Key cryptography, the chapter offers ideas about measures to enhance the internal security of your network. These ideas are common to both Novell and Microsoft network courses:
The chapter discusses what a firewall can and cannot do for the network. Firewalls can be implemented as software or software and hardware solutions. The text lists some features that might be found in a firewall:
Firewalls are not effective protection against:
The introduction continues with a discussion of why it is important to verify identity in a transaction that involves money. The identities of the buyer and the seller should both be verified. The verifications, credit card numbers, and other sensitive information should not be transmitted on a network unless a trusted means of encryption and decryption is used. Messages sent across IP networks can easily be intercepted, and are subject to eavesdropping. It is a good idea to use encryption for any transmission of a financial or sensitive nature. Describe Public Key CryptographyPublic key cryptography is an encoding scheme that assigns every user two keys. These keys are used to prove the identity of the sender of a message. This is called authentication. Keys are also used to encrypt and decrypt messages. The public key method uses two different keys. Either of the keys can be used to encrypt a message. Whichever key is used to encrypt the message, the other key must be used to decrypt it. One of the two keys is called a user's public key. This key is delivered to anyone who needs it, and is used to decrypt messages that were encrypted with the user's other key, the private key. This method proves to message recipients that the message originated from the owner of the private key. Likewise, messages meant for the user can be encrypted with the public key, and can only be decrypted with the user's private key, ensuring security. A definition of a key is given in the text: "a numeric value used by an algorithm to alter information, making that information secure and visible only to individuals who have the corresponding key to recover the information". Remember that when using key pairs, either key can be used for encrypting, but the other must be used for decrypting. The process of delivering public keys to people who need them presents a problem. How do you know that the proof you are accepting is reliable? Public keys need to be verified by a Certificate Authority (CA). The text offers the names of some common public Certificate Authorities: Verisign, EnTrust Inc., and Digital Signature Trust Co. Inc. Some terms regarding CA services are presented:
Novell provides a CA in its Certificate Server. Using the terminology above, a message may be sent to a server/provider with a digital signature. A user will create a digital signature with their private key, and register that digital signature with a Certificate Authority. The signature may also be created by the CA, since the CA may be the source of both of the user's keys. Encryption can also be done strictly with public and private keys, without a CA. This is less secure and less reliable. For example, a person could be buying something online, using a web browser. The buyer is sent the public key of the store through the browser. The browser encrypts the buyer's credit card data, and sends to the store's server. The server decrypts the data using the store's private key. (A problem exists here: the store has no way to send encrypted data back to the buyer, unless the buyer has a public and private key of his/her own.) More terminology: a public key certificate is a digital message signed with a private key. A public key certificate is generated by a trusted entity, as described above, called a certificate authority (CA). Public key certificates can also be called digital public key certificates, digital IDs, digital passports, or certificates. So Certificate Authorities can issue certificates, issue keys, revoke keys and certificates, publish public keys, and offer insurance against losses incurred due to their errors. You may use either an Organizational CA, an external CA, or both. Be aware that you must use an Organizational CA to sign user certificates in this version of NetWare. Benefits of using the NetWare Organizational CA:
Benefits of using an External CA:
The text discusses the idea that you can examine the web browser on a workstation to see what Intermediate CAs it recognizes. An Intermediate CA is one that vouches for another one. On my workstation, I can click Start | Settings | Control Panel | Internet Options | Content (tab) | Certificates (button) | Intermediate Certification Authorities (tab). The text discusses six properties that you may find in a Public Key Certificate. They must have a public key, a subject name, and a CA-generated signature. Usually, they contain an expiration date, the name of the CA that issued the public key certificate, and the serial number of the public key certificate. To use public key cryptography, typically you will begin by obtaining a public key certificate from a CA. To obtain a certificate for a user:
To obtain a certificate for a server:
Identify How Public Key Cryptography WorksA system that uses public key cryptography will use its public and private keys, and the certificates issued to it. Certificates provide authentication, proof that an entity on the network is who they say they are. Once entities are authenticated, they can exchange public keys, enabling them to send encrypted messages only the intended receiver of each message can decrypt. These concepts apply to web commerce, banking, and the simple act of logging on to a network. Use Novell Certificate Server to Implement Public Key CryptographyNovell Certificate Server protects the transmissions in your network by creating, issuing, and managing user and server certificates. As a continuation of the previous topics, the text outlines several instance in which certificates are used:
A list of features of the Certificate Server is provided in the chapter:
eDirectory requires some specific security objects for a Certificate Server to function:
Server certificate objects are created in the same container as the server. They hold both private and public keys, public key certificate, and certificate chain for the server. (A certificate chain leads from this server to the CA that verifies its certificate.) Separate server certificates can be created for separate applications that use them, or you can use the same server certificate for all applications on that server that need a certificate. Server certificate objects are created with ConsoleOne, and they must be owned by the server. Ownership cannot be changed. Another name for a server certificate object is Key Material Object (KMO). This is why the name of the server certificate object in eDirectory is actually NDSPKI:Key Material. (NDS is the old name for eDirectory, and PKI stands for Public Key Infrastructure.) Novell Certificate Server is contained in PKI.NLM and a snap-in that allows it to be managed from ConsoleOne, which is run on a workstation. It cannot be managed from ConsoleOne running on a server. Using ConsoleOne, you can:
Novell International Cryptographic Infrastructure (NICI) must be installed for Novell Certificate Server to work. NICI comes with Certificate Server, but must be installed and licensed manually, if the Certificate Server is not already running PKI services. You can check the version of NICI on your server from the GUI console. Click Novell | Install, and look for the NICI entry in the Installed Products list. The version information will be found there. Users can use ConsoleOne or Novell Certificate Console to export a certificate and private key. The Certificate Console is an alternative, if you do not want your users to use ConsoleOne. As stated above, one server in your tree will run the CA service. From it, you can create the Server Certificate objects to be used by servers that will host secure applications.
Applications must be configured to use the Server Certificates. Public key certificates expire in specific periods of time. The default period is two years for certificates signed by the Novell CA. Those signed by External CAs typically expire in one year. The certificate life span can be set to expire in 6 months, 1 year, 2 years, 5 years, or in the year 2036. (The year 2036 is a legacy from UNIX public key certificates.) Life cycle of a key pair:
Public keys are available to anyone. If you suspect your private key has been compromised, request that it be revoked, and that a new key pair be generated. The discusses symmetric cryptography, comparing it to public key methods. Symmetric cryptography is used when a document is encrypted, and the key (password) for the document must be distributed to users of the document. The greater the distribution, the higher the likelihood that security will become compromised. Interception of the key is a possibility that is minimized in public key systems. The user of a key pair never passes out his private key, and the public key is meant to be public. Secure Sockets Layer (SSL)This is a protocol that uses public and private keys on both ends of a session. For example, if you were to make a purchase from Amazon.com, you would begin an SSL session with their server by sending it your public key (keeping your private key to yourself), and receiving their public key (while they keep their private key hidden). In this way, transmissions from either end can only be decrypted by the intended receiver. Some terminology about SSL:
Seting Up Novell Certificate ServerNetWare should create an Organizational CA for you when you install the Certificate Server service. To create the Organizational CA object manually:
You must choose a server in the tree to run the CA service. You are advised to choose one that is reliable and available, that runs the necessary protocols to communicate with all your other servers (IP, IPX, or both), and that only runs software you trust. Server Certificate objects are created in the same container as the server they are associated with. As noted above, Server Certificate objects are also called Key Material objects. The schema name of the eDirectory object is NDSPKI:Key Material. To create additional Server Certificate objects:
Detailed procedures are given in the text for creating user certificates, creating a trusted root container (in the Security container), creating a Trusted Root object (in the trusted root container), exporting a trusted root certificate, and replacing a trusted root certificate. You should practice all these procedures. The process for configuring individual applications to use your CA varies from one product to another. You should check the documentation of the product. Some require that you export a public key certificate from your organizational CA, just as an external CA does. To issue a public key certificate from your CA:
The Self-Signed Certificate is used for authentication. It is exported to entities that require verification of certificates signed by your CA. This is similar to the trusted root certificate that is exported by servers. You can begin the process of exporting a Self-Signed Certificate by clicking the Export button on its page. When an external CA responds to your request (CSR) for a Server Certificate, it sends a signed public key certificate, which verifies your identity. It is like an ID card to show applications and secure users. (It also sends a trusted root certificate, which verifies the CAs identity. This certificate proves the identity of the issuer of your public key certificate.) When received, you must import the public key certificate(s) before they can be used. This can be done from either the General or Certificate tab of your Server Certificate object. You will be presented with a window in which you should paste text from the Server certificate you received. (The Server certificate from the CA is a text file.) Paste all lines between and including the lines that say -----BEGIN CERTIFICATE----- and -----END CERTIFICATE-----. (Self Study) Defend the Network Against Hacking and Denial of Service (DoS) AttacksThe last section of the chapter begins with a discussion of methods of attacking a system. Some classic methods are:
Once inside your system, the hacker may load an NLM that will create an administrator account of his own. No, Novell does not create such NLMs, but hackers do. Some are called Burglar, Password, and Security. Novell frequently tells us of the dangers of having accounts without passwords. Another hacker technique is to try to log in to all known accounts, without using a password, playing the odds that one of them was not configured to need a password. Have some of you changed your minds about requiring passwords for users? NetWare Core Protocol packets are messages sent within the operating system itself. If a hacker can forge this sort of message, he may be able to do anything on the network. The way to avoid this is to enable NCP packet signatures, a form of authentication for these packets. In networks that use non-NDPS printers, there are print servers, NLM programs that watch the net for print jobs, store them in queues, and send the jobs to printers. A rogue print server, loaded by a hacker, masquerades as one of the real print servers, and takes advantage of the fact that print servers become empowered with the network rights of the sender of a print job. When this program receives a job from a user with admin rights, it can perform stealth actions for the hacker. So, what can you do to prevent these problems? Four suggestions about server security:
As already noted, require users to use passwords, require that they change passwords periodically, and require that passwords be a minimum length. Use your own judgement here: if you require passwords that are too long, users will write them down instead of remembering them. The same goes for changing them too often. As noted above, avoid forged NCP packet attacks by enabling digital signatures on NCP packets. Four levels of signature protection are possible:
The command to set these levels is: Rogue print servers can be defended against by requiring print server use encrypted passwords. Defend against the masquerade by limiting the number of simultaneous connections for print servers. Denial of Service (DoS) attacks happen when a network or server is bombarded with request packets, usually from mulitple slave computers, keeping the system from functioning. The text divides these attacks into three types:
Defending against DoS attacks:
|