Site Security Handbook
Site Security Handbook
Fraser
Request for Comments: 2196 Editor
FYI: 8 SEI/CMU
Obsoletes: 1244 September 1997
Category: Informational
Abstract
Table of Contents
1. Introduction.................................................... 2
1.1 Purpose of this Work............................................ 3
1.2 Audience........................................................ 3
1.3 Definitions..................................................... 3
1.4 Related Work.................................................... 4
1.5 Basic Approach.................................................. 4
1.6 Risk Assessment................................................. 5
2. Security Policies............................................... 6
2.1 What is a Security Policy and Why Have One?..................... 6
2.2 What Makes a Good Security Policy?.............................. 9
2.3 Keeping the Policy Flexible..................................... 11
3. Architecture.................................................... 11
3.1 Objectives...................................................... 11
3.2 Network and Service Configuration............................... 14
3.3 Firewalls....................................................... 20
4. Security Services and Procedures................................ 24
4.1 Authentication.................................................. 24
4.2 Confidentiality................................................. 28
4.3Integrity....................................................................28
1. Introduction
A special thank you goes to Joyce Reynolds, ISI, and Paul Holbrook, CICnet, for
their vision, leadership, and effort in the creation of the first version of this
handbook. It is the working group’s sincere hope that this version will be as helpful
to the community as the
earlier one was.
This guide is only a framework for setting security policies and procedures.
In order to have an effective set of policies and procedures, a site will have to make
many decisions, gain agreement, and then communicate and implement these
policies.
1.2 Audience
The audience for this document are system and network administrators, and
decision makers (typically "middle management") at sites. For brevity, we will use
the term "administrator" throughout this document to refer to system and network
administrators.
The primary audience for this work are sites that are members of the Internet
community. However, this document should be useful to any site that allows
communication with other sites. As a general guide to security policies, this
document may also be useful to sites with isolated systems.
1.3 Definitions
For the purposes of this guide, a "site" is any organization that owns
computers or network-related resources. These resources may include host
computers that users use, routers, terminal servers, PCs or other devices that have
access to the Internet. A site may be an end user of Internet services or a service
provider such as a mid- level network. However, most of the focus of this guide is
on those end users of Internet services. We assume that the site has the ability to
set policies and procedures for itself with the concurrence and support from those
who actually own the resources. It will be assumed that sites that are parts of larger
organizations will know when they need to consult, collaborate, or take
recommendations from, the larger entity.
The term "security administrator" is used to cover all those people who are
responsible for the security of information and information technology. At some
sites this function may be combined with administrator (above); at others, this will be
a separate position.
The term "decision maker" refers to those people at a site who set or approve
policy. These are often (but not always) the people who own the resources.
Most of this document is focused on item 4 above, but the other steps cannot
be avoided if an effective plan is to be established at your site. One old truism in
security is that the cost of protecting yourself against a threat should be less than
the cost of recovering if the threat were to strike you. Cost in this context should be
remembered to include losses expressed in real currency, reputation,
trustworthiness, and other less obvious measures. Without reasonable knowledge
of what you are protecting and what the likely threats are, following this rule could
be difficult.
One of the most important reasons for creating a computer security policy is
to ensure that efforts spent on security yield cost effective benefits. Although this
may seem obvious, it is possible to be mislead about where the effort is needed. As
an example, there is a great deal of publicity about intruders on computers systems;
yet most surveys of computer security show that, for most organizations, the actual
loss from "insiders" is much greater.
Risk analysis involves determining what you need to protect, what you need
to protect it from, and how to protect it. It is the process of examining all of your
risks, then ranking those risks by level of severity. This process involves making
cost-effective decisions on
what you want to protect. As mentioned above, you should probably not spend
more to protect something than it is actually worth.
A full treatment of risk analysis is outside the scope of this document. [Fites
1989] and [Pfleeger 1989] provide introductions to this topic. However, there are
two elements of a risk analysis that will be briefly covered in the next two sections:
For each asset, the basic goals of security are availability, confidentiality, and
integrity. Each threat should be examined with an eye to how the threat could affect
these areas.
One step in a risk analysis is to identify all the things that need to be
protected. Some things are obvious, like valuable proprietary information,
intellectual property, and all the various pieces of hardware; but, some are
overlooked, such as the people who actually use the systems. The essential point is
to list all things that could be affected by a security problem.
One list of categories is suggested by Pfleeger [Pfleeger 1989]; this list is adapted
from that source:
(3) Data: during execution, stored on-line, archived off-line, backups, audit logs,
databases, in transit over communication media.
2. Security Policies
A security policy is a formal statement of the rules by which people who are
given access to an organization’s technology and information assets must abide.
The main purpose of a security policy is to inform users, staff and managers
of their obligatory requirements for protecting technology and information assets.
The policy should specify the mechanisms through which these requirements can
be met. Another purpose is to provide a baseline from which to acquire, configure
and audit computer systems and networks for compliance with the policy. Therefore
an attempt to use a set of security tools in the absence of at least an implied
security policy is meaningless. An Appropriate Use Policy (AUP) may also be part of
a security policy. It should spell out what users shall and shall not do on the various
components of the system, including the type of traffic allowed on the networks.
The AUP should be as explicit as possible to avoid ambiguity or misunderstanding.
For example, an AUP might list any prohibited USENET newsgroups. (Note:
Appropriate Use Policy is referred to as Acceptable Use Policy by some sites.)
(2) It must be enforcible with security tools, where appropriate, and with sanctions,
where actual prevention is not technically feasible.
(3) It must clearly define the areas of responsibility for the users, administrators,
and management.
(3) An Access Policy which defines access rights and privileges to protect assets
from loss or disclosure by specifying acceptable use guidelines for users, operations
staff, and management. It should provide guidelines for external connections, data
communications, connecting devices to a network, and adding new software to
systems. It should also specify any required notification messages (e.g., connect
messages should provide warnings about authorized usage and line monitoring,
and not simply say "Welcome").
(6) An Availability statement which sets users’ expectations for the availability of
resources. It should address redundancy and recovery issues, as well as specify
operating hours and maintenance down-time periods. It should also include contact
information for reporting system and network failures.
(8) A Violations Reporting Policy that indicates which types of violations (e.g.,
privacy and security, internal and external) must be reported and to whom the
reports are made. A non-
threatening atmosphere and the possibility of anonymous reporting will result in a
greater probability that a violation will be reported if it is detected.
(9) Supporting Information which provides users, staff, and management with
contact information for each type of policy violation; guidelines on how to handle
outside queries about a security incident, or information which may be considered
confidential or proprietary; and cross-references to security procedures and related
information, such as company policies and governmental laws and regulations.
In order for a security policy to be viable for the long term, it requires a lot of
flexibility based upon an architectural security concept. A security policy should be
(largely) independent from specific hardware and software situations (as specific
systems tend to be replaced or moved overnight). The mechanisms for updating
the policy should be clearly spelled out. This includes the process, the people
involved, and the people who must sign-off on the changes.
3. Architecture
3.1 Objectives
All sites should define a comprehensive security plan. This plan should be at
a higher level than the specific policies discussed in chapter 2, and it should be
crafted as a framework of broad guidelines into which specific policies will fit.
A security plan should define: the list of network services that will be
provided; which areas of the organization will provide the services; who will have
access to those services; how access will be provided; who will administer those
services; etc.
There are many services which a site may wish to provide for its users, some
of which may be external. There are a variety of security reasons to attempt to
isolate services onto dedicated host computers. There are also performance
reasons in most cases, but a detailed discussion is beyond to scope of this
document.
The services which a site may provide will, in most cases, have different
levels of access needs and models of trust. Services which are essential to the
security or smooth operation of a site would be better off being placed on a
dedicated machine with very limited
access (see Section 3.1.3 "deny all" model), rather than on a machine that provides
a service (or services) which has traditionally been less secure, or requires greater
accessability by users who may accidentally suborn security.
Some of the services which should be examined for potential separation are
outlined in section 3.2.3. It is important to remember that security is only as strong
as the weakest link in the chain. Several of the most publicized penetrations in
recent years have been through the exploitation of vulnerabilities in electronic mail
systems. The intruders were not trying to steal electronic mail, but they used the
vulnerability in that service to gain access to other systems.
The first option is to turn off all services and then selectively enable services
on a case by case basis as they are needed. This can be done at the host or
network level as appropriate. This model, which will here after be referred to as the
"deny all" model, is
generally more secure than the other model described in the next paragraph. More
work is required to successfully implement a "deny all" configuration as well as a
better understanding of services. Allowing only known services provides for a better
analysis of a
particular service/protocol and the design of a security mechanism suited to the
security level of the site.
The other model, which will here after be referred to as the "allow all" model,
is much easier to implement, but is generally less secure than the "deny all" model.
Simply turn on all services, usually the default at the host level, and allow all
protocols to travel across network boundaries, usually the default at the router level.
As security holes become apparent, they are restricted or patched at either the host
or network level.
Services tend to rush like waves over the Internet. Over the years many
sites have established anonymous FTP servers, gopher servers, wais servers,
WWW servers, etc. as they became popular, but not particularly needed, at all sites.
Evaluate all new services that
are established with a skeptical attitude to determine if they are actually needed or
just the current fad sweeping the Internet.
Bear in mind that security complexity can grow exponentially with the number
of services provided. Filtering routers need to be modified to support the new
protocols. Some protocols are inherently difficult to filter safely (e.g., RPC and UDP
services), thus providing more openings to the internal network. Services provided
on the same machine can interact in catastrophic ways. For example, allowing
anonymous FTP on the same machine as the WWW server may allow an intruder to
place a file in the anonymous FTP area and cause the HTTP server to execute it.
There are several problems to which networks are vulnerable. The classic problem
is a "denial of service" attack. In this case, the etwork is brought to a state in which
it can no longer carry legitimate users’ data. There are two common ways this can
be done: by attacking the routers and by flooding the network with extraneous
traffic. Please note that the term "router" in this section is used as an example of a
larger class of active network interconnection components that also includes
components like firewalls, proxy- servers, etc.
An attack on the router is designed to cause it to stop forwarding packets, or
to forward them improperly. The former case may be due to a misconfiguration, the
injection of a spurious routing update, or a "flood attack" (i.e., the router is
bombarded with unroutable packets, causing its performance to degrade). A flood
attack on a network is similar to a flood attack on a router, except that the flood
packets are usually broadcast. An ideal flood attack would be the injection of a
single packet which exploits some known flaw in the network nodes and causes
them to retransmit the packet, or generate error packets, each of which is picked up
and repeated by another host. A well chosen attack packet can even generate an
exponential explosion of transmissions.
RIP-2 (RFC 1723) and OSPF (RFC 1583) both support clear-text passwords in their
base design specifications. In addition, there are extensions to each base protocol
to support MD5 encryption.
There are many types of services and each has its own security
requirements. These requirements will vary based on the intended use of the
service. For example, a service which should only be usable within a site (e.g.,
NFS) may require different protection mechanisms than a service provided for
external use. It may be sufficient to protect the internal server from external access.
However, a WWW server, which provides a home page intended for viewing by
users anywhere on the Internet, requires built-in protection. That is, the
service/protocol/server must provide whatever security may be required to prevent
unauthorized access and modification of the Web database.
Internal services (i.e., services meant to be used only by users within a site)
and external services (i.e., services deliberately made available to users outside a
site) will, in general, have protection requirements which differ as previously
described. It is therefore wise to isolate the internal services to one set of server
host computers and the external services to another set of server host computers.
That is, internal and external servers should not be co-located on the same host
computer. In fact, many sites go so far
One form of external service deserves some special consideration, and that
is anonymous, or guest, access. This may be either anonymous FTP or guest
(unauthenticated) login. It is extremely important to ensure that anonymous FTP
servers and guest login userids are carefully isolated from any hosts and file
systems from which outside users should be kept. Another area to which special
attention must be paid concerns anonymous, writable access. A site may be legally
responsible for the content of publicly available information, so careful monitoring of
the information deposited by anonymous users is
advised.
Now we shall consider some of the most popular services: name service,
password/key service, authentication/proxy service, electronic mail, WWW, file
transfer, and NFS. Since these are the most frequently used services, they are the
most obvious points of attack. Also, a successful attack on one of these services
can produce disaster all out of proportion to the innocence of the basic service.
The Internet uses the Domain Name System (DNS) to perform address
resolution for host and network names. The Network Information Service (NIS) and
NIS+ are not used on the global Internet, but are subject to the same risks as a
DNS server. Name-to-address
resolution is critical to the secure operation of any network. An attacker who can
successfully control or impersonate a DNS server can re-route traffic to subvert
security protections. For example, routine traffic can be diverted to a compromised
system to be
monitored; or, users can be tricked into providing authentication secrets. An
organization should create well known, protected sites
Password and key servers generally protect their vital information (i.e., the
passwords and keys) with encryption algorithms. However, even a one-way
encrypted password can be determined by a dictionary attack (wherein common
words are encrypted to see if they match the stored encryption). It is therefore
necessary to ensure that these servers are not accessable by hosts which do not
plan to use them for the service, and even those hosts should only be able to
access the service (i.e., general services, such as Telnet and FTP, should not be
allowed by anyone other than administrators).
Electronic mail (email) systems have long been a source for intruder break-
ins because email protocols are among the oldest and most widely deployed
services. Also, by it’s very nature, an email server requires access to the outside
world; most email servers accept input from any source. An email server generally
consists of two parts: a receiving/sending agent and a processing agent. Since
email is delivered to all users, and is usually private, the processing agent typically
requires system (root) privileges to deliver the mail. Most email implementations
perform both portions of the service, which means the receiving agent also has
system privileges. This opens several security holes which this document will not
describe. There are some implementations available which allow a separation of
Many sites may want to co-locate FTP service with their WWW service. But
this should only occur for anon-ftp servers that only provide information (ftp-get).
Anon-ftp puts, in combination with WWW, might be dangerous (e.g., they could
result in modifications to the information your site is publishing to the web) and in
themselves make the security considerations for each service different.
FTP and TFTP both allow users to receive and send electronic files in a
point-to-point manner. However, FTP requires authentication while TFTP requires
none. For this reason, TFTP should be avoided as much as possible.
Improperly configured FTP servers can allow intruders to copy, replace and
delete files at will, anywhere on a host, so it is very important to configure this
service correctly. Access to encrypted passwords and proprietary data, and the
introduction of Trojan horses
are just a few of the potential security holes that can occur when the service is
configured incorrectly. FTP servers should reside on their own host. Some sites
choose to co-locate FTP with a Web server, since the two protocols share common
security considerations However, the the practice isn’t recommended, especially
when the FTP service allows the deposit of files (see section on WWW above). As
mentioned in the opening paragraphs of section 3.2.3, services offered internally to
your site should not be co-located with services offered externally. Each should
have its own host.
3.2.3.7 NFS
The Network File Service allows hosts to share common disks. NFS is
frequently used by diskless hosts who depend on a disk server for all of their
storage needs. Unfortunately, NFS has no built-in security. It is therefore necessary
that the NFS server be accessable only by those hosts which are using it for
service. This is achieved by specifying which hosts the file system is being
exported to and in what manner (e.g., read-only, read-write, etc.). Filesystems
should not be exported to any hosts outside the local network since this will require
that the NFS service be accessible externally. Ideally, external access to NFS
service should be stopped by a firewall.
It is amazing how often a site will overlook the most obvious weakness in its
security by leaving the security server itself open to attack. Based on
considerations previously discussed, it should be clear that: the security server
should not be accessible from off-site; should offer minimum access, except for the
authentication function, to users on-site; and should not be co-located with any
other servers. Further, all access to the node, including access to the service itself,
should be logged to provide a "paper trail" in the event of a security breach.
3.3 Firewalls
One of the most widely deployed and publicized security measures in use on
the Internet is a "firewall." Firewalls have been given the reputation of a general
panacea for many, if not all, of the Internet security issues. They are not. Firewalls
are just another tool in the quest for system security. They provide a certain level of
protection and are, in general, a way of implementing security policy at the network
level. The level of security that a firewall provides can vary as much as the level of
security on a particular machine. There are the traditional trade-offs between
security, ease of use, cost, complexity, etc.
Firewalls are not always, or even typically, a single machine. Rather, firewalls
are often a combination of routers, network segments, and host computers.
Therefore, for the purposes of this discussion, the term "firewall" can consist of
more than one physical device. Firewalls are typically built using two different
components, filtering routers and proxy servers.
For better security, the filters usually restrict access between the two
connected nets to just one host, the bastion host. It is only possible to access the
other network via this bastion host. As only this host, rather than a few hundred
hosts, can get attacked, it is easier to maintain a certain level of security because
only this host has to be protected very carefully. To make resources available to
legitimate users across this firewall, services have to be forwarded by the bastion
host. Some servers have forwarding built in (like DNS-servers or SMTP-servers),
for other services (e.g., Telnet, FTP, etc.), proxy servers can be used to allow
access to the resources across the firewall in a secure way.
There are significant security benefits which can be derived from using proxy
servers. It is possible to add access control lists to protocols, requiring users or
systems to provide some level of authentication before access is granted. Smarter
proxy servers, sometimes called Application Layer Gateways (ALGs), can be written
which understand specific protocols and can be configured to block only
subsections of the protocol. For example, an ALG for FTP can tell the difference
between the "put" command and the "get" command; an organization may wish to
allow users to "get" files from the Internet, but not be able to "put" internal files on a
remote server. By contrast, a filtering router could either block all FTP access, or
none, but not a subset.
Firewalls are typically thought of as a way to keep intruders out, but they are
also often used as a way to let legitimate users into a site. There are many
examples where a valid user might need to regularly access the "home" site while
on travel to trade shows and
conferences, etc. Access to the Internet is often available but may be through an
untrusted machine or network. A correctly configured proxy server can allow the
correct users into the site while still denying access to other users.
A final note about firewalls. They can be a great aid when implementing
security for a site and they protect against a large variety of attacks. But it is
important to keep in mind that they are only one part of the solution. They cannot
protect your site against all types of attack.
This chapter guides the reader through a number of topics that should be
addressed when securing a site. Each section touches on a security service or
capability that may be required to protect the information and systems at a site. The
topics are presented at a fairly high-level to introduce the reader to the concepts.
4.1 Authentication
For many years, the prescribed method for authenticating users has been
through the use of standard, reusable passwords. Originally, these passwords were
used by users at terminals to authenticate themselves to a central computer. At the
time, there were no networks (internally or externally), so the risk of disclosure of
the clear text password was minimal. Today, systems are connected together
through local networks, and these local networks are further connected together and
to the Internet. Users are logging in from all over the globe; their reusable
passwords are often transmitted across those same networks in clear text, ripe for
anyone in-between to capture. And indeed, the CERT* Coordination Center and
other response teams are seeing a tremendous number of incidents involving
packet sniffers which are capturing the clear text passwords.
With the advent of newer technologies like one-time passwords (e.g., S/Key),
PGP, and token-based authentication devices, people are using password-like
strings as secret tokens and pins. If these secret tokens and pins are not properly
selected and protected, the
authentication will be easily subverted.
4.1.2 Kerberos
The practical side of Kerberos is its integration with the application level.
Typical applications like FTP, telnet, POP, and NFS have been integrated with the
Kerberos system. There are a variety of implementations which have varying levels
of integration. Please see the Kerberos FAQ available at
http://www.ov.com/misc/krb- faq.html for the latest information.
When selecting secret tokens, take care to choose them carefully. Like the
selection of passwords, they should be robust against brute force efforts to guess
them. That is, they should not be single words in any language, any common,
industry, or cultural acronyms,
etc. Ideally, they will be longer rather than shorter and consist of pass phrases that
combine upper and lower case character, digits, and other characters.
Once chosen, the protection of these secret tokens is very important. Some
are used as pins to hardware devices (like token cards) and these should not be
written down or placed in the same location as the device with which they are
associated. Others, such as a secret Pretty Good Privacy (PGP) key, should be
protected from unauthorized access.
One final word on this subject. When using cryptography products, like PGP,
take care to determine the proper key length and ensure that your users are trained
to do likewise. As technology advances, the minimum safe key length continues to
grow. Make sure your site keeps up with the latest knowledge on the technology so
that you can ensure that any cryptography in use is providing the protection you
believe it is.
While the need to eliminate the use of standard, reusable passwords cannot
be overstated, it is recognized that some organizations may still be using them.
While it’s recommended that these organizations transition to the use of better
technology, in the mean time, we have the following advice to help with the
selection and maintenance of traditional passwords. But remember, none of these
measures provides protection against disclosure due to sniffer programs.
(6) A word about the finger daemon - By default, the finger daemon displays
considerable system and user information. For example, it can display a list of all
users currently using a system, or all the contents of a specific user’s .plan file. This
information can be used by would-be intruders to identify usernames and guess
their passwords. It is recommended that
sites consider modifying finger to restrict the information displayed.
4.2 Confidentiality
There will be information assets that your site will want to protect from
disclosure to unauthorized entities. Operating systems often have built-in file
protection mechanisms that allow an administrator to control who on the system can
access, or "see," the contents of a
given file. A stronger way to provide confidentiality is through encryption.
Encryption is accomplished by scrambling data so that it is very difficult and time
consuming for anyone other than the authorized recipients or owners to obtain the
plain text. Authorized recipients and the owner of the information will possess the
corresponding decryption keys that allow them to easily unscramble the text to a
readable (clear text) form. We recommend that sites
use encryption to provide confidentiality and protect valuable information.
4.3 Integrity
There are other applications where integrity will need to be assured, such as
when transmitting an email message between two parties. There are products
available that can provide this capability. Once you identify that this is a capability
you need, you can go about identifying technologies that will provide it.
4.4 Authorization
Explicitly listing the authorized activities of each user (and user process) with
respect to all resources (objects) is impossible in a reasonable system. In a real
system certain techniques are used to simplify the process of granting and checking
authorization(s).
4.5 Access
Restrict physical access to hosts, allowing access only to those people who
are supposed to use the hosts. Hosts include "trusted" terminals (i.e., terminals
which allow unauthenticated use such as system consoles, operator terminals and
terminals dedicated to
special tasks), and individual microcomputers and workstations, especially those
connected to your network. Make sure people’s work areas mesh well with access
restrictions; otherwise they will find ways to circumvent your physical security (e.g.,
jamming doors open).
Keep original and backup copies of data and programs safe. Apart from
keeping them in good condition for backup purposes, they must be protected from
theft. It is important to keep backups in a separate location from the originals, not
only for damage considerations, but also to guard against thefts.
Portable hosts are a particular risk. Make sure it won’t cause problems if one
of your staff’s portable computer is stolen. Consider developing guidelines for the
kinds of data that should be allowed to reside on the disks of portable computers as
well as how the data should be protected (e.g., encryption) when it is on a portable
computer.
Other areas where physical access should be restricted is the wiring closets
and important network elements like file servers, name server hosts, and routers.
Consider whether you need to provide this service, bearing in mind that it
allows any user to attach an unauthorized host to your network. This increases the
risk of attacks via techniques such as
If you are providing walk-up access for visitors to connect back to their home
networks (e.g., to read e-mail, etc.) in your facility, consider using a separate subnet
that has no connectivity to the internal network.
Keep an eye on any area that contains unmonitored access to the network,
such as vacant offices. It may be sensible to disconnect such areas at the wiring
closet, and consider using secure hubs and monitoring attempts to connect
unauthorized hosts.
Technologies considered here include X.25, ISDN, SMDS, DDS and Frame
Relay. All are provided via physical links which go through telephone exchanges,
providing the potential for them to be diverted. Crackers are certainly interested in
telephone switches as well as in data networks!
4.5.4 Modems
Although they provide convenient access to a site for its users, they can also
provide an effective detour around the site’s firewalls. For this reason it is essential
to maintain proper control of modems.
Don’t allow users to install a modem line without proper authorization. This
includes temporary installations (e.g., plugging a modem into a facsimile or
telephone line overnight).
Remember that telephone lines can be tapped, and that it is quite easy to
intercept messages to cellular phones. Modern high-speed modems use more
sophisticated modulation techniques, which makes them somewhat more difficult to
monitor, but it is prudent to assume that hackers know how to eavesdrop on your
lines. For this reason, you
should use one-time passwords if at all possible.
It is helpful to have a single dial-in point (e.g., a single large modem pool) so
that all users are authenticated in the same way.
Users will occasionally mis-type a password. Set a short delay – say two
seconds - after the first and second failed logins, and force a disconnect after the
third. This will slow down automated password attacks. Don’t tell the user whether
the username, the password, or both, were incorrect.
Some dial-in servers offer call-back facilities (i.e., the user dials in and is
authenticated, then the system disconnects the call and calls back on a specified
number). Call-back is useful since if someone were to guess a username and
password, they are disconnected, and the system then calls back the actual user
whose password was cracked; random calls from a server are suspicious, at best.
This does mean users may only log in from one location (where the server is
configured to dial them back), and of course there may be phone charges
associated with there call-back location.
Many sites use a system default contained in a message of the day file for
their opening banner. Unfortunately, this often includes the type of host hardware or
operating system present on the host. This can provide valuable information to a
would-be intruder. Instead, each site should create its own specific login banner,
taking care to only include necessary information.
Display a short banner, but don’t offer an "inviting" name (e.g., University of
XYZ, Student Records System). Instead, give your site name, a short warning that
sessions may be monitored, and a username/password prompt. Verify possible
legal issues related to the text you put into the banner.
Dial-out users should also be authenticated, particularly since your site will
have to pay their telephone charges.
At a minimum, don’t allow the same modems and phone lines to be used for
both dial-in and dial-out. This can be implemented easily if you run separate dial-in
and dial-out modem pools.
Check that your modems terminate calls cleanly. When a user logs out from
an access server, verify that the server hangs up the phone line properly. It is
equally important that the server forces logouts from whatever sessions were active
if the user hangs up unexpectedly.
4.6 Auditing
This section covers the procedures for collecting data generated by network
activity, which may be useful in analyzing the security of a network and responding
to security incidents.
Audit data should include any attempt to achieve a different security level by
any person, process, or other entity in the network. This includes login and logout,
super user access (or the non-UNIX equivalent), ticket generation (for Kerberos, for
example), and any
other change of access or status. It is especially important to note "anonymous" or
"guest" access to public servers.
The actual data to collect will differ for different sites and for different types of
access changes within a site. In general, the information you want to collect
includes: username and hostname, for login and logout; previous and new access
rights, for a change of access rights; and a timestamp. Of course, there is much
more information which might be gathered, depending on what the system makes
available and how much space is available to store that information.
There are basically three ways to store audit records: in a read/write file on a
host, on a write-once/read-many device (e.g., a CD-ROM or a specially configured
tape drive), or on a write-only device (e.g., a line printer). Each method has
advantages and disadvantages.
File system logging is the least resource intensive of the three methods and
the easiest to configure. It allows instant access to the records for analysis, which
may be important if an attack is in progress. File system logging is also the least
reliable method. If
the logging host has been compromised, the file system is usually the first thing to
go; an intruder could easily cover up traces of the intrusion.
Line printer logging is useful in system where permanent and immediate logs
are required. A real time system is an example of this, where the exact point of a
failure or attack must be recorded. A laser printer, or other device which buffers data
(e.g., a print
server), may suffer from lost data if buffers contain the needed data at a critical
instant. The disadvantage of, literally, "paper trails" is the need to keep the printer
fed and the need to scan records by hand. There is also the issue of where to store
the, potentially, enormous volume of paper which may be generated.
For each of the logging methods described, there is also the issue of
securing the path between the device generating the log and actual logging device
(i.e., the file server, tape/CD-ROM drive, printer). If that path is compromised,
logging can be stopped or spoofed or both. In an ideal world, the logging device
would be directly
Audit data should be some of the most carefully secured data at the site and
in the backups. If an intruder were to gain access to audit logs, the systems
themselves, in addition to the data, would be at risk.
Audit data may also become key to the investigation, apprehension, and
prosecution of the perpetrator of an incident. For this reason, it is advisable to seek
the advice of legal council when deciding how audit data should be treated. This
should happen before an incident occurs.
Due to the content of audit data, there are a number of legal questions that
arise which might need to be addressed by your legal counsel. If you collect and
save audit data, you need to be prepared for consequences resulting both from its
existence and its content.
(2) Make sure your site is using offsite storage for backups. The storage site
should be carefully selected for both its security and its availability.
(4) Don’t always assume that your backups are good. There have been many
instances of computer security incidents that have gone on for long periods of
time before a site has noticed the incident. In such cases, backups of the
affected systems are also tainted.
This chapter of the document will supply guidance to be used before, during,
and after a computer security incident occurs on a host, network, site, or multi-site
environment. The operative philosophy in the event of a breach of computer
security is to react according
One of the most important, but often overlooked, benefits for efficient incident
handling is an economic one. Having both technical and managerial personnel
respond to an incident requires considerable resources. If trained to handle
incidents efficiently, less staff time is required when one occurs.
Due to the world-wide network most incidents are not restricted to a single
site. Operating systems vulnerabilities apply (in some cases) to several millions of
systems, and many vulnerabilities are exploited within the network itself. Therefore,
it is vital that all
sites with involved parties be informed as soon as possible.
(1) Preparing and planning (what are the goals and objectives in handling an
incident).
(2) Notification (who should be contacted in the case of an incident).
- Local managers and personnel
- Law enforcement and investigative agencies
- Computer security incidents handling teams
- Affected and involved sites
- Internal communications
- Public relations and press releases
(3) Identifying an incident (is it an incident and how serious is it).
(4) Handling (what should be done when an incident occurs).
- Notification (who should be notified about the incident)
- Protecting evidence and activity logs (what records should be kept from before,
during, and after the incident)
- Containment (how can the damage be limited)
- Eradication (how to eliminate the reasons for the incident)
- Recovery (how to reestablish service and systems)
- Follow Up (what actions should be taken after the incident)
(5) Aftermath (what are the implications of past incidents).
(6) Administrative response to incidents.
The remainder of this chapter will detail the issues involved in each
of the important topics listed above, and provide some guidance as to
what should be included in a site policy for handling incidents.
Due to the nature of the incident, there might be a conflict between analyzing
the original source of a problem and restoring systems and services. Overall goals
(like assuring the integrity of critical systems) might be the reason for not analyzing
an incident. Of
course, this is an important management decision; but all involved parties must be
aware that without analysis the same incident may happen again.
(1) Priority one -- protect human life and people’s safety; human life always has
precedence over all other considerations.
(2) Priority two -- protect classified and/or sensitive data. Prevent exploitation of
classified and/or sensitive systems, networks or sites. Inform affected
(3) Priority three -- protect other data, including proprietary, scientific, managerial
and other data, because loss of data is costly in terms of resources. Prevent
exploitations of other systems, networks or sites and inform already affected
systems, networks or sites about successful penetrations.
(4) Priority four -- prevent damage to systems (e.g., loss or alteration of system
files, damage to disk drives, etc.). Damage to systems can result in costly down
time and recovery.
An important implication for defining priorities is that once human life and
national security considerations have been addressed, it is generally more important
to save data than system software and hardware. Although it is undesirable to have
any damage or loss during an incident, systems can be replaced. However, the loss
or compromise of data (especially classified or proprietary data) is usually not an
acceptable outcome under any circumstances.
Another important concern is the effect on others, beyond the systems and
networks where the incident occurs. Within the limits imposed by government
regulations it is always important to inform affected parties as soon as possible.
Due to the legal implications of this
topic, it should be included in the planned procedures to avoid further delays and
uncertainties for the administrators.
Handling incidents can be tedious and require any number of routine tasks
that could be handled by support personnel. To free the technical staff it may be
helpful to identify support staff who will help with tasks like: photocopying, fax’ing,
etc.
Settling these issues are especially important for the local person responsible
for handling the incident, since that is the person responsible for the actual
notification of others. A list of contacts in each of these categories is an important
time saver for this person during an incident. It can be quite difficult to find an
appropriate person during an incident when many urgent events are ongoing. It is
strongly recommended that all relevant telephone numbers (also electronic mail
addresses and fax numbers) be included in the site security policy. The names and
contact information of all individuals who will be directly involved in the handling of
an incident should be placed at the top of this list.
The single POC may or may not be the person responsible for handling the
incident. There are two distinct roles to fill when deciding who shall be the POC and
who will be the person in charge of the incident. The person in charge of the
incident will make decisions
as to the interpretation of policy applied to the event. In contrast, the POC must
coordinate the effort of all the parties involved with handling the event.
One of the most critical tasks for the POC is the coordination of all relevant
processes. Responsibilities may be distributed over the whole site, involving
multiple independent departments or groups. This will require a well coordinated
effort in order to achieve overall success. The situation becomes even more
complex if multiple sites are involved. When this happens, rarely will a single POC
at one site be able to adequately coordinate the handling of the entire incident.
Instead, appropriate incident response teams should be
involved.
Lastly, users must know how to report suspected incidents. Sites should
establish reporting procedures that will work both during and outside normal working
hours. Help desks are often used to receive these reports during normal working
hours, while beepers and telephones can be used for out of hours reporting.
(1) Whether your site or organization is willing to risk negative publicity or exposure
to cooperate with legal prosecution efforts.
Finally, your legal counsel should evaluate your site’s written procedures for
responding to incidents. It is essential to obtain a "clean bill of health" from a legal
perspective before you actually carry out these procedures.
It is vital, when dealing with investigative agencies, to verify that the person
who calls asking for information is a legitimate representative from the agency in
question. Unfortunately, many well intentioned people have unknowingly leaked
sensitive details about incidents, allowed unauthorized people into their systems,
etc., because a caller has masqueraded as a representative of a government
agency. (Note: this word of caution actually applies to all external contacts.)
Each site may choose to contact other sites directly or they can pass the
information to an appropriate incident response team. It is often very difficult to find
the responsible POC at remote sites and the incident response team will be able to
facilitate contact by making use of already established channels.
The legal and liability issues arising from a security incident will differ from
site to site. It is important to define a policy for the sharing and logging of
information about other sites before an incident occurs.
All the problems discussed above should be not taken as reasons not to
involve other sites. In fact, the experiences of existing teams reveal that most sites
informed about security problems are not even aware that their site had been
compromised. Without timely
information, other sites are often unable to take action against intruders.
(1) Keep the technical level of detail low. Detailed information about the incident
may provide enough information for others to launch similar attacks on other sites,
or even damage the site’s ability to prosecute the guilty party once the event is over.
(2) Keep the speculation out of press statements. Speculation of who is causing the
incident or the motives are very likely to be in error and may cause an inflamed view
of the incident.
(3) Work with law enforcement professionals to assure that evidence is protected.
If prosecution is involved, assure that the evidence collected is not divulged to the
press.
(4) Try not to be forced into a press interview before you are prepared. The
popular press is famous for the "2 am" interview, where the hope is to catch the
interviewee off guard and obtain information otherwise not available.
(5) Do not allow the press attention to detract from the handling of the event.
Always remember that the successful closure of an incident is of primary
importance.
5.3.1 Is It Real?
Along with the identification of the incident is the evaluation of the scope and
impact of the problem. It is important to correctly identify the boundaries of the
incident in order to effectively deal with it and prioritize responses.
In order to identify the scope and impact a set of criteria should be defined
which is appropriate to the site and to the type of connections available. Some of
the issues include:
The analysis of the damage and extent of the incident can be quite time
consuming, but should lead to some insight into the nature of the incident, and aid
investigation and prosecution. As soon as the breach has occurred, the entire
system and all of its components
should be considered suspect. System software is the most probable target.
Preparation is key to be able to detect all changes for a possibly tainted system.
This includes checksumming all media from the vendor using a algorithm which is
resistant to tampering. (See sections 4.3)
If the system supports centralized logging (most do), go back over the logs
and look for abnormalities. If process accounting and connect time accounting is
enabled, look for patterns of system usage. To a lesser extent, disk usage may
shed light on the incident. Accounting can provide much helpful information in an
analysis of an incident and subsequent prosecution. Your ability to address all
aspects of a specific incident strongly depends on the success of this analysis.
Certain steps are necessary to take during the handling of an incident. In all
security related activities, the most important point to be made is that all sites
should have policies in place.Without defined policies and goals, activities
undertaken will remain without focus. The goals should be defined by management
and legal counsel in advance.
As the activities involved are complex, try to get as much help as necessary.
While trying to solve the problem alone, real damage might occur due to delays or
missing information. Most administrators take the discovery of an intruder as a
personal challenge. By proceeding this way, other objectives as outlined in the local
policies may not always be considered. Trying to catch intruders may be a very low
priority, compared to system integrity, for example. Monitoring a hacker’s activity is
useful, but it might not be considered worth the risk to allow the continued access.
The choice of language used when notifying people about the incident can
have a profound effect on the way that information is received. When you use
emotional or inflammatory terms, you raise the potential for damage and negative
outcomes of the incident. It is important to remain calm both in written and spoken
communications.
Another consideration is that not all people speak the same language. Due to
this fact, misunderstandings and delay may arise, especially if it is a multi-national
incident. Other international concerns include differing legal implications of a
security incident and
cultural differences. However, cultural differences do not only exist between
countries. They even exist within countries, between different social or user groups.
For example, an administrator of a university system might be very relaxed about
attempts to connect to the system via telnet, but the administrator of a military
system is likely to consider the same action as a possible attack.
If local information (i.e., local user IDs) is included in the log entries, it will be
necessary to sanitize the entries beforehand to avoid privacy issues. In general, all
information which might assist a remote site in resolving an incident should be given
out, unless local policies prohibit this.
When you respond to an incident, document all details related to the incident.
This will provide valuable information to yourself and others as you try to unravel the
course of events. Documenting all details will ultimately save you time. If you don’t
document every
relevant phone call, for example, you are likely to forget a significant portion of
information you obtain, requiring you to contact the source of information again. At
the same time, recording details will provide evidence for prosecution efforts,
providing the case moves in that direction. Documenting an incident will also help
you perform a final assessment of damage (something your management, as well
as law enforcement officers, will want to know), and will provide the basis for later
phases of the handling process: eradication, recovery, and follow-up "lessons
learned."
(1) Regularly (e.g., every day) turn in photocopied, signed copies of your logbook
(as well as media you use to record system events) to a document custodian.
(2) The custodian should store these copied pages in a secure place (e.g., a safe).
(3) When you submit information for storage, you should receive a signed, dated
receipt from the document custodian.
5.4.3 Containment
Sometimes this decision is trivial; shut the system down if the information is
classified, sensitive, or proprietary. Bear in mind that removing all access while an
incident is in progress obviously notifies all users, including the alleged problem
users, that the
administrators are aware of a problem; this may have a deleterious
5.4.4 Eradication
Once the incident has been contained, it is time to eradicate the cause. But
before eradicating the cause, great care should be taken to collect all necessary
information about the compromised system(s) and the cause of the incident as they
will likely be lost when
cleaning up the system.
5.4.5 Recovery
Once the cause of an incident has been eradicated, the recovery phase
defines the next stage of action. The goal of recovery is to return the system to
normal. In general, bringing up services in the order of demand to allow a minimum
of user inconvenience is the best practice. Understand that the proper recovery
procedures for the system are extremely important and should be specific to the
site.
5.4.6 Follow-Up
Once you believe that a system has been restored to a "safe" state, it is still
possible that holes, and even traps, could be lurking in the system. One of the most
important stages of responding to incidents is also the most often omitted, the
follow-up stage. In the follow-up stage, the system should be monitored for items
that may have been missed during the cleanup stage. It would be prudent to utilize
some of the tools mentioned in chapter 7 as a start. Remember, these tools don’t
replace continual system monitoring and good systems administration practices.
In the wake of an incident, several actions should take place. These actions
can be summarized as follows:
(1) An inventory should be taken of the systems’ assets, (i.e., a careful examination
should determine how the system was affected by the incident).
(2) The lessons learned as a result of the incident should be included in revised
security plan to prevent the incident from re-occurring.
(4) An investigation and prosecution of the individuals who caused the incident
should commence, if it is deemed desirable.
If an incident is based on poor policy, and unless the policy is changed, then
one is doomed to repeat the past. Once a site has recovered from and incident, site
policy and procedures should be reviewed to encompass changes to prevent similar
incidents. Even without an incident, it would be prudent to review policies and
procedures on a regular basis. Reviews are imperative due to today’s changing
computing environments.
The whole purpose of this post mortem process is to improve all security
measures to protect the site against future attacks. As a result of an incident, a site
or organization should gain practical knowledge from the experience. A concrete
goal of the post mortem is
to develop new proactive methods. Another important facet of the aftermath may be
end user and administrator education to prevent a reoccurrence of the security
problem.
It is one thing to protect one’s own network, but quite another to assume that
one should protect other networks. During the handling of an incident, certain
system vulnerabilities of one’s own systems and the systems of others become
apparent. It is quite easy and may even be tempting to pursue the intruders in order
to track them. Keep in mind that at a certain point it is possible to "cross the line,"
and, with the best of intentions, become no better than the intruder.
The best rule when it comes to propriety is to not use any facility of remote
sites which is not public. This clearly excludes any entry onto a system (such as a
remote shell or login session) which is not expressly permitted. This may be very
tempting; after a breach of security is detected, a system administrator may have
the means to "follow it up," to ascertain what damage is being done to the remote
site. Don’t do it! Instead, attempt to reach the appropriate point of contact for the
affected site.
During a security incident there are two choices one can make. First, a site
can choose to watch the intruder in the hopes of catching him; or, the site can go
about cleaning up after the incident and shut the intruder out of the systems. This is
a decision that must be made very thoughtfully, as there may be legal liabilities if
you choose to leave your site open, knowing that an intruder is using your site as a
launching pad to reach out to other sites. Being a good Internet citizen means that
you should try to alert other sites that may have been impacted by the intruder.
These affected sites may be readily apparent after a thorough review of your log
files.
6. Ongoing Activities
At this point in time, your site has hopefully developed a complete security
policy and has developed procedures to assist in the configuration and
management of your technology in support of those policies. How nice it would be if
you could sit back and relax atthis point and know that you were finished with the
job of security. Unfortunately, that isn’t possible. Your systems and networks are
not a static environment, so you will need to review policies and procedures on a
regular basis. There are a number of steps you can take to help you keep up with
the changes around you so that you can initiate corresponding actions to address
those changes. The following is a starter set and you may add others as
appropriate for your site.
(1) Subscribe to advisories that are issued by various security incident response
teams, like those of the CERT Coordination Center, and update your systems
against those threats that apply to your site’s technology.
(2) Monitor security patches that are produced by the vendors of your equipment,
and obtain and install all that apply.
(3) Actively watch the configurations of your systems to identify any changes that
may have occurred, and investigate all anomalies.
(4) Review all security policies and procedures annually (at a minimum).
(5) Read relevant mailing lists and USENET newsgroups to keep up to date with
the latest information being shared by fellow administrators.
(6) Regularly check for compliance with policies and procedures. This audit should
be performed by someone other than the people who define or implement the
policies and procedures.