Server security is as important as network security because
servers often hold a great deal of an organization's vital
information. If a server is compromised, all of its contents may
become available for the cracker to steal or manipulate at will.
The following sections detail some of the main issues.
A full installation of Red Hat Enterprise Linux contains 1000+
application and library packages. However, most server
administrators do not opt to install every single package in the
distribution, preferring instead to install a base installation of
packages, including several server applications.
A common occurrence among system administrators is to install
the operating system without paying attention to what programs are
actually being installed. This can be problematic because unneeded
services may be installed, configured with the default settings,
and possibly turned on. This can cause unwanted services, such as
Telnet, DHCP, or DNS, to run on a server or workstation without the
administrator realizing it, which in turn can cause unwanted
traffic to the server, or even, a potential pathway into the system
for crackers. Refer To Chapter 5 Server
Security for information on closing ports and disabling
unused services.
Most server applications that are included in a default
installation are solid, thoroughly tested pieces of software.
Having been in use in production environments for many years, their
code has been thoroughly refined and many of the bugs have been
found and fixed.
However, there is no such thing as perfect software and there is
always room for further refinement. Moreover, newer software is
often not as rigorously tested as one might expect, because of its
recent arrival to production environments or because it may not be
as popular as other server software.
Developers and system administrators often find exploitable bugs
in server applications and publish the information on bug tracking
and security-related websites such as the Bugtraq mailing list
(https://www.securityfocus.com) or the Computer Emergency
Response Team (CERT) website (https://www.cert.org). Although these mechanisms are an
effective way of alerting the community to security
vulnerabilities, it is up to system administrators to patch their
systems promptly. This is particularly true because crackers have
access to these same vulnerability tracking services and will use
the information to crack unpatched systems whenever they can. Good
system administration requires vigilance, constant bug tracking,
and proper system maintenance to ensure a more secure computing
environment.
Refer to Chapter 3
Security Updates for more information about keeping a
system up-to-date.
Administrators who fail to patch their systems are one of the
greatest threats to server security. According to the System Administration Network and Security
Institute (SANS), the primary cause of
computer security vulnerability is to "assign untrained people to
maintain security and provide neither the training nor the time to
make it possible to do the job." This applies as
much to inexperienced administrators as it does to overconfident or
amotivated administrators.
Some administrators fail to patch their servers and
workstations, while others fail to watch log messages from the
system kernel or network traffic. Another common error is when
default passwords or keys to services are left unchanged. For
example, some databases have default administration passwords
because the database developers assume that the system
administrator changes these passwords immediately after
installation. If a database administrator fails to change this
password, even an inexperienced cracker can use a widely-known
default password to gain administrative privileges to the database.
These are only a few examples of how inattentive administration can
lead to compromised servers.
Even the most vigilant organization can fall victim to
vulnerabilities if the network services they choose are inherently
insecure. For instance, there are many services developed under the
assumption that they are used over trusted networks; however, this
assumption fails as soon as the service becomes available over the
Internet — which is itself inherently untrusted.
One category of insecure network services are those that require
unencrypted usernames and passwords for authentication. Telnet and
FTP are two such services. If packet sniffing software is
monitoring traffic between the remote user and such a service
usernames and passwords can be easily intercepted.
Inherently, such services can also more easily fall prey to what
the security industry terms the man-in-the-middle attack. In this type of attack, a
cracker redirects network traffic by tricking a cracked name server
on the network to point to his machine instead of the intended
server. Once someone opens a remote session to the server, the
attacker's machine acts as an invisible conduit, sitting quietly
between the remote service and the unsuspecting user capturing
information. In this way a cracker can gather administrative
passwords and raw data without the server or the user realizing
it.
Another category of insecure services include network file
systems and information services such as NFS or NIS, which are
developed explicitly for LAN usage but are, unfortunately, extended
to include WANs (for remote users). NFS does not, by default, have
any authentication or security mechanisms configured to prevent a
cracker from mounting the NFS share and accessing anything
contained therein. NIS, as well, has vital information that must be
known by every computer on a network, including passwords and file
permissions, within a plain text ACSII or DBM (ASCII-derived)
database. A cracker who gains access to this database can then
access every user account on a network, including the
administrator's account.
By default, Red Hat Enterprise Linux is released with all such
services turned off. However, since administrators often find
themselves forced to use these services, careful configuration is
critical. Refer to Chapter 5 Server
Security for more information about setting up services in
a safe manner.