Disclaimer
AusCERT and CERT/CC advise that this information is provided
without warranty - sites should ensure that actions and procedures
taken from information in this document are verified and in accordance
with security policies that are in place within their organisation.
Listing of an application program or tool within this document does
not constitute endorsement by AusCERT, The University of Queensland,
or CERT/CC.
Before You Begin
- Don't attach the machine to an insecure network until all
steps in this document have been addressed - preferably, perform
all installations on the machine while it is completely isolated
from any network. This may be facilitated by the use of patches
stored on a CD or file server located within an isolated staging
network.
- Retrieve the latest patch list from your vendor and retrieve
any recommended security patches not included with your system.
Some patches may re-enable default configurations so it is
important to go through this checklist after
installing any new patches or packages.
Information about where to obtain operating system patches or
packages is available in the USC at
Section IV. Patches for software applications not supplied by
the operating system vendor should be obtained directly from the
software vendor's web site.
- Ensure that software patches and packages are only
downloaded from a reliable source (i.e. direct from the vendor or
a trusted mirror). This also applies to the operating system if it
is publicly-available or open-source.
- Verify the cryptographic digital signature of any signed
downloaded files to ensure integrity. Don't use a file whose
signature doesn't match its contents! Information about PGP/GnuPG
is available in the USC at A.2.10
PGP/GnuPG.
- Verify the md5 checksum, when possible, of any downloaded
patches with a utility like md5(1) or md5sum(1).
Information about obtaining an MD5 utility is available in the
USC at A.2.6 MD5.
- Subscribe to the vendor's security update mailing list for
your particular operating system. Information for individual
vendors is available in the USC at
Section IV.
- Subscribe to security advisory mailing lists from your local
incident response team (if you have one). These mailing lists are
typically low volume and provide invaluable information for system
and security administrators. Information on subscribing to mailing
lists is available in the USC at
B.2.3 Mailing Lists.
Before the System is "Live"
Step One - Patches
- Check for last-minute updates for your system that need to
be performed subsequent to installation.
- Install security patches retrieved before installation.
- Check for the availability of a hardening script package for your
particular system. Information on hardening scripts is available in the
USC at Section IV - Specific Operating Systems.
Step Two - System Configuration
Step Three - Network Options
- At a minimum, make use of any built-in firewalling utility
that the operating system provides. For example: Linux has ipchains
and iptables (See A.4.2.4 and
A.4.2.5), BSD has ipfw
(See A.4.2.1), Sun Solaris includes a
"light" version of their SunScreen product with Solaris 8 (See
A.4.2.6).
- Ensure that the host is configured against IP spoofing and
attacks with kernel and firewall rules. See
3.1 Packet Filtering and 3.2 Denial
of Service Attacks.
- If you wish to remotely administer your host, don't use
unencrypted channels to do so (like telnet). Configure your host
to use encrypted communications with a utility like SSH. See
3.3 Encryption and Strong Authentication
Step Four - System Monitoring and Additional Tools
- Implement and maintain utilities for intrusion detection.
At a minimum, implement a file integrity checker to monitor file-system
changes. More information is available in the USC at
4.0 File System Security
- Additional information on security and monitoring tools is available
in the USC at Appendix A
Step Five - Final Updates
- Ensure you implement a procedure to regularly parse and check system
log outputs for unusual activity.
- Make a backup of the completed system before putting it on a production
network. This allows you a clear path to restore the system to an
operational state. You should also implement a continuing backup policy.
- Create and maintain a logbook for each system. This allows you to
document any changes made to system configurations.