
|
CSUN Server Security Guidelines
September 20, 2006
DRAFT
|
Overview
California State University Northridge (CSUN)
servers, networks, and the information that resides on them are critical assets
for the university. These critical assets need to be protected to ensure their
availability, confidentiality, and integrity. This document is intended to
provide a set of guidelines for the installation of servers that are part of
the CSUN network so that they meet a minimally acceptable level of security. For
every operating system, it is important to follow the general guidelines below.
The actual details used to implement these guidelines may vary, but the
concepts are the same regardless of the operating system.
Guidelines
Before you connect the server to the CSUN network for the
first time or upgrade to a new operating system, please review the following
steps:
Review the purpose or the role of the server
- Determine
the purpose or role the server will play within the organization
Will the server
act as a...
- Database
repository (Oracle, MySQL, MS-SQL)
- Application
server (WebLogic, Apache
Tomcat, etc)
- Web
server (Apache HTTP, IIS)
- File
server
- Host
for a shared business application
- The
services the server provides should entirely be dictated by its role
within the organization and by the type of information (i.e., protected
vs. "public") that flows through it
- When
setting up the operating system (OS), look for specific OS configuration
options that will enhance the security of the server in this role
- Ensure
that the latest campus-supported stable version of the operating system is
running
- Refer
to the Operating Systems Guidelines document for information on the
latest campus-supported stable version of operating systems
- Harden
the operating system (Windows, Unix, MAC OS, etc.)
- Eliminate
unnecessary services, applications, protocols, and ports
- Harden
each application (Apache HTTP,IIS, MS-SQL, etc)
- Eliminate
unnecessary services, drivers, protocols, and ports
Determine authentication requirements
- Use the campus identity management
system
- CSUN
has established a campus identity management system, a unified directory
service and authentication infrastructure. It is intended to provide
campus departments with a centralized means by which departments can
validate users who need or wish to access departmental applications, as
well as to obtain authoritative information about users. The
infrastructure can be used by applications for public directory service,
lookups, authorization, and authentication.
- All
accounts should have strong passwords
- Local
accounts (as opposed to accounts from Active Directory) are strongly
discouraged due to the difficulty of managing such accounts centrally
- Assign
a unique administrative account and unique password to each individual to
better distinguish activities between multiple administrators
- While
shared accounts are generally not allowed, some specific software
programs require that such an account exist
i. Obtain
authorization for all exceptions and document them
ii. Create
inventory of any such created accounts and each user that has access it
- Disable
or rename the default administrator accounts
- Require
authentication for access by individuals to the server
- Require
re-authentication by users after idle periods
Secure access control
- Restrict
the number of accounts and privileges to only those who need access to
perform their job function
- Give
each user the minimum required amount of access to perform their work
- Disable
or delete old or unused accounts that belong to people who no longer need
access
- Regularly
review the access list or log for users, especially of root and groups
- Look
for unexpected rights or changes
- Be
sure to have a plan and process for securing administrator and root
passwords that allows appropriate access to the server in case of illness,
turnover, or unforeseen circumstances
Install only required software and keep operating system
current
- Run
software that is current. The
operating system and other installed software should be supported for the
latest security patches
- When
installing software, make sure to only install software that is required,
making sure to install the latest versions of all software including all
recommended and security patches that are available.
- Use
the Automatic Updates feature of Windows (if running Windows) to keep the
operating system patched
- If
Automatic Updates are not available or practical, download application
patches to another computer and put on them on a CD or a network share
that the server can access – never browse the web on a server, even
for patches
- After
installation, all computers should be routinely maintained and updated
- This
includes the installation of operating system patches and new versions of
installed software.
Run minimum number of services
- Each
computer should only provide services needed for its role or function in
the organization
- Make
sure to configure all installed software, disable all unused features and
be sure to limit the availability of any features that are enabled
- Any
user not in the Administrators group should not have access to
file-sharing unless the server specifically needs it
- If
the server does not need to use email to send administrative-related
messages, disable email related services
- If
the server is not used to transmit data, disable file transfer related
services
- Use
secure protocols (e.g. SSL/SSH/Kerberos) for accessing all servers and
services that require and/or support authentication
- Disable Telnet and FTP – use
SSH instead of telnet, and SCP instead of FTP
- Use
RDP to connect to Windows servers – it is encrypted
- Unless
using network management tools, turn off SNMP. If SNMP is enabled, change the default community name
and set permissions. Be sure
to delete the public community string if the software allows you to do
this, or at least change the default settings
- Use
of name services caching is okay, but do not run a name server
Install
filters or firewall
- Install
and configure a packet filtering utility such as iptables or a host-based
firewall to protect individual services
- The
rules should reflect the acceptable use and security policies that have
been defined for the computer
- Operating
system filters that deny or permit certain traffic should be used if
available (e.g., most Unix and recent Windows versions)
- Periodically
review the filters for inappropriate or unneeded access
- Restrict
access to services to only CSUN IP addresses, where prudent
- Limit
access to databases to specific static IP addresses or CSUN IP addresses.
Set up and review logs
- Configure
all services so that they log all connections and authentication
information
- Forward
all of these logs to a highly secure computer if possible
- Enable
local and domain auditing (if applicable) of security events
- Changes
to user account and permissions
- Failed
attempts to logon
- Failed
attempt to access resources
- Changes
to systems files
- Unsuccessful
attempts to connect through the firewall
- Someone
should be assigned the responsibility of monitoring/reviewing and as
appropriate following up on possible security violations identified in the
system logs – typically these should be reviewed at a minimum on a
monthly basis; weekly if possible
- For
important servers this should be as often as daily
Install
security related software
- Install
security related software on each computer, as appropriate to the level of
security needed
- Install
anti-virus or other virus filtering software with daily updating for the
latest virus definitions
- Validate
that antivirus definitions and engines are being updated
- Run
security analyzer software on servers, such as MSBA from Microsoft
- SSH,
RDP, or other encrypted and secure method of access should be installed if
remote access or remote administration services are needed
- SSH
improves the security of user accounts by encrypting all login sessions
and allowing the forwarding of X11 and other arbitrary network traffic
- Install
VPN encrypted tunnel if unable to install SSH or when clear text is a
security risk
- CSUN
provides (free) VPN client software that provides an encrypted tunnel to
the University from the Internet (e.g., connection at home or on the
road)
Maintain physical security
- Place
the server in a secure location with documentation of who has physical
access
- Use
Uninterruptible Power Supply (UPS) for servers and other essential
peripheral equipment (e.g., monitors, KVM switches, etc.)
- Locate
servers in a climate-controlled environment (e.g., dedicated air
conditioning with in-room temperature controls)
- Consider
basic fire suppression services/options (e.g., extinguishers, sprinklers,
etc.)
- Utilize
"keyboard locking" software or password protected screen savers
to prevent keyboard activity
Maintain backups and operational continuity
- Run
back-ups regularly and periodically store off-site
- Test
the restore capability periodically
- Review
backup history periodically
- Use
a "secure deletion" program to erase data from hard disks and
media after done using and prior to transfer or disposal of hardware
storing "protected" data
- Develop
business continuity plan for server
Identify the computer for security event notification
- Identify
critical servers by sending the name, IP address and contact information
of responsible individual(s) to the Information Security department at
security@csun.edu
Request a network-based vulnerability scan
- Request
a network-based vulnerability scan from CSUN Security to look for common
vulnerabilities - these scans are highly recommended for important servers
- Send
requests to security@csun.edu
- Review
and correct vulnerabilities found or implement a risk-mitigation strategy,
concentrating first on the items marked as high
Where to go for help
If you have questions or concerns about the security of the
data you store locally, on departmental, college, or university servers, please
contact the Information Security department at extension 6100. The Information Security department can
make arrangements for security tests to be run on critical servers or desktop
machines to identify potential security risks. We can also schedule meetings with departmental IT personnel
to talk with security analysts to help them improve the security of the systems
they support.