<?xml version="1.0"?>
<standard status="released">
<standardinfo>
<title>Generic Unix Security Standard</title>
<titleabbrev>LCZ-GUS</titleabbrev>
<edition>1.4</edition>
<pubdate>16 May 2009</pubdate>
<abstract>
<para>This document specifies generic technical security policy.
</para>
</abstract>
<revhistory>
<revision>
<revnumber>1.4</revnumber>
<date>16 May 2009</date>
<authorinitials>FOD</authorinitials>
<revremark>Revised for re-release</revremark>
</revision>
<revision>
<revnumber>1.3</revnumber>
<date>01 June 2004</date>
<authorinitials>LCZ</authorinitials>
<revremark>Corrected control errors</revremark>
</revision>
<revision>
<revnumber>1.2</revnumber>
<date>04 April 2003</date>
<authorinitials>LCZ</authorinitials>
<revremark>Many new controls added</revremark>
</revision>
<revision>
<revnumber>1.1</revnumber>
<date>19 March 2003</date>
<authorinitials>LCZ</authorinitials>
<revremark>Updated sections</revremark>
</revision>
<revision>
<revnumber>1.0</revnumber>
<date>21 January 2003</date>
<authorinitials>LCZ</authorinitials>
<revremark>Initial Draft for public release</revremark>
</revision>
</revhistory>
<copyright>
<year>2001</year><year>2002</year><year>2003</year><year>2009</year>
<holder>Frank O'Dwyer</holder>
</copyright>
</standardinfo>
<intro>
<objectives>
<objective>To specify generic security standards applicable to all IT platforms. 
</objective>
</objectives>
<scope>
<para>Controls specified in this document apply to all IT platforms.
</para>
<para>All of the organisation's information systems
will be subject to the policies specified within
this generic security standard. The policies will
be applied to new and existing installations.
</para>
</scope>
<out-of-scope>
<para>Compliance with this standard will not provide <quote>in depth</quote> security architecture or intelligent security design guidance
to projects. As a consequence, for high impact or safety-critical business applications, additional guidance will still need to be 
sought from the Information Security team consultancy function.  
</para>
<para>This is a generic standard. Controls specific to particular technologies are not 
defined here but will be the subject of additional standards.
</para>
<para>Compliance with this standard does not negate the need for an overall security review 
of a proposed application. Contact the Information Security team if you are in doubt.
</para>
</out-of-scope>
<commonintrostuff/>
<relateddocs/>
<definitions>
<definition>An <quote>Information Asset</quote> equates to any computerised information system 
or component thereof and thus includes an application, off the shelf software, hardware, media, 
data item, data item repository and associated communications networks. The specification of 
the Information Asset in question will usually be given so that this document is unambiguous. 
</definition>
</definitions>
</intro>
<controlchapter><title>Desktop Security Requirements</title>
<controlsection><title>Logical Access Controls</title>
</controlsection>
<controlsection><title>Security Management and Administration</title>
</controlsection>
<controlsection><title>Security Incident Reporting</title>
</controlsection>
<controlsection><title>Physical Access Controls</title>
</controlsection>
<controlsection><title>Protection from malicious software</title>
</controlsection>
</controlchapter>
<controlchapter><title>Portable and off site computing requirements</title>
<controlsection><title>Physical access controls</title>
</controlsection>
<controlsection><title>Security management and administration</title>
</controlsection>
<controlsection><title>General security points</title>
</controlsection>
<controlsection><title>Logical access controls</title>
</controlsection>
<controlsection><title>Protection from malicious software</title>
</controlsection>
</controlchapter>
<controlchapter><title>Network Security Requirements</title>
<controlsection><title>Data Back-up controls</title>
</controlsection>
<controlsection><title>Dialup Connection Security</title>
</controlsection>
<controlsection><title>Dialup Security Management Issues</title>
</controlsection>
<controlsection><title>Third Party Access - Customers</title>
</controlsection>
<controlsection><title>Access controls</title>
</controlsection>
<controlsection><title>Management Controls</title>
</controlsection>
<controlsection><title>Physical security controls</title>
</controlsection>
<controlsection><title>Network Devices</title>
</controlsection>
</controlchapter>
<controlchapter><title>Personnel Security</title>
<controlsection><title>Security in job descriptions</title>
</controlsection>
<controlsection><title>Reporting of security matters</title>
</controlsection>
<controlsection><title>Recruitment</title>
</controlsection>
<controlsection><title>Education and Awareness</title>
</controlsection>
</controlchapter>
<controlchapter><title>User Configuration</title>
<controlsection><title>User Administration</title>
</controlsection>
<controlsection><title>Default Accounts</title>
<control level="baseline" techversion="Any" title="Change default account passwords" environment="Any" pleading="mandatory" id="GUS-USER-02" versionMaj="1" disclosure-level="Any" availability-level="Any" versionMin="0" technology="UNIX" section="User Configuration:Default Accounts" integrity-level="Any" dp-level="Any" safety-level="Any">
<revhistory>
</revhistory>
<policy-statement>The default passwords of the following accounts must be changed following installation; open, uucp, toor, mount, guest, manager, ingres, mail, help, visitor, system, bin, demo, telnet, lp, who, finger, games</policy-statement>
<checklist-question>Have the default passwords of the default accounts open, uucp, toor, mount, guest, manager, ingres, mail, help, visitor, system, bin, demo, telnet, lp, who, finger, games</checklist-question>
<howto>
<step>For all accounts above the following accounts should have their passwords changed; open, uucp, toor, mount, guest, manager, ingres, uucp, mail, help, visitor, system, bin, demo, telnet	, lp, who, finger, games</step>
</howto>
<risks-addressed>
<risk>Unuathorised access may be obtained</risk>
<risk>Unauthorised access may be used for fraudulent or malicious misuse</risk>
<risk>Business information may be accidentally or maliciously altered.</risk>
<risk>Business information may be disclosed.</risk>
<risk>Business information and applications may be unavailable.</risk>
</risks-addressed>
</control>
<control level="baseline" techversion="Any" title="The synch account must not be disabled or password protected " environment="Any" status="released" pleading="mandatory" versionMaj="1" id="GUS-DA-2" availability-level="Any" disclosure-level="Any" technology="UNIX" versionMin="0" section="User Configuration:Default Accounts" integrity-level="Any" dp-level="Any" safety-level="Any">
<revhistory>
</revhistory>
<policy-statement>The synch account must not be disabled or password protected </policy-statement>
<checklist-question>Is the synch account disabled or password protected?</checklist-question>
<howto>
<step>Ensure the synch account is enabled</step>
<step>Ensure the synch account has no password</step>
</howto>
<risks-addressed>
<risk>Emergency shutdown can be performed</risk>
<risk>Business information may be accidentally or maliciously altered.</risk>
<risk>Business information may be disclosed.</risk>
<risk>Business information and applications may be unavailable.</risk>
</risks-addressed>
</control>
<control level="baseline" techversion="Any" title="The nobody account should own no files on any of the systems filesystems" environment="Any" pleading="recommended" id="GUS-DA-1" versionMaj="1" disclosure-level="Any" availability-level="Any" versionMin="0" technology="UNIX" section="User Configuration:Default Accounts" integrity-level="Any" dp-level="Any" safety-level="Any">
<revhistory>
</revhistory>
<policy-statement>The nobody account should own no files on any of the systems filesystems</policy-statement>
<checklist-question>Is it ensured that the nobody account owns no files on any of the systems filesystems?</checklist-question>
<howto>
<step>Scan the filesystems for objects owned by nobody</step>
<step>Reassign the ownership of any objects identified belonging to nobody</step>
</howto>
<risks-addressed>
<risk>Business information may be accidentally or maliciously altered.</risk>
<risk>Business information may be disclosed.</risk>
<risk>Business information and applications may be unavailable.</risk>
</risks-addressed>
</control>
</controlsection>
<controlsection><title>Roles, Views, and Access Control</title>
<control level="baseline" techversion="Any" title="Access to /dev/kmem must be restricted" environment="Any" pleading="mandatory" versionMaj="1" id="GUS-ACCESS-1" availability-level="Any" disclosure-level="Any" technology="UNIX" versionMin="0" section="User Configuration:Roles, Views, and Access Control" integrity-level="Any" dp-level="Any" safety-level="Any">
<revhistory>
</revhistory>
<policy-statement>Access to the device file /dev/kmem must be restricted</policy-statement>
<checklist-question>Is access to /dev/kmem restricted?</checklist-question>
<howto>
<step>Ensure that access to the device file /dev/kmem has the most restrictive access permissions</step>
</howto>
<risks-addressed>
<risk>Users may be able to change their UID to root</risk>
<risk>Root access may lead to complete compromise of the system</risk>
<risk>Business information may be accidentally or maliciously altered.</risk>
<risk>Business information may be disclosed.</risk>
<risk>Business information and applications may be unavailable.</risk>
</risks-addressed>
</control>
<control level="baseline" techversion="Any" title="Do not rely on access control lists on NFS file systems" environment="Any" pleading="recommended" id="GUS-ACCESS-2" versionMaj="1" disclosure-level="Any" availability-level="Any" versionMin="0" technology="UNIX" section="User Configuration:Roles, Views, and Access Control" integrity-level="Any" dp-level="Any" safety-level="Any">
<revhistory>
</revhistory>
<policy-statement>Do not rely on access control lists on NFS file systems</policy-statement>
<checklist-question>Is reliance placed on access control lists on NFS file systems</checklist-question>
<howto>
<step>Be aware that access control lists often do not work on NFS file systems</step>
<step>Do not therefore rely on access control lists to mediate access to objects on NFS file systems</step>
</howto>
<risks-addressed>
<risk>Access to objects may not be restricted as expected</risk>
<risk>Business information may be accidentally or maliciously altered.</risk>
<risk>Business information may be disclosed.</risk>
<risk>Business information and applications may be unavailable.</risk>
</risks-addressed>
</control>
<control level="baseline" techversion="Any" title="Avoid changing permissions on objects with access control lists using a numeric chmod" environment="Any" pleading="recommended" id="GUS-ACCESS-3" versionMaj="1" disclosure-level="Any" availability-level="Any" versionMin="0" technology="UNIX" section="User Configuration:Roles, Views, and Access Control" integrity-level="Any" dp-level="Any" safety-level="Any">
<revhistory>
</revhistory>
<policy-statement>Avoid changing permissions on objects with access control lists using a numeric chmod</policy-statement>
<checklist-question>Is it ensured that changing permissions on objects with access control lists is avoided?</checklist-question>
<howto>
<step>Be aware that numeric chmod commands may disable the ACL</step>
<step>Use the symbolic chmod command to modify the permissions of files with ACLs</step>
</howto>
<risks-addressed>
<risk>Access to objects may not be restricted as expected</risk>
<risk>Business information may be accidentally or maliciously altered.</risk>
<risk>Business information may be disclosed.</risk>
<risk>Business information and applications may be unavailable.</risk>
</risks-addressed>
</control>
<control level="baseline" techversion="Any" title="Any filenames beginning with a period . must not be everyone or group writable/readable." environment="Any" pleading="recommended" id="GUS-ACCESS-4" versionMaj="1" disclosure-level="Any" availability-level="Any" versionMin="0" technology="UNIX" section="User Configuration:Roles, Views, and Access Control" integrity-level="Any" dp-level="Any" safety-level="Any">
<revhistory>
</revhistory>
<policy-statement>Any filenames beginning with a period . must not be everyone or group writable/readable.</policy-statement>
<checklist-question>Is it ensured that any filenames beginning with a period . everyone or group writable/readable</checklist-question>
<howto>
<step>Identify all files beginning with a period .</step>
<step>Check for each file whether it has everyone or group read/write</step>
<step>Remove these permissions wherever possible</step>
</howto>
<risks-addressed>
<risk>Access to objects may not be restricted as expected</risk>
<risk>Unauthorised access may be obtained</risk>
<risk>Business information may be accidentally or maliciously altered.</risk>
<risk>Business information may be disclosed.</risk>
<risk>Business information and applications may be unavailable.</risk>
</risks-addressed>
</control>
<control level="baseline" techversion="Any" title="If a tape drive is used for backup ensure this device is not everyone readable" environment="Any" pleading="recommended" id="GUS-ACCESS-5" versionMaj="1" disclosure-level="Any" availability-level="Any" versionMin="0" technology="UNIX" section="User Configuration:Roles, Views, and Access Control" integrity-level="Any" dp-level="Any" safety-level="Any">
<revhistory>
</revhistory>
<policy-statement>If a tape drive is used for backup ensure this device is not everyone readable</policy-statement>
<checklist-question>Are tape drives used for backups everyone readable?</checklist-question>
<howto>
<step>Identify the backup tape drives</step>
<step>Check the permissions for this device</step>
<step>Remove world read access where this permission has been enabled</step>
</howto>
<risks-addressed>
<risk>Access to data may not be restricted as expected</risk>
<risk>Unauthorised access to data may be obtained</risk>
<risk>Business information may be accidentally or maliciously altered.</risk>
<risk>Business information may be disclosed.</risk>
<risk>Business information and applications may be unavailable.</risk>
</risks-addressed>
</control>
</controlsection>
<controlsection><title>Privileges</title>
<control level="baseline" techversion="Any" title="at access should be restricted using at.allow" environment="Any" pleading="recommended" versionMaj="1" id="GUS-PRIV-2" availability-level="Any" disclosure-level="Any" technology="UNIX" versionMin="0" section="User Configuration:Privileges" integrity-level="Any" dp-level="Any" safety-level="Any">
<revhistory>
</revhistory>
<policy-statement>at access should be restricted using at.allow</policy-statement>
<checklist-question>Is at access restricted using at.allow?</checklist-question>
<howto>
<step>Edit the at.allow file</step>
<step>Add the users names who need to be able to submit at jobs</step>
</howto>
<risks-addressed>
<risk>Business information may be accidentally or maliciously altered.</risk>
<risk>Business information may be disclosed.</risk>
<risk>Business information and applications may be unavailable.</risk>
</risks-addressed>
</control>
<control level="baseline" techversion="Any" title="User UIDs must be greater than 20" environment="Any" pleading="mandatory" versionMaj="1" id="GUS-USER-01" availability-level="Any" disclosure-level="Any" technology="UNIX" versionMin="0" section="User Configuration:Privileges" integrity-level="Any" dp-level="Any" safety-level="Any">
<revhistory>
</revhistory>
<policy-statement>User UIDs must be greater than 20</policy-statement>
<checklist-question>Are all user UIDs greater than 20?</checklist-question>
<howto>
<step>List each user account entry in the /etc/passwd file</step>
<step>Check the UID value of each and highlight those that are not greater than 20</step>
<step>Change the UID values to greater than 20 if possible</step>
<step>Ensure that any new user accounts are set up with UIDs greater than 20</step>
</howto>
<risks-addressed>
<risk>Unauthorised privileged access may be obtained</risk>
<risk>Unauthorised access may be used for fraudulent or malicious misuse</risk>
<risk>Business information may be accidentally or maliciously altered.</risk>
<risk>Business information may be disclosed.</risk>
<risk>Business information and applications may be unavailable.</risk>
</risks-addressed>
</control>
<control level="baseline" techversion="Any" title="Suid shell scripts should not be used" environment="Any" pleading="recommended" versionMaj="1" id="GUS-PRIV-02" availability-level="above baseline" disclosure-level="above baseline" technology="UNIX" versionMin="0" section="User Configuration:Privileges" integrity-level="above baseline" dp-level="Any" safety-level="Any">
<revhistory>
</revhistory>
<policy-statement>Suid shell scripts should not be used</policy-statement>
<checklist-question>Are suid shell scripts in use on the system?</checklist-question>
<howto>
<step>Identify all suid shell scripts on the system</step>
<step>Replace these scripts with a different language such as perl</step>
</howto>
<risks-addressed>
<risk>Unauthorised privileged access may be obtained</risk>
<risk>Unauthorised access may lead to malicious or fraudulent misuse</risk>
<risk>Business information may be accidentally or maliciously altered.</risk>
<risk>Business information may be disclosed.</risk>
<risk>Business information and applications may be unavailable.</risk>
</risks-addressed>
</control>
<control level="baseline" techversion="Any" title="The use of the su command should be with the hyphen (-) qualifier" environment="Any" pleading="recommended" versionMaj="1" id="GUS-PRIV-01" availability-level="above baseline" disclosure-level="above baseline" technology="UNIX" versionMin="0" section="User Configuration:Privileges" integrity-level="above baseline" dp-level="Any" safety-level="Any">
<revhistory>
</revhistory>
<policy-statement>The use of the su command should always be used with the hyphen (-) qualifier</policy-statement>
<checklist-question>Is the hyphen qualifier always used with the su command?</checklist-question>
<howto>
<step>Educate all users to ensure that the(-) hyphen qualifier is used with su.</step>
<step>Check scripts or executables running on the system that call su also use hyphen</step>
</howto>
<risks-addressed>
<risk>Account login script controls may be bypassed</risk>
<risk>Unauthorised access may be obtained</risk>
<risk>Unauthorised access may lead to fraudulent or malicious misue</risk>
<risk>Business information may be accidentally or maliciously altered.</risk>
<risk>Business information may be disclosed.</risk>
<risk>Business information and applications may be unavailable.</risk>
</risks-addressed>
</control>
<control level="baseline" techversion="Any" title="The alias file should be reviewed to ensure all redirection entries are users" environment="Any" pleading="recommended" versionMaj="1" id="GUS-MAIL-03" availability-level="Any" disclosure-level="Any" technology="UNIX" versionMin="0" section="User Configuration:Privileges" integrity-level="Any" dp-level="Any" safety-level="Any">
<revhistory>
</revhistory>
<policy-statement>The mail aliases file should be reviewed to ensure that all entries for mail redirection are valid users and not a program or a script for execution</policy-statement>
<checklist-question>Has the mail aliases file been reviewed to ensure that all entries for mail redirection are valid users and not a program or a script for execution?</checklist-question>
<howto>
<step>Review the aliases file</step>
<step>Identify all redirection target accounts</step>
<step>Check each of these targets is a user and not a script or program</step>
<step>Investigate any entries that are inconsistent with this</step>
<step>Delete inconsistent entries</step>
</howto>
<risks-addressed>
<risk>Unauthorised program execution may occur</risk>
<risk>Unauthorised access may be obtained</risk>
<risk>Unauthorised access may lead to fraudulent or malicious misuse</risk>
<risk>Business information may be accidentally or maliciously altered.</risk>
<risk>Business information may be disclosed.</risk>
<risk>Business information and applications may be unavailable.</risk>
</risks-addressed>
</control>
<control level="above baseline" techversion="Any" title="root should only be logged into using su" environment="Any" pleading="recommended" id="GUS-PRIV-05" versionMaj="1" disclosure-level="above baseline" availability-level="above baseline" versionMin="0" technology="UNIX" section="User Configuration:Privileges" integrity-level="above baseline" dp-level="Any" safety-level="Any">
<revhistory>
</revhistory>
<policy-statement>root should only be logged into using su</policy-statement>
<checklist-question>Is root access only available via su?</checklist-question>
<howto>
<step>Set all terminals to restricted to force root login via su</step>
</howto>
<risks-addressed>
<risk>Direct compromise of the root password will still result in no access</risk>
<risk>Business information may be accidentally or maliciously altered.</risk>
<risk>Business information may be disclosed.</risk>
<risk>Business information and applications may be unavailable.</risk>
</risks-addressed>
</control>
<control level="baseline" techversion="Any" title="Use the wheel group if possible" environment="Any" pleading="mandatory" id="GUS-PRIV-06" versionMaj="1" disclosure-level="Any" availability-level="Any" versionMin="0" technology="UNIX" section="User Configuration:Privileges" integrity-level="Any" dp-level="Any" safety-level="Any">
<revhistory>
</revhistory>
<policy-statement>Where it is available use the wheel group</policy-statement>
<checklist-question>If the wheel group is available is it in use?</checklist-question>
<howto>
<step>Create the wheel group</step>
<step>Add all users who are permitted to su root to the group</step>
<step>Exclude all others</step>
</howto>
<risks-addressed>
<risk>Unauthorised privileged access may be obtained</risk>
<risk>Unauthorised access may be used for malicious or fraudulent misuse</risk>
<risk>Business information may be accidentally or maliciously altered.</risk>
<risk>Business information may be disclosed.</risk>
<risk>Business information and applications may be unavailable.</risk>
</risks-addressed>
</control>
<control level="baseline" techversion="Any" title="Users must have indvidual UIDs" environment="Any" pleading="mandatory" versionMaj="1" id="GUS-USER-03" availability-level="Any" disclosure-level="Any" technology="UNIX" versionMin="0" section="User Configuration:Privileges" integrity-level="Any" dp-level="Any" safety-level="Any">
<revhistory>
</revhistory>
<policy-statement>Every user must have a unique UID.</policy-statement>
<checklist-question>Do all users on the system have unique UIDs?</checklist-question>
<howto>
<step>List all users sorted by UID.</step>
<step>Identify all those with shared UIDs.</step>
<step>Modify the users such that they have a unique UID.</step>
<step>Ensure the files and directories these users own are appropriately owned.</step>
<step>Ensure the files and directories these users own remain accessible.</step>
</howto>
<risks-addressed>
<risk>Unauthorised access to data and software objects</risk>
<risk>Unauthorised access may lead to fraudulent or malicious misuse</risk>
<risk>Loss of accountability</risk>
<risk>Business information may be accidentally or maliciously altered.</risk>
<risk>Business information may be disclosed.</risk>
<risk>Business information and applications may be unavailable.</risk>
</risks-addressed>
</control>
<control level="baseline" techversion="Any" title="Mount any foreign filesystems as NODEV" environment="Any" pleading="mandatory" versionMaj="1" id="GUS-PRIV-04" availability-level="Any" disclosure-level="Any" technology="UNIX" versionMin="0" section="User Configuration:Privileges" integrity-level="Any" dp-level="Any" safety-level="Any">
<revhistory>
</revhistory>
<policy-statement>Ensure that any foreign file systems are mounted NODEV</policy-statement>
<checklist-question>Are all foreign filesystems mounted NODEV?</checklist-question>
<howto>
<step>Locate all instances where a foreign filesystem is mounted.</step>
<step>For each instance ensure that the mount is qualified with NODEV</step>
</howto>
<risks-addressed>
<risk>Malicious device files can be used to subvert system controls</risk>
<risk>Business information may be accidentally or maliciously altered.</risk>
<risk>Business information may be disclosed.</risk>
<risk>Business information and applications may be unavailable.</risk>
</risks-addressed>
</control>
<control level="above baseline" techversion="Any" title="The write program should be set to SGID tty and not SUID root" environment="Any" pleading="recommended" versionMaj="1" id="GUS-PRIV-03" availability-level="above baseline" disclosure-level="above baseline" technology="UNIX" versionMin="0" section="User Configuration:Privileges" integrity-level="above baseline" dp-level="Any" safety-level="Any">
<revhistory>
</revhistory>
<policy-statement>The write program should be set to SGID tty and not SUID root</policy-statement>
<checklist-question>Is the write program set to SGID tty and not SUID root?</checklist-question>
<howto>
<step>Locate the write program</step>
<step>Check its permissions</step>
<step>If the permissions are SUID root set them to SGID tty</step>
</howto>
<risks-addressed>
<risk>Unauthorised privileged commands may be executed</risk>
<risk>Unauthorised privileged access may be obtained</risk>
<risk>Unauthorised access may result in malicious or fraudulent misuse</risk>
<risk>Business information may be accidentally or maliciously altered.</risk>
<risk>Business information may be disclosed.</risk>
<risk>Business information and applications may be unavailable.</risk>
</risks-addressed>
</control>
<control level="baseline" techversion="Any" title="cron access should be restricted using cron.allow" environment="Any" pleading="recommended" versionMaj="1" id="GUS-PRIV-1" availability-level="Any" disclosure-level="Any" technology="UNIX" versionMin="0" section="User Configuration:Privileges" integrity-level="Any" dp-level="Any" safety-level="Any">
<revhistory>
</revhistory>
<policy-statement>cron access should be restricted using cron.allow</policy-statement>
<checklist-question>Is cron access restricted using cron.allow?</checklist-question>
<howto>
<step>Edit the cron.allow file</step>
<step>Add the users names who need to be able to submit cron jobs</step>
</howto>
<risks-addressed>
<risk>Business information may be accidentally or maliciously altered.</risk>
<risk>Business information may be disclosed.</risk>
<risk>Business information and applications may be unavailable.</risk>
</risks-addressed>
</control>
</controlsection>
<controlsection><title>Authentication/Password Configuration</title>
<control level="baseline" techversion="Any" title="Implement a login failure retry interval of 3 seconds where possible" environment="Any" pleading="recommended" id="GUS-AUTH-03" versionMaj="1" disclosure-level="Any" availability-level="Any" versionMin="0" technology="UNIX" section="User Configuration:Authentication/Password Configuration" integrity-level="Any" dp-level="Any" safety-level="Any">
<revhistory>
</revhistory>
<policy-statement>Implement a login failure retry interval of 3 seconds where possible	</policy-statement>
<checklist-question>Has a login failure retry interval of 3 seconds been implemented?</checklist-question>
<howto>
<step>If the variant of Unix supports a login failure retry interval set this interval to 3 seconds</step>
</howto>
<risks-addressed>
<risk>Automated password guessing routines will be hampered</risk>
<risk>Business information may be accidentally or maliciously altered.</risk>
<risk>Business information may be disclosed.</risk>
<risk>Business information and applications may be unavailable.</risk>
</risks-addressed>
</control>
<control level="baseline" techversion="Any" title="Autologout of idle users should occur after 1 hour" environment="Any" pleading="recommended" id="GUS-AUTH-02" versionMaj="1" disclosure-level="Any" availability-level="Any" versionMin="0" technology="UNIX" section="User Configuration:Authentication/Password Configuration" integrity-level="Any" dp-level="Any" safety-level="Any">
<revhistory>
</revhistory>
<policy-statement>Autologout of idle users should be set after 1 hour</policy-statement>
<checklist-question>Has autologout been set to 1 hour for idle users?</checklist-question>
<howto>
<step>set autologout in .cshrc script to 1 hour</step>
</howto>
<risks-addressed>
<risk>Unauthorised access may be obtained</risk>
<risk>Unauthorised access may result in fradulent or malicious misuse</risk>
<risk>Business information may be accidentally or maliciously altered.</risk>
<risk>Business information may be disclosed.</risk>
<risk>Business information and applications may be unavailable.</risk>
</risks-addressed>
</control>
<control level="baseline" techversion="Any" title="Do not permit the use of control characters in passwords" environment="Any" pleading="recommended" versionMaj="1" id="GUS-AUTH-01" availability-level="Any" disclosure-level="Any" technology="UNIX" versionMin="0" section="User Configuration:Authentication/Password Configuration" integrity-level="Any" dp-level="Any" safety-level="Any">
<revhistory>
</revhistory>
<policy-statement>The use of control characters should be prevented from being used within user passwords.	</policy-statement>
<checklist-question>Has the use of control characters in user passwords been prevented?</checklist-question>
<howto>
<step>Use filtering software that rejects passwords containing control characters.</step>
</howto>
<risks-addressed>
<risk>Control characters within passwords can interpreted and lead to a breach</risk>
<risk>Unauthorised privileged access may be obtained</risk>
<risk>Unauthorised privileged commands may be executed</risk>
<risk>Unauthorised access may lead to fraudulent or malicious misuse</risk>
<risk>Business information may be accidentally or maliciously altered.</risk>
<risk>Business information may be disclosed.</risk>
<risk>Business information and applications may be unavailable.</risk>
</risks-addressed>
</control>
</controlsection>
</controlchapter>
<controlchapter><title>Security Compliance</title>
<controlsection><title>Security Compliance Checking</title>
<control level="baseline" techversion="Any" title="Hidden files should be sought out and investigated" environment="Any" pleading="recommended" versionMaj="1" id="GUS-MON-05" availability-level="Any" disclosure-level="Any" technology="UNIX" versionMin="0" section="Security Compliance:Security Compliance Checking" integrity-level="Any" dp-level="Any" safety-level="Any">
<revhistory>
</revhistory>
<policy-statement>Hidden files should be sought out and investigated. Certain control characters in file names can make it difficult to see or access such files.</policy-statement>
<checklist-question>Are hidden files or files with control characters in their names identified and investigated on a regular basis?</checklist-question>
<howto>
<step>Use the ls -q command to list files with control characters in their name.</step>
<step>For each file identified review its contents for any malicious code or commands.</step>
<step>Remove any files which are clearly intended to breach the security of the system.</step>
</howto>
<risks-addressed>
<risk>Malicious scripts and programs may be used to gain unauthorised access</risk>
<risk>Unauthorised access may be used for malicious or fraudulent misuse</risk>
<risk>Business information may be accidentally or maliciously altered.</risk>
<risk>Business information may be disclosed.</risk>
<risk>Business information and applications may be unavailable.</risk>
</risks-addressed>
</control>
<control level="baseline" techversion="Any" title="Reports should be produced and reviewed for access outside of normal hours" environment="Any" pleading="recommended" id="GUS-AUD-02" versionMaj="1" disclosure-level="Any" availability-level="Any" versionMin="0" technology="UNIX" section="Security Compliance:Security Compliance Checking" integrity-level="Any" dp-level="Any" safety-level="Any">
<revhistory>
</revhistory>
<policy-statement>Reports should be produced and reviewed for access outside of normal hours</policy-statement>
<checklist-question>Are reports produced and reviewed for access outside of normal hours?</checklist-question>
<howto>
<step>Log times of user logins</step>
<step>Determine the normal access times for the system</step>
<step>Report on logons that fall outside of those access times</step>
<step>Reconcile the use with the account owner to ensure legitimacy</step>
</howto>
<risks-addressed>
<risk>Misuse may go unnoticed</risk>
<risk>Business information may be accidentally or maliciously altered.</risk>
<risk>Business information may be disclosed.</risk>
<risk>Business information and applications may be unavailable.</risk>
</risks-addressed>
</control>
<control level="baseline" techversion="Any" title="syslog.conf must be monitored for all alterations" environment="Any" pleading="mandatory" id="GUS-AUD-01" versionMaj="1" disclosure-level="Any" availability-level="Any" versionMin="0" technology="UNIX" section="Security Compliance:Security Compliance Checking" integrity-level="Any" dp-level="Any" safety-level="Any">
<revhistory>
</revhistory>
<policy-statement>syslog.conf must be monitored for alterations</policy-statement>
<checklist-question>Is syslog.conf monitored for any changes?</checklist-question>
<howto>
<step>Establish a baseline syslog.conf</step>
<step>Identify any changes to the file from the baseline</step>
<step>Reconcile the changes to ensure they are legitimate</step>
</howto>
<risks-addressed>
<risk>Misuse may go unnoticed</risk>
<risk>Business information may be accidentally or maliciously altered.</risk>
<risk>Business information may be disclosed.</risk>
<risk>Business information and applications may be unavailable.</risk>
</risks-addressed>
</control>
<control level="baseline" techversion="Any" title="All new su programs should be identified and validated" environment="Any" pleading="recommended" id="GUS-MON-01" versionMaj="1" disclosure-level="Any" availability-level="Any" versionMin="0" technology="UNIX" section="Security Compliance:Security Compliance Checking" integrity-level="Any" dp-level="Any" safety-level="Any">
<revhistory>
</revhistory>
<policy-statement>All new su programs should be identified and validated to ensure that they are legitimate.</policy-statement>
<checklist-question>Are new SU programs identified and validated?</checklist-question>
<howto>
<step>Instigate a means of identifying the addition of new su programs to the system.</step>
<step>Investigate the new su programs to ensure they are valid.</step>
<step>Investigate any that are not and remove them from the system.</step>
</howto>
<risks-addressed>
<risk>Privileged unauthorised access may be obtained</risk>
<risk>Unauthorised access may result in malicious or fraudulent misuse</risk>
<risk>Business information may be accidentally or maliciously altered.</risk>
<risk>Business information may be disclosed.</risk>
<risk>Business information and applications may be unavailable.</risk>
</risks-addressed>
</control>
<control level="baseline" techversion="Any" title="grpck should be run regularly" environment="Any" pleading="recommended" versionMaj="1" id="GUS-MON-03" availability-level="Any" disclosure-level="Any" technology="UNIX" versionMin="0" section="Security Compliance:Security Compliance Checking" integrity-level="Any" dp-level="Any" safety-level="Any">
<revhistory>
</revhistory>
<policy-statement>grpck should be run regularly to check for inconsistencies in the /etc/groups file</policy-statement>
<checklist-question>Is grpck run regularly on the system?</checklist-question>
<howto>
<step>Run grpck to check for any inconsistencies in the groups file</step>
<step>Any inconsistencies reported should be investigated and rectified</step>
</howto>
<risks-addressed>
<risk>Incorrect group membership may permit unauthorised access</risk>
<risk>Business information may be accidentally or maliciously altered.</risk>
<risk>Business information may be disclosed.</risk>
<risk>Business information and applications may be unavailable.</risk>
</risks-addressed>
</control>
<control level="baseline" techversion="Any" title="Reports should be produced and reviewed for multiple login failures from a single source" environment="Any" pleading="recommended" id="GUS-AUD-07" versionMaj="1" disclosure-level="Any" availability-level="Any" versionMin="0" technology="UNIX" section="Security Compliance:Security Compliance Checking" integrity-level="Any" dp-level="Any" safety-level="Any">
<revhistory>
</revhistory>
<policy-statement>Reports should be produced and reviewed for multiple login failures from a single source</policy-statement>
<checklist-question>Are reports produced and reviewed for multiple login failures from a single source?</checklist-question>
<howto>
<step>Record login failures against user accounts</step>
<step>Extract the source address/terminal id for each failure</step>
<step>Report on login failures based upon source address</step>
<step>Investigate any source terminal with a login failure against more than one target user account.</step>
</howto>
<risks-addressed>
<risk>Misuse may go unnoticed</risk>
<risk>Unauthorised access may be obtained</risk>
<risk>Business information may be accidentally or maliciously altered.</risk>
<risk>Business information may be disclosed.</risk>
<risk>Business information and applications may be unavailable.</risk>
</risks-addressed>
</control>
<control level="baseline" techversion="Any" title="pwck should be run regularly" environment="Any" pleading="recommended" versionMaj="1" id="GUS-MON-02" availability-level="Any" disclosure-level="Any" technology="UNIX" versionMin="0" section="Security Compliance:Security Compliance Checking" integrity-level="Any" dp-level="Any" safety-level="Any">
<revhistory>
</revhistory>
<policy-statement>pwck should be run regularly to identify inconsistencies in the password file.</policy-statement>
<checklist-question>Is pwck run regularly to check for inconsistencies in the password file?</checklist-question>
<howto>
<step>Run pwck on a regular basis to identify any inconsistencies in the passwd file.</step>
<step>Any inconsistencies identified should be investigated and rectified.</step>
</howto>
<risks-addressed>
<risk>Unauthorised access may be obtained</risk>
<risk>Unauthorised access may lead to malicious or fraudulent misuse</risk>
<risk>Business information may be accidentally or maliciously altered.</risk>
<risk>Business information may be disclosed.</risk>
<risk>Business information and applications may be unavailable.</risk>
</risks-addressed>
</control>
<control level="baseline" techversion="Any" title="Security monitoring software should be installed and used" environment="Any" pleading="recommended" id="GUS-MON-04" versionMaj="1" disclosure-level="above baseline" availability-level="above baseline" versionMin="0" technology="UNIX" section="Security Compliance:Security Compliance Checking" integrity-level="above baseline" dp-level="Any" safety-level="Any">
<revhistory>
</revhistory>
<policy-statement>Security monitoring software, for example Tripwire, Cops, Tiger, TCPWrapper etc should be installed and used for monitor for security critical changes, to harden the operating system and to provide security reporting.</policy-statement>
<checklist-question>Are security tools installed and in use on the system?</checklist-question>
<howto>
<step>Identify security monitoring products appropriate to your environment.</step>
<step>Install these tools.</step>
<step>Use them to protect and monitor your system</step>
</howto>
<risks-addressed>
<risk>Security significant changes may go unnoticed</risk>
<risk>Attempts to breach security may go unnoticed</risk>
<risk>Unauthorised access may be obtained</risk>
<risk>Unauthorised access may result in malicious or fraduluent misuse</risk>
<risk>Business information may be accidentally or maliciously altered.</risk>
<risk>Business information may be disclosed.</risk>
<risk>Business information and applications may be unavailable.</risk>
</risks-addressed>
</control>
<control level="baseline" techversion="Any" title="Reports should be produced and reviewed for multiple login failures" environment="Any" pleading="recommended" id="GUS-AUD-06" versionMaj="1" disclosure-level="Any" availability-level="Any" versionMin="0" technology="UNIX" section="Security Compliance:Security Compliance Checking" integrity-level="Any" dp-level="Any" safety-level="Any">
<revhistory>
</revhistory>
<policy-statement>Reports should be produced and reviewed for multiple login failures</policy-statement>
<checklist-question>Are reports produced and reviewed for multiple login failures?</checklist-question>
<howto>
<step>Record login failures against user accounts</step>
<step>Produce a daily report of login failures for user accounts</step>
<step>Reconcile the login failures with the owners of the accounts.</step>
</howto>
<risks-addressed>
<risk>Misuse may go unnoticed</risk>
<risk>Unauthorised access may be obtained</risk>
<risk>Business information may be accidentally or maliciously altered.</risk>
<risk>Business information may be disclosed.</risk>
<risk>Business information and applications may be unavailable.</risk>
</risks-addressed>
</control>
</controlsection>
<controlsection><title>Security Management</title>
<control level="baseline" techversion="Any" title="Aliases should be created for all non-user accounts to redirect to the admin" environment="Any" pleading="recommended" id="GUS-MAIL-02" versionMaj="1" disclosure-level="Any" availability-level="Any" versionMin="0" technology="UNIX" section="Security Compliance:Security Management" integrity-level="Any" dp-level="Any" safety-level="Any">
<revhistory>
</revhistory>
<policy-statement>Aliases should be created for all non-user accounts to redirect inbound mail to an administrator account where it will be read</policy-statement>
<checklist-question>Are aliases in place for all non-user accounts?</checklist-question>
<howto>
<step>Identify all non-user accounts</step>
<step>Identify an administrator to receive mail for these accounts</step>
<step>Set up a mail alias to direct inbound mail to these accounts to the administrator</step>
</howto>
<risks-addressed>
<risk>Business information may be accidentally or maliciously altered.</risk>
<risk>Business information may be disclosed.</risk>
<risk>Business information and applications may be unavailable.</risk>
</risks-addressed>
</control>
</controlsection>
</controlchapter>
<controlchapter><title>Software Requirements</title>
<controlsection><title>Software legislation and compliance</title>
</controlsection>
<controlsection><title>Software acquisition and implementation</title>
</controlsection>
</controlchapter>
<controlchapter><title>Network Security Configuration</title>
<controlsection><title>Network Interface Considerations</title>
<control level="baseline" techversion="Any" title="The ftp home directory should be owned by root" environment="Any" pleading="recommended" versionMaj="1" id="GUS-NET-54" availability-level="Any" disclosure-level="Any" technology="UNIX" versionMin="0" section="Network Security Configuration:Network Interface Considerations" integrity-level="Any" dp-level="Any" safety-level="Any">
<revhistory>
</revhistory>
<policy-statement>The ftp home directory should be owned by root</policy-statement>
<checklist-question>Is the ftp home directory owned by root?</checklist-question>
<howto>
<step>Set the ownership of the ftp home directory to root</step>
</howto>
<risks-addressed>
<risk>Unauthorised write access may be obtained</risk>
<risk>Business information and data may be maliciously or accidentally altered</risk>
<risk>Business information and applications may be unavailable.</risk>
</risks-addressed>
</control>
<control level="baseline" techversion="Any" title="PPP must not be installed on the system" environment="Any" pleading="mandatory" versionMaj="1" id="GUS-NET-29" availability-level="Any" disclosure-level="Any" technology="UNIX" versionMin="0" section="Network Security Configuration:Network Interface Considerations" integrity-level="Any" dp-level="Any" safety-level="Any">
<revhistory>
</revhistory>
<policy-statement>PPP must not be installed on the system</policy-statement>
<checklist-question>Is it ensured that PPP is not installed on the system?</checklist-question>
<howto>
<step>Remove the PPP executable from the system</step>
<step>Remove any reference to PPP from network configuration files</step>
</howto>
<risks-addressed>
<risk>Remote unauthorised access may be obtained</risk>
<risk>Business information may be accidentally or maliciously altered.</risk>
<risk>Business information may be disclosed.</risk>
<risk>Business information and applications may be unavailable.</risk>
</risks-addressed>
</control>
<control level="baseline" techversion="Any" title=".rosts files must not be used" environment="Any" pleading="mandatory" versionMaj="1" id="GUS-NET-16" availability-level="Any" disclosure-level="Any" technology="UNIX" versionMin="0" section="Network Security Configuration:Network Interface Considerations" integrity-level="Any" dp-level="Any" safety-level="Any">
<revhistory>
</revhistory>
<policy-statement>.rhosts files must not be used as they can provide arbitrary remote access to local users accounts and are subject to spoofing.</policy-statement>
<checklist-question>Are .rhosts files in use on users accounts on the system?</checklist-question>
<howto>
<step>Search users home directories for the presence of .rhosts files</step>
<step>For those identified replace the access with another more secure method.</step>
<step>Delete the .rhosts file</step>
</howto>
<risks-addressed>
<risk>.rhosts file entries can permit successful spoofing</risk>
<risk>Unauthorised access may be obtained</risk>
<risk>Fraudulent misuse may occur</risk>
<risk>Malicious misuse may occur</risk>
<risk>Business information may be accidentally or maliciously altered.</risk>
<risk>Business information may be disclosed.</risk>
<risk>Business information and applications may be unavailable.</risk>
</risks-addressed>
</control>
<control level="baseline" techversion="Any" title="The systat service should be commented out of the inetd.conf file" environment="Any" pleading="recommended" versionMaj="1" id="GUS-NET-15" availability-level="Any" disclosure-level="Any" technology="UNIX" versionMin="0" section="Network Security Configuration:Network Interface Considerations" integrity-level="Any" dp-level="Any" safety-level="Any">
<revhistory>
</revhistory>
<policy-statement>The systat service should be commented out of the inetd.conf file as this provides very useful information to attackers</policy-statement>
<checklist-question>Has the systat service been commented out of the inetd.conf file?</checklist-question>
<howto>
<step>Edit the inetd.conf file</step>
<step>Identify the entry that initiates the systat daemon</step>
<step>Comment out the entry so identified</step>
</howto>
<risks-addressed>
<risk>Unnecessary intelligence may be given to system attackers</risk>
<risk>Unauthorised access may be obtained</risk>
<risk>Business information may be accidentally or maliciously altered.</risk>
<risk>Business information may be disclosed.</risk>
<risk>Business information and applications may be unavailable.</risk>
</risks-addressed>
</control>
<control level="baseline" techversion="Any" title="SLIP must not be installed on the system" environment="Any" pleading="mandatory" versionMaj="1" id="GUS-NET-28" availability-level="Any" disclosure-level="Any" technology="UNIX" versionMin="0" section="Network Security Configuration:Network Interface Considerations" integrity-level="Any" dp-level="Any" safety-level="Any">
<revhistory>
</revhistory>
<policy-statement>SLIP must not be installed on the system</policy-statement>
<checklist-question>Is it ensured that SLIP is not installed on the system?</checklist-question>
<howto>
<step>Remove the SLIP executable from the system</step>
<step>Remove any reference to SLIP from network configuration files</step>
</howto>
<risks-addressed>
<risk>Remote unauthorised access may be obtained</risk>
<risk>Business information may be accidentally or maliciously altered.</risk>
<risk>Business information may be disclosed.</risk>
<risk>Business information and applications may be unavailable.</risk>
</risks-addressed>
</control>
<control level="baseline" techversion="Any" title="The ftp entry in the password file should contain an invalid password and refer to a non-existent shell" environment="Any" pleading="recommended" versionMaj="1" id="GUS-NET-53" availability-level="Any" disclosure-level="Any" technology="UNIX" versionMin="0" section="Network Security Configuration:Network Interface Considerations" integrity-level="Any" dp-level="Any" safety-level="Any">
<revhistory>
</revhistory>
<policy-statement>The ftp entry in the password file should contain an invalid password and refer to a non-existent shell</policy-statement>
<checklist-question>Does the ftp entry in the password file contain an invalid password and refer to a non-existent shell?</checklist-question>
<howto>
<step>Edit the password file and set an invalid password value and a non existent shell</step>
</howto>
<risks-addressed>
<risk>Unauthorised access may be obtained</risk>
<risk>Business information and data may be maliciously or accidentally altered</risk>
<risk>Business information and data may be accidentally or maliciously disclosed</risk>
<risk>Business information and applications may be unavailable.</risk>
</risks-addressed>
</control>
<control level="baseline" techversion="Any" title="Disable anonymous ftp if possible" environment="Any" pleading="recommended" versionMaj="1" id="GUS-NET-45" availability-level="Any" disclosure-level="Any" technology="UNIX" versionMin="0" section="Network Security Configuration:Network Interface Considerations" integrity-level="Any" dp-level="Any" safety-level="Any">
<revhistory>
</revhistory>
<policy-statement>Disable anonymous ftp if possible</policy-statement>
<checklist-question>If anonymous ftp is not required is it disabled?</checklist-question>
<howto>
<step>Edit the configuration and/or services file and comment out anonymous ftp service</step>
<step>Restart the inet daemon and other appropriate system services/daemons to make the change take effect</step>
</howto>
<risks-addressed>
<risk>Unauthorised non-privileged remote access may be obtained</risk>
<risk>Business information may be accidentally or maliciously altered.</risk>
<risk>Business information may be accidentally or maliciously disclosed.</risk>
<risk>Business information and applications may be unavailable.</risk>
</risks-addressed>
</control>
<control level="baseline" techversion="Any" title="root must be used to run all crontab scripts as user UUCP. The scripts must be owned by root. " environment="Any" pleading="mandatory" id="GUS-NET-11" versionMaj="1" disclosure-level="Any" availability-level="Any" versionMin="0" technology="UNIX" section="Network Security Configuration:Network Interface Considerations" integrity-level="Any" dp-level="Any" safety-level="Any">
<revhistory>
</revhistory>
<policy-statement>root must be used to run all crontab scripts as user UUCP. The scripts must be owned by root. </policy-statement>
<checklist-question>Does root run all UUCP crontab scripts as user UUCP and own all of the scripts?</checklist-question>
<howto>
<step>Identify all crontab scripts required to be run by UUCP. </step>
<step>Take ownership of these scripts by root.</step>
<step>Ensure that when they are run they are executed by root as crontab.</step>
</howto>
<risks-addressed>
<risk>Protects crontab scripts from malicious alteration or substitution</risk>
<risk>Business information may be accidentally or maliciously altered.</risk>
<risk>Business information may be disclosed.</risk>
<risk>Business information and applications may be unavailable.</risk>
</risks-addressed>
</control>
<control level="baseline" techversion="Any" title="The /etc/inetd.conf should be owned by root." environment="Any" pleading="recommended" versionMaj="1" id="GUS-NET-26" availability-level="Any" disclosure-level="Any" technology="UNIX" versionMin="0" section="Network Security Configuration:Network Interface Considerations" integrity-level="Any" dp-level="Any" safety-level="Any">
<revhistory>
</revhistory>
<policy-statement>The /etc/inetd.conf should be owned by root.</policy-statement>
<checklist-question>Is the /etc/inetd.conf owned by root?</checklist-question>
<howto>
<step>View the ownership of the inetd.conf file</step>
<step>If this is not owned by root set it to be owned by root</step>
</howto>
<risks-addressed>
<risk>Unauthorised changes to the file may be made </risk>
<risk>Unauthorised access may be obtained</risk>
<risk>Business information may be accidentally or maliciously altered.</risk>
<risk>Business information may be disclosed.</risk>
<risk>Business information and applications may be unavailable.</risk>
</risks-addressed>
</control>
<control level="baseline" techversion="Any" title="rexecd daemon should be disabled" environment="Any" pleading="recommended" id="GUS-NET-14" versionMaj="1" disclosure-level="Any" availability-level="Any" versionMin="0" technology="UNIX" section="Network Security Configuration:Network Interface Considerations" integrity-level="Any" dp-level="Any" safety-level="Any">
<revhistory>
</revhistory>
<policy-statement>The rexecd daemon should be disabled by commenting out the rexec entry in inetd.conf.</policy-statement>
<checklist-question>Has the rexecd daemon been commented out in the inetd.conf?</checklist-question>
<howto>
<step>Edit inetd.conf and locate the entry for rexecd</step>
<step>Comment out the entry that initiates this daemon.</step>
</howto>
<risks-addressed>
<risk>Remote execution can be used to attempt to subvert system controls</risk>
<risk>Business information may be accidentally or maliciously altered.</risk>
<risk>Business information may be disclosed.</risk>
<risk>Business information and applications may be unavailable.</risk>
</risks-addressed>
</control>
<control level="baseline" techversion="Any" title="NFS Filesystems should be exported nosuid" environment="Any" pleading="recommended" id="GUS-NET-36" versionMaj="1" disclosure-level="Any" availability-level="Any" versionMin="0" technology="UNIX" section="Network Security Configuration:Network Interface Considerations" integrity-level="Any" dp-level="Any" safety-level="Any">
<revhistory>
</revhistory>
<policy-statement>NFS Filesystems should be exported nosuid</policy-statement>
<checklist-question>Are NFS Filesystems exported nosuid?</checklist-question>
<howto>
<step>Exam the contents of the NFS exports file</step>
<step>Ensure that the file systems are exported nosuid</step>
</howto>
<risks-addressed>
<risk>Business information may be accidentally or maliciously altered.</risk>
<risk>Business information may be accidentally or maliciously disclosed.</risk>
<risk>Business information and applications may be unavailable.</risk>
</risks-addressed>
</control>
<control level="baseline" techversion="Any" title="Anonymous ftp should prevent overwrite by guests or anonymous users" environment="Any" pleading="recommended" versionMaj="1" id="GUS-NET-47" availability-level="Any" disclosure-level="Any" technology="UNIX" versionMin="0" section="Network Security Configuration:Network Interface Considerations" integrity-level="Any" dp-level="Any" safety-level="Any">
<revhistory>
</revhistory>
<policy-statement>Anonymous ftp should be configured to prevent overwrite by guests or anonymous users
</policy-statement>
<checklist-question>Is anonymous ftp configured to prevent overwrite by guests or anonymous users?</checklist-question>
<howto>
<step>Configure the ftp daemon to prevent overwrite by anonymous or guest users</step>
</howto>
<risks-addressed>
<risk>Unauthorised data deletions may take place</risk>
<risk>Unauthorised data alteration may take place</risk>
<risk>Business information and applications may be unavailable.</risk>
</risks-addressed>
</control>
<control level="baseline" techversion="Any" title="Entries in an NFS exports file must be comprised of fully qualified hostnames" environment="Any" pleading="mandatory" versionMaj="1" id="GUS-NET-33" availability-level="Any" disclosure-level="Any" technology="UNIX" versionMin="0" section="Network Security Configuration:Network Interface Considerations" integrity-level="Any" dp-level="Any" safety-level="Any">
<revhistory>
</revhistory>
<policy-statement>Entries in an NFS exports file must be comprised of fully qualified hostnames</policy-statement>
<checklist-question>Are the entries in the NFS exports file comprised of fully qualified hostnames?</checklist-question>
<howto>
<step>Exam the contents of the NFS exports file</step>
<step>Ensure that the entries are fully qualified hostnames</step>
</howto>
<risks-addressed>
<risk>Data may be exported to incorrect hosts</risk>
<risk>Business information may be accidentally or maliciously altered.</risk>
<risk>Business information may be disclosed.</risk>
<risk>Business information and applications may be unavailable.</risk>
</risks-addressed>
</control>
<control level="baseline" techversion="Any" title="The ftp home directory should have permissions of 555" environment="Any" pleading="recommended" versionMaj="1" id="GUS-NET-55" availability-level="Any" disclosure-level="Any" technology="UNIX" versionMin="0" section="Network Security Configuration:Network Interface Considerations" integrity-level="Any" dp-level="Any" safety-level="Any">
<revhistory>
</revhistory>
<policy-statement>The ftp home directory should have permissions of 555</policy-statement>
<checklist-question>Does the ftp home directory have permissions of 555?</checklist-question>
<howto>
<step>Set the file permissions of the ftp home directory to 555</step>
</howto>
<risks-addressed>
<risk>Unauthorised write access may be obtained</risk>
<risk>Business information and data may be maliciously or accidentally altered</risk>
<risk>Business information and applications may be unavailable.</risk>
</risks-addressed>
</control>
<control level="baseline" techversion="Any" title="The fingerd daemon should be disabled by commenting out the finger entry in inetd.conf." environment="Any" pleading="recommended" versionMaj="1" id="GUS-NET-13" availability-level="Any" disclosure-level="Any" technology="UNIX" versionMin="0" section="Network Security Configuration:Network Interface Considerations" integrity-level="Any" dp-level="Any" safety-level="Any">
<revhistory>
</revhistory>
<policy-statement>The fingerd daemon should be disabled by commenting out the finger entry in inetd.conf.</policy-statement>
<checklist-question>Has the fingerd daemon been commented out of the inetd.conf file?</checklist-question>
<howto>
<step>Edit the inetd.conf file in order to delete the fingerd daemon entry.</step>
</howto>
<risks-addressed>
<risk>The unnecessary provision of intelligence to attackers </risk>
<risk>Unauthorised access may be obtained</risk>
<risk>Unauthorised access may lead to fraudulent or malicious misuse</risk>
<risk>Business information may be accidentally or maliciously altered.</risk>
<risk>Business information may be disclosed.</risk>
<risk>Business information and applications may be unavailable.</risk>
</risks-addressed>
</control>
<control level="baseline" techversion="Any" title="The permissions on the /etc/inetd.conf should be 644" environment="Any" pleading="recommended" versionMaj="1" id="GUS-NET-27" availability-level="Any" disclosure-level="Any" technology="UNIX" versionMin="0" section="Network Security Configuration:Network Interface Considerations" integrity-level="Any" dp-level="Any" safety-level="Any">
<revhistory>
</revhistory>
<policy-statement>The permissions on the /etc/inetd.conf should be 644</policy-statement>
<checklist-question>Are the permissions on the /etc/inetd.conf set to 644?</checklist-question>
<howto>
<step>View the permissions on the inetd.conf file</step>
<step>If this is not set to 644 set the permissions to 644</step>
</howto>
<risks-addressed>
<risk>Unauthorised changes to the file may be made </risk>
<risk>Unauthorised access may be obtained</risk>
<risk>Business information may be accidentally or maliciously altered.</risk>
<risk>Business information may be disclosed.</risk>
<risk>Business information and applications may be unavailable.</risk>
</risks-addressed>
</control>
<control level="baseline" techversion="Any" title="The /etc/hosts.equiv should contain the fewest number of trusted hosts" environment="Any" pleading="recommended" versionMaj="1" id="GUS-NET-21" availability-level="Any" disclosure-level="Any" technology="UNIX" versionMin="0" section="Network Security Configuration:Network Interface Considerations" integrity-level="Any" dp-level="Any" safety-level="Any">
<revhistory>
</revhistory>
<policy-statement>The /etc/hosts.equiv should contain the fewest number of trusted hosts</policy-statement>
<checklist-question>Does the /etc/hosts.equiv file contain the fewest number of trusted hosts?</checklist-question>
<howto>
<step>View the contents of the /etc/hosts.equiv file and validate all entries</step>
<step>Remove all of the entries that are not required</step>
</howto>
<risks-addressed>
<risk>Unauthorised access may be obtained</risk>
<risk>Business information may be accidentally or maliciously altered.</risk>
<risk>Business information may be disclosed.</risk>
<risk>Business information and applications may be unavailable.</risk>
</risks-addressed>
</control>
<control level="baseline" techversion="Any" title="Ensure /etc/ftpusers contains default vendor and system accounts that should not require ftp access" environment="Any" pleading="recommended" versionMaj="1" id="GUS-NET-44" availability-level="Any" disclosure-level="Any" technology="UNIX" versionMin="0" section="Network Security Configuration:Network Interface Considerations" integrity-level="Any" dp-level="Any" safety-level="Any">
<revhistory>
</revhistory>
<policy-statement>Ensure /etc/ftpusers contains default vendor and system accounts that should not require ftp access</policy-statement>
<checklist-question>Is it ensured that /etc/ftpusers contains default vendor and system accounts that should not require ftp access?</checklist-question>
<howto>
<step>Edit the /etc/ftpusers account</step>
<step>Add the following accounts to the list where they are not already included, news, nobody, lp, uucp, bin, guest.</step>
<step>Add all other default vendor accounts that have no ftp requirement</step>
<step>Add all other default system accounts that have no ftp requirement</step>
</howto>
<risks-addressed>
<risk>Unauthorised non-privileged remote access may be obtained</risk>
<risk>Unauthorised privileged remote access may be obtained</risk>
<risk>Business information may be accidentally or maliciously altered.</risk>
<risk>Business information may be accidentally or maliciously disclosed.</risk>
<risk>Business information and applications may be unavailable.</risk>
</risks-addressed>
</control>
<control level="baseline" techversion="Any" title="Reverse lookup should be used for anonymous ftp connections" environment="Any" pleading="recommended" versionMaj="1" id="GUS-NET-51" availability-level="Any" disclosure-level="Any" technology="UNIX" versionMin="0" section="Network Security Configuration:Network Interface Considerations" integrity-level="Any" dp-level="Any" safety-level="Any">
<revhistory>
</revhistory>
<policy-statement>Reverse lookup should be used for anonymous ftp connections</policy-statement>
<checklist-question>Is reverse lookup used for anonymous ftp connections</checklist-question>
<howto>
<step>Configure the ftp daemon to use reverse lookup of anonymous ftp connections</step>
</howto>
<risks-addressed>
<risk>IP address spoofing can be prevented</risk>
<risk>Business information and data may be maliciously or accidentally altered</risk>
<risk>Business information and data may be accidentally or maliciously disclosed</risk>
<risk>Business information and applications may be unavailable.</risk>
</risks-addressed>
</control>
<control level="baseline" techversion="Any" title="The /etc/hosts.equiv should be removed unless required" environment="Any" pleading="recommended" versionMaj="1" id="GUS-NET-20" availability-level="Any" disclosure-level="Any" technology="UNIX" versionMin="0" section="Network Security Configuration:Network Interface Considerations" integrity-level="Any" dp-level="Any" safety-level="Any">
<revhistory>
</revhistory>
<policy-statement>The /etc/hosts.equiv should be removed unless required</policy-statement>
<checklist-question>Has the /etc/hosts.equiv been removed where it is not required?</checklist-question>
<howto>
<step>View the contents of the /etc/hosts.equiv file and validate any entries</step>
<step>Where the file is empty delete the file altogether</step>
</howto>
<risks-addressed>
<risk>Unauthorised access may be obtained</risk>
<risk>Business information may be accidentally or maliciously altered.</risk>
<risk>Business information may be disclosed.</risk>
<risk>Business information and applications may be unavailable.</risk>
</risks-addressed>
</control>
<control level="baseline" techversion="Any" title="There should be a mail alias to redirect mail from the UUCP account using the aliases file" environment="Any" pleading="mandatory" versionMaj="1" id="GUS-MAIL-04" availability-level="Any" disclosure-level="Any" technology="UNIX" versionMin="0" section="Network Security Configuration:Network Interface Considerations" integrity-level="Any" dp-level="Any" safety-level="Any">
<revhistory>
</revhistory>
<policy-statement>There should be a mail alias to redirect mail from the UUCP account using the aliases file. The .forward file should not be used to achieve this.</policy-statement>
<checklist-question>Does the UUCP account have a mail alias in the aliases file and no entries in the .forward file?</checklist-question>
<howto>
<step>Add an entry in the aliases file forwarding mail to an alternate account</step>
<step>Ensure that there are no entries in the UUCP account&apos;s .forward file.</step>
</howto>
<risks-addressed>
<risk>Business information may be disclosed.</risk>
</risks-addressed>
</control>
<control level="baseline" techversion="Any" title="Anonymous ftp should prevent rename by guests or anonymous users" environment="Any" pleading="recommended" versionMaj="1" id="GUS-NET-48" availability-level="Any" disclosure-level="Any" technology="UNIX" versionMin="0" section="Network Security Configuration:Network Interface Considerations" integrity-level="Any" dp-level="Any" safety-level="Any">
<revhistory>
</revhistory>
<policy-statement>Anonymous ftp should be configured to prevent rename by guests or anonymous users
</policy-statement>
<checklist-question>Is anonymous ftp configured to prevent rename by guests or anonymous users?</checklist-question>
<howto>
<step>Configure the ftp daemon to prevent rename by anonymous or guest users</step>
</howto>
<risks-addressed>
<risk>Unauthorised object renames may take place</risk>
<risk>Business information and data may be maliciously or accidentally altered</risk>
<risk>Business information and applications may be unavailable.</risk>
</risks-addressed>
</control>
<control level="baseline" techversion="Any" title="Inetd.conf must be monitored for all alterations" environment="Any" pleading="mandatory" versionMaj="1" id="GUS-NET-03" availability-level="Any" disclosure-level="Any" technology="UNIX" versionMin="0" section="Network Security Configuration:Network Interface Considerations" integrity-level="Any" dp-level="Any" safety-level="Any">
<revhistory>
</revhistory>
<policy-statement>Inetd.conf must be monitored for alterations</policy-statement>
<checklist-question>Is inetd.conf monitored for any changes?</checklist-question>
<howto>
<step>Establish a baseline inetd.conf</step>
<step>Identify any changes to the file from the baseline</step>
<step>Reconcile the changes to ensure they are legitimate</step>
</howto>
<risks-addressed>
<risk>inetd.conf changes may result in the execution of unauthorised services</risk>
<risk>Privileged unauthorised access may be obtained</risk>
<risk>Business information may be accidentally or maliciously altered.</risk>
<risk>Business information may be disclosed.</risk>
<risk>Business information and applications may be unavailable.</risk>
</risks-addressed>
</control>
<control level="baseline" techversion="Any" title="The tftp home directory should not permit write access" environment="Any" pleading="recommended" versionMaj="1" id="GUS-NET-62" availability-level="Any" disclosure-level="Any" technology="UNIX" versionMin="0" section="Network Security Configuration:Network Interface Considerations" integrity-level="Any" dp-level="Any" safety-level="Any">
<revhistory>
</revhistory>
<policy-statement>The tftp home directory should not permit write access</policy-statement>
<checklist-question>Does the tftp home directory permit write access?</checklist-question>
<howto>
<step>Check the permissions on the tftp home directory</step>
<step>Set the permissions on the directory to exclude write access</step>
</howto>
<risks-addressed>
<risk>Business information and data may be maliciously or accidentally altered</risk>
<risk>Business information and data may be maliciously or accidentally disclosed</risk>
<risk>Business information and applications may be unavailable.</risk>
</risks-addressed>
</control>
<control level="baseline" techversion="Any" title="Ensure that the ftp daemon is the most recent" environment="Any" pleading="recommended" id="GUS-NET-40" versionMaj="1" disclosure-level="Any" availability-level="Any" versionMin="0" technology="UNIX" section="Network Security Configuration:Network Interface Considerations" integrity-level="Any" dp-level="Any" safety-level="Any">
<revhistory>
</revhistory>
<policy-statement>Ensure that the ftp daemon is the most recent</policy-statement>
<checklist-question>Is the ftp daemon the most recent?</checklist-question>
<howto>
<step>Determine the currently installed ftp daemon</step>
<step>Determine the most current ftp daemon</step>
<step>If they differ install the most current ftp daemon</step>
</howto>
<risks-addressed>
<risk>Unauthorised privileged access may be obtained</risk>
<risk>Unauthorised non-privileged access may be obtained</risk>
<risk>Business information may be accidentally or maliciously altered.</risk>
<risk>Business information may be accidentally or maliciously disclosed.</risk>
<risk>Business information and applications may be unavailable.</risk>
</risks-addressed>
</control>
<control level="baseline" techversion="Any" title="No SUID/SGID bits should be set on UUCP component programs." environment="Any" pleading="recommended" versionMaj="1" id="GUS-NET-05" availability-level="Any" disclosure-level="Any" technology="UNIX" versionMin="0" section="Network Security Configuration:Network Interface Considerations" integrity-level="Any" dp-level="Any" safety-level="Any">
<revhistory>
</revhistory>
<policy-statement>Where the UUCP subsystem is required all SUID and SGID bits should be removed from its component programs</policy-statement>
<checklist-question>If the UUCP subsystem is required have the SGID/SUID bits been stripped from the UUCP?</checklist-question>
<howto>
<step>Determine if the UUCP subsystem is required.</step>
<step>If it is required, identify all of the components with SGID and SUID bits set.</step>
<step>For all components so identified strip these bits.</step>
</howto>
<risks-addressed>
<risk>Unauthorised privileged access may be obtained remotely</risk>
<risk>Access may lead to to fradulent or malcious misuse</risk>
<risk>Business information may be accidentally or maliciously altered.</risk>
<risk>Business information may be disclosed.</risk>
<risk>Business information and applications may be unavailable.</risk>
</risks-addressed>
</control>
<control level="baseline" techversion="Any" title="The rcp daemon should be disabled unless required" environment="Any" pleading="recommended" versionMaj="1" id="GUS-NET-19" availability-level="Any" disclosure-level="Any" technology="UNIX" versionMin="0" section="Network Security Configuration:Network Interface Considerations" integrity-level="Any" dp-level="Any" safety-level="Any">
<revhistory>
</revhistory>
<policy-statement>The rcp daemon should be disabled unless required</policy-statement>
<checklist-question>Has the rcp daemon been commented out of the inetd.conf?</checklist-question>
<howto>
<step>Edit inetd.conf and locate the entry for rcpd</step>
<step>Comment out the entry that initiates this daemon.</step>
</howto>
<risks-addressed>
<risk>Business information may be accidentally or maliciously altered.</risk>
<risk>Business information may be disclosed.</risk>
<risk>Business information and applications may be unavailable.</risk>
</risks-addressed>
</control>
<control level="baseline" techversion="Any" title="Ensure /etc/ftpusers is in place to deny users ftp access that do not require it" environment="Any" pleading="recommended" versionMaj="1" id="GUS-NET-43" availability-level="Any" disclosure-level="Any" technology="UNIX" versionMin="0" section="Network Security Configuration:Network Interface Considerations" integrity-level="Any" dp-level="Any" safety-level="Any">
<revhistory>
</revhistory>
<policy-statement>Ensure /etc/ftpusers is in place to deny users ftp access that do not require it</policy-statement>
<checklist-question>Are users who do not require ftp access denied it&apos;s use?</checklist-question>
<howto>
<step>Create an /etc/ftpusers file</step>
<step>Populate the file with theusers who should not have ftp access</step>
<step>Ensure that the list is single entry per line</step>
</howto>
<risks-addressed>
<risk>Unauthorised remote access may be obtained</risk>
<risk>Business information may be accidentally or maliciously altered.</risk>
<risk>Business information may be accidentally or maliciously disclosed.</risk>
<risk>Business information and applications may be unavailable.</risk>
</risks-addressed>
</control>
<control level="baseline" techversion="Any" title="The ~ftp/etc/passwd file should be owned by root" environment="Any" pleading="recommended" id="GUS-NET-59" versionMaj="1" disclosure-level="Any" availability-level="Any" versionMin="0" technology="UNIX" section="Network Security Configuration:Network Interface Considerations" integrity-level="Any" dp-level="Any" safety-level="Any">
<revhistory>
</revhistory>
<policy-statement>The ~ftp/etc/passwd file should be owned by root</policy-statement>
<checklist-question>Is the ~ftp/etc/passwd file owned by root?</checklist-question>
<howto>
<step>Check the file ownership of ~ftp/etc/passwd</step>
<step>Where the owner is not root set the ownership to be root</step>
</howto>
<risks-addressed>
<risk>Business information and data may be maliciously or accidentally altered</risk>
<risk>Business information and data may be maliciously or accidentally disclosed</risk>
<risk>Business information and applications may be unavailable.</risk>
</risks-addressed>
</control>
<control level="baseline" techversion="Any" title="UUCP if required should be configured to only allow remote file retrieval from particular directories" environment="Any" pleading="recommended" id="GUS-NET-07" versionMaj="1" disclosure-level="Any" availability-level="Any" versionMin="0" technology="UNIX" section="Network Security Configuration:Network Interface Considerations" integrity-level="Any" dp-level="Any" safety-level="Any">
<revhistory>
</revhistory>
<policy-statement>UUCP if required should be configured to only allow remote file retrieval from particular directories.</policy-statement>
<checklist-question>Has UUCP been set up to permit file retrieval from only certain pre-defined directories?</checklist-question>
<howto>
<step>Configure UUCP access to permit access to specifically required directories.</step>
</howto>
<risks-addressed>
<risk>Unauthorised access to data objects may be obtained</risk>
<risk>Business information may be accidentally or maliciously altered.</risk>
<risk>Business information may be disclosed.</risk>
<risk>Business information and applications may be unavailable.</risk>
</risks-addressed>
</control>
<control level="baseline" techversion="Any" title="tftp should be disabled unless the system serves X-terminals" environment="Any" pleading="recommended" versionMaj="1" id="GUS-NET-61" availability-level="Any" disclosure-level="Any" technology="UNIX" versionMin="0" section="Network Security Configuration:Network Interface Considerations" integrity-level="Any" dp-level="Any" safety-level="Any">
<revhistory>
</revhistory>
<policy-statement>tftp should be disabled unless the system serves X-terminals</policy-statement>
<checklist-question>Is tftp disabled where it is not required?</checklist-question>
<howto>
<step>Determine if tftp is required</step>
<step>Where it is not required comment the tftp entry out of the inetd.conf file</step>
</howto>
<risks-addressed>
<risk>Business information and data may be maliciously or accidentally altered</risk>
<risk>Business information and data may be maliciously or accidentally disclosed</risk>
<risk>Business information and applications may be unavailable.</risk>
</risks-addressed>
</control>
<control level="baseline" techversion="Any" title="Anonymous ftp should prevent setting of umask by guests or anonymous users" environment="Any" pleading="recommended" versionMaj="1" id="GUS-NET-50" availability-level="Any" disclosure-level="Any" technology="UNIX" versionMin="0" section="Network Security Configuration:Network Interface Considerations" integrity-level="Any" dp-level="Any" safety-level="Any">
<revhistory>
</revhistory>
<policy-statement>Anonymous ftp should be configured to prevent setting of umask by guests or anonymous users
</policy-statement>
<checklist-question>Is anonymous ftp configured to prevent setting of umask by guests or anonymous users?</checklist-question>
<howto>
<step>Configure the ftp daemon to prevent setting of umask by anonymous or guest users</step>
</howto>
<risks-addressed>
<risk>Unauthorised object access permissioning may take place</risk>
<risk>Business information and data may be maliciously or accidentally altered</risk>
<risk>Business information and data may be accidentally or maliciously disclosed</risk>
<risk>Business information and applications may be unavailable.</risk>
</risks-addressed>
</control>
<control level="baseline" techversion="Any" title="UUCP Callback should be enabled" environment="Any" pleading="recommended" versionMaj="1" id="GUS-NET-08" availability-level="Any" disclosure-level="Any" technology="UNIX" versionMin="0" section="Network Security Configuration:Network Interface Considerations" integrity-level="Any" dp-level="Any" safety-level="Any">
<revhistory>
</revhistory>
<policy-statement>UUCP callback should be enabled to reduce the risk of simple spoofing attacks</policy-statement>
<checklist-question>Is UUCP callback enabled?</checklist-question>
<howto>
<step>If UUCP is required set up UUCP callback to deny simple spoofing attacks.</step>
</howto>
<risks-addressed>
<risk>Simple spoofing attacks</risk>
<risk>Unauthorised access may be obtained</risk>
<risk>Unauthorised access may lead to fraudulent or malicious misuse</risk>
<risk>Business information may be accidentally or maliciously altered.</risk>
<risk>Business information may be disclosed.</risk>
<risk>Business information and applications may be unavailable.</risk>
</risks-addressed>
</control>
<control level="baseline" techversion="Any" title="The /etc/hosts.equiv should contain no hyphens or plus signs" environment="Any" pleading="recommended" versionMaj="1" id="GUS-NET-22" availability-level="Any" disclosure-level="Any" technology="UNIX" versionMin="0" section="Network Security Configuration:Network Interface Considerations" integrity-level="Any" dp-level="Any" safety-level="Any">
<revhistory>
</revhistory>
<policy-statement>The /etc/hosts.equiv should contain no hyphens or plus signs</policy-statement>
<checklist-question>Has it been ensured that the /etc/hosts.equiv contains no hyphens or plus signs?</checklist-question>
<howto>
<step>View the contents of the /etc/hosts.equiv file and identify any (-) or (+)</step>
<step>Remove all entries containing a - or a + symbol</step>
</howto>
<risks-addressed>
<risk>Unauthorised access may be obtained</risk>
<risk>Business information may be accidentally or maliciously altered.</risk>
<risk>Business information may be disclosed.</risk>
<risk>Business information and applications may be unavailable.</risk>
</risks-addressed>
</control>
<control level="baseline" techversion="Any" title="The /usr/lib/uucp/L.sys file must not allow group or everyone read access" environment="Any" pleading="mandatory" versionMaj="1" id="GUS-NET-66" availability-level="Any" disclosure-level="Any" technology="UNIX" versionMin="0" section="Network Security Configuration:Network Interface Considerations" integrity-level="Any" dp-level="Any" safety-level="Any">
<revhistory>
</revhistory>
<policy-statement>The /usr/lib/uucp/L.sys file must not allow group or everyone read access</policy-statement>
<checklist-question>Does the /usr/lib/uucp/L.sys file allow group or everyone read access?</checklist-question>
<howto>
<step>Check the permissions on the  /usr/lib/uucp/L.sys file </step>
<step>Remove group or everyone read access where it is granted</step>
</howto>
<risks-addressed>
<risk>A password may be disclosed</risk>
<risk>Unauthorised access to data objects may be obtained</risk>
<risk>Business information may be accidentally or maliciously altered.</risk>
<risk>Business information may be disclosed.</risk>
<risk>Business information and applications may be unavailable.</risk>
</risks-addressed>
</control>
<control level="baseline" techversion="Any" title="rdist should be used as a more secure means of performing file transfers" environment="Any" pleading="mandatory" versionMaj="1" id="GUS-NET-01" availability-level="baseline" disclosure-level="baseline" technology="Any" versionMin="0" section="Network Security Configuration:Network Interface Considerations" integrity-level="baseline" dp-level="baseline" safety-level="baseline">
<revhistory>
</revhistory>
<policy-statement>rdist should be used as a more secure means of performing file transfers and should be used in preference to ftp.</policy-statement>
<checklist-question>Is rdist used for secure file transfer?</checklist-question>
<howto>
<step>Use rdist for file transfers in preference to ftp</step>
</howto>
<risks-addressed>
<risk>Business information may be accidentally or maliciously altered.</risk>
<risk>Business information may be disclosed.</risk>
<risk>Business information and applications may be unavailable.</risk>
</risks-addressed>
</control>
<control level="baseline" techversion="Any" title="Disable sendmail if it is not required" environment="Any" pleading="recommended" versionMaj="1" id="GUS-NET-38" availability-level="Any" disclosure-level="Any" technology="UNIX" versionMin="0" section="Network Security Configuration:Network Interface Considerations" integrity-level="Any" dp-level="Any" safety-level="Any">
<revhistory>
</revhistory>
<policy-statement>Disable sendmail if it is not required</policy-statement>
<checklist-question>Is sendmail disabled where it is not required?</checklist-question>
<howto>
<step>Remove it as a service</step>
</howto>
<risks-addressed>
<risk>Unauthorised privileged access may be obtained</risk>
<risk>Business information may be accidentally or maliciously altered.</risk>
<risk>Business information may be accidentally or maliciously disclosed.</risk>
<risk>Business information and applications may be unavailable.</risk>
</risks-addressed>
</control>
<control level="baseline" techversion="Any" title="The /etc/hosts.equiv should be owned by root  " environment="Any" pleading="recommended" versionMaj="1" id="GUS-NET-23" availability-level="Any" disclosure-level="Any" technology="UNIX" versionMin="0" section="Network Security Configuration:Network Interface Considerations" integrity-level="Any" dp-level="Any" safety-level="Any">
<revhistory>
</revhistory>
<policy-statement>The /etc/hosts.equiv should be owned by root</policy-statement>
<checklist-question>Is the /etc/hosts.equiv owned by root?</checklist-question>
<howto>
<step>Check the ownership of the /etc/hosts.equiv file</step>
<step>Where it is not owned by root change the ownership to root</step>
</howto>
<risks-addressed>
<risk>Unauthorised access may be obtained</risk>
<risk>Business information may be accidentally or maliciously altered.</risk>
<risk>Business information may be disclosed.</risk>
<risk>Business information and applications may be unavailable.</risk>
</risks-addressed>
</control>
<control level="baseline" techversion="Any" title="UUCP account should be password protected if present" environment="Any" pleading="recommended" versionMaj="1" id="GUS-NET-06" availability-level="Any" disclosure-level="Any" technology="UNIX" versionMin="0" section="Network Security Configuration:Network Interface Considerations" integrity-level="Any" dp-level="Any" safety-level="Any">
<revhistory>
</revhistory>
<policy-statement>Where the UUCP account is present it should be password protected.</policy-statement>
<checklist-question>Is the UUCP account password protected where present?</checklist-question>
<howto>
<step>If the UUCP account is present ensure that it is password protected.</step>
</howto>
<risks-addressed>
<risk>Unauthorised remote access may be obtained</risk>
<risk>Unauthorised access may be used for fraudulent misuse</risk>
<risk>Unauthorised access may be used for malicious misuse</risk>
<risk>Business information may be accidentally or maliciously altered.</risk>
<risk>Business information may be disclosed.</risk>
<risk>Business information and applications may be unavailable.</risk>
</risks-addressed>
</control>
<control level="baseline" techversion="Any" title="If NFS is used, all available patches should be applied." environment="Any" pleading="recommended" id="GUS-NET-31" versionMaj="1" disclosure-level="Any" availability-level="Any" versionMin="0" technology="UNIX" section="Network Security Configuration:Network Interface Considerations" integrity-level="Any" dp-level="Any" safety-level="Any">
<revhistory>
</revhistory>
<policy-statement>If NFS is used, all available patches should be applied.</policy-statement>
<checklist-question>IHave all available NFS been applied?</checklist-question>
<howto>
<step>Ensure that the release of software updates are monitored.</step>
<step>Ensure that the patches identified are applied.</step>
</howto>
<risks-addressed>
<risk>Business information may be accidentally or maliciously altered.</risk>
<risk>Business information may be disclosed.</risk>
<risk>Business information and applications may be unavailable.</risk>
</risks-addressed>
</control>
<control level="baseline" techversion="Any" title="The ~ftp/etc/passwd file permissions should be set to 444" environment="Any" pleading="recommended" id="GUS-NET-60" versionMaj="1" disclosure-level="Any" availability-level="Any" versionMin="0" technology="UNIX" section="Network Security Configuration:Network Interface Considerations" integrity-level="Any" dp-level="Any" safety-level="Any">
<revhistory>
</revhistory>
<policy-statement>The ~ftp/etc/passwd file permissions should be set to 444</policy-statement>
<checklist-question>Are the ~ftp/etc/passwd file permissions set to 444?</checklist-question>
<howto>
<step>Check the file permissions of ~ftp/etc/passwd</step>
<step>Where the permissions are not set to 444 set the permissions to 444</step>
</howto>
<risks-addressed>
<risk>Business information and data may be maliciously or accidentally altered</risk>
<risk>Business information and data may be maliciously or accidentally disclosed</risk>
<risk>Business information and applications may be unavailable.</risk>
</risks-addressed>
</control>
<control level="baseline" techversion="Any" title="The UUCP subsystem should be removed unless it is required" environment="Any" pleading="mandatory" versionMaj="1" id="GUS-NET-04" availability-level="Any" disclosure-level="Any" technology="UNIX" versionMin="0" section="Network Security Configuration:Network Interface Considerations" integrity-level="Any" dp-level="Any" safety-level="Any">
<revhistory>
</revhistory>
<policy-statement>The UUCP subsystem must be removed unless it is required.</policy-statement>
<checklist-question>Has the UUCP subsystem been removed?
If not, is it reqyured?</checklist-question>
<howto>
<step>Check to see whether the UUCP subsystem is actually required.</step>
<step>If it is not required, remove it.</step>
</howto>
<risks-addressed>
<risk>UUCP can be a source of multiple security vulnerabilities</risk>
<risk>Business information may be accidentally or maliciously altered.</risk>
<risk>Business information may be disclosed.</risk>
<risk>Business information and applications may be unavailable.</risk>
</risks-addressed>
</control>
<control level="baseline" techversion="Any" title="The /etc/hosts.equiv should contain no trusted users" environment="Any" pleading="recommended" versionMaj="1" id="GUS-NET-25" availability-level="Any" disclosure-level="Any" technology="UNIX" versionMin="0" section="Network Security Configuration:Network Interface Considerations" integrity-level="Any" dp-level="Any" safety-level="Any">
<revhistory>
</revhistory>
<policy-statement>The /etc/hosts.equiv should contain no trusted users</policy-statement>
<checklist-question>Has it been ensured that the /etc/hosts.equiv contains no trusted users</checklist-question>
<howto>
<step>View the contents of the /etc/hosts.equiv file and identify any specific users</step>
<step>Remove all entries relating to specific users</step>
</howto>
<risks-addressed>
<risk>Unauthorised access may be obtained</risk>
<risk>Business information may be accidentally or maliciously altered.</risk>
<risk>Business information may be disclosed.</risk>
<risk>Business information and applications may be unavailable.</risk>
</risks-addressed>
</control>
<control level="baseline" techversion="Any" title="The home directory of the ftp user account must not contain a .forward file" environment="Any" pleading="mandatory" versionMaj="1" id="GUS-NET-58" availability-level="Any" disclosure-level="Any" technology="UNIX" versionMin="0" section="Network Security Configuration:Network Interface Considerations" integrity-level="Any" dp-level="Any" safety-level="Any">
<revhistory>
</revhistory>
<policy-statement>The home directory of the ftp user account must not contain a .forward file</policy-statement>
<checklist-question>Does the home directory of the ftp user account contain a .forward file?</checklist-question>
<howto>
<step>Delete any .forward file from the ftp user home directory</step>
</howto>
<risks-addressed>
<risk>Business information and data may be maliciously or accidentally altered</risk>
<risk>Business information and data may be maliciously or accidentally disclosed</risk>
<risk>Business information and applications may be unavailable.</risk>
</risks-addressed>
</control>
<control level="baseline" techversion="Any" title="Ensure that the ftp daemon is started up with the -l qualifier" environment="Any" pleading="recommended" versionMaj="1" id="GUS-NET-41" availability-level="Any" disclosure-level="Any" technology="UNIX" versionMin="0" section="Network Security Configuration:Network Interface Considerations" integrity-level="Any" dp-level="Any" safety-level="Any">
<revhistory>
</revhistory>
<policy-statement>Ensure that the ftp daemon is started up with the -l qualifier to log connections</policy-statement>
<checklist-question>Is it ensured that the ftp daemon is started up with the -l qualifier to log connections?</checklist-question>
<howto>
<step>Edit the configuration or services file referenced during the startup of the ftp daemon</step>
<step>Modify the entry for the ftp daemon to include the -l qualifier</step>
</howto>
<risks-addressed>
<risk>Unauthorised use may go unrecorded</risk>
<risk>Unauthorised use may go undetected</risk>
<risk>Business information may be accidentally or maliciously altered.</risk>
<risk>Business information may be accidentally or maliciously disclosed.</risk>
<risk>Business information and applications may be unavailable.</risk>
</risks-addressed>
</control>
<control level="baseline" techversion="Any" title="The home directory of the ftp user account must not contain a .rhosts file" environment="Any" pleading="mandatory" id="GUS-NET-57" versionMaj="1" disclosure-level="Any" availability-level="Any" versionMin="0" technology="UNIX" section="Network Security Configuration:Network Interface Considerations" integrity-level="Any" dp-level="Any" safety-level="Any">
<revhistory>
</revhistory>
<policy-statement>The home directory of the ftp user account must not contain a .rhosts file</policy-statement>
<checklist-question>Does the home directory of the ftp user account contain a .rhosts file?</checklist-question>
<howto>
<step>Delete any .rhosts file from the ~ftp directory</step>
</howto>
<risks-addressed>
<risk>Unauthorised remote access may be obtained</risk>
<risk>Business information and data may be maliciously or accidentally altered</risk>
<risk>Business information and data may be maliciously or accidentally disclosed</risk>
<risk>Business information and applications may be unavailable.</risk>
</risks-addressed>
</control>
<control level="baseline" techversion="Any" title="The ~ftp/etc/passwd file must not contain the entries from the real password file" environment="Any" pleading="mandatory" id="GUS-NET-56" versionMaj="1" disclosure-level="Any" availability-level="Any" versionMin="0" technology="UNIX" section="Network Security Configuration:Network Interface Considerations" integrity-level="Any" dp-level="Any" safety-level="Any">
<revhistory>
</revhistory>
<policy-statement>The ~ftp/etc/passwd file must not contain the entries from the real password file</policy-statement>
<checklist-question>Does the ~ftp/etc/passwd file contain entries from the real password file?</checklist-question>
<howto>
<step>Do not copy the real passwd file</step>
<step>Do not copy entries from the real passwd file</step>
<step>Create a new passwd file for the ~ftp/etc/passwd</step>
</howto>
<risks-addressed>
<risk>Unauthorised access to the system may be obtained</risk>
<risk>Business information and data may be maliciously or accidentally altered</risk>
<risk>Business information and data may be maliciously or accidentally disclosed</risk>
<risk>Business information and applications may be unavailable.</risk>
</risks-addressed>
</control>
<control level="baseline" techversion="Any" title="The rsh daemon should be disabled unless required" environment="Any" pleading="recommended" versionMaj="1" id="GUS-NET-18" availability-level="Any" disclosure-level="Any" technology="UNIX" versionMin="0" section="Network Security Configuration:Network Interface Considerations" integrity-level="Any" dp-level="Any" safety-level="Any">
<revhistory>
</revhistory>
<policy-statement>The rsh daemon should be disabled unless required</policy-statement>
<checklist-question>Has the rsh daemon been commented out of the inetd.conf?</checklist-question>
<howto>
<step>Edit inetd.conf and locate the entry for rshd</step>
<step>Comment out the entry that initiates this daemon.</step>
</howto>
<risks-addressed>
<risk>Business information may be accidentally or maliciously altered.</risk>
<risk>Business information may be disclosed.</risk>
<risk>Business information and applications may be unavailable.</risk>
</risks-addressed>
</control>
<control level="baseline" techversion="Any" title="NFS exports file must not contain an entry for localhosts" environment="Any" pleading="recommended" id="GUS-NET-32" versionMaj="1" disclosure-level="Any" availability-level="Any" versionMin="0" technology="UNIX" section="Network Security Configuration:Network Interface Considerations" integrity-level="Any" dp-level="Any" safety-level="Any">
<revhistory>
</revhistory>
<policy-statement>The NFS exports file must not contain an entry for localhosts</policy-statement>
<checklist-question>Does the NFS exports file contain an entry for localhosts</checklist-question>
<howto>
<step>Exam the contents of the NFS exports file</step>
<step>Ensure that no entries exist for localhosts</step>
</howto>
<risks-addressed>
<risk>Business information may be accidentally or maliciously altered.</risk>
<risk>Business information may be disclosed.</risk>
<risk>Business information and applications may be unavailable.</risk>
</risks-addressed>
</control>
<control level="baseline" techversion="Any" title="Users $HOME directories must not contain any .netrc files" environment="Any" pleading="mandatory" versionMaj="1" id="GUS-NET-65" availability-level="Any" disclosure-level="Any" technology="UNIX" versionMin="0" section="Network Security Configuration:Network Interface Considerations" integrity-level="Any" dp-level="Any" safety-level="Any">
<revhistory>
</revhistory>
<policy-statement>Users $HOME directories must not contain any .netrc files</policy-statement>
<checklist-question>Do users $HOME directories contain any .netrc files?</checklist-question>
<howto>
<step>List all users $HOME directories and identify those with .netrc files</step>
<step>Delete all .netrc files found</step>
</howto>
<risks-addressed>
<risk>Passwords may be disclosed</risk>
<risk>Unauthorised access to data objects may be obtained</risk>
<risk>Business information may be accidentally or maliciously altered.</risk>
<risk>Business information may be disclosed.</risk>
<risk>Business information and applications may be unavailable.</risk>
</risks-addressed>
</control>
<control level="baseline" techversion="Any" title="The ~ftp/usr/bin directory and its equivalents should not contain CLIs or other system commands" environment="Any" pleading="recommended" versionMaj="1" id="GUS-NET-52" availability-level="Any" disclosure-level="Any" technology="UNIX" versionMin="0" section="Network Security Configuration:Network Interface Considerations" integrity-level="Any" dp-level="Any" safety-level="Any">
<revhistory>
</revhistory>
<policy-statement>The ~ftp/usr/bin directory and its equivalents should not contain CLIs or other system commands</policy-statement>
<checklist-question>Is it ensured that the ~ftp/usr/bin directory and its equivalents do not contain CLIs or other system commands</checklist-question>
<howto>
<step>Ensure that the contents of the ~ftp/usr/bin directory contains no unnecessary system commands or CLIs</step>
</howto>
<risks-addressed>
<risk>Unintended commands may be executed</risk>
<risk>Business information and data may be maliciously or accidentally altered</risk>
<risk>Business information and data may be accidentally or maliciously disclosed</risk>
<risk>Business information and applications may be unavailable.</risk>
</risks-addressed>
</control>
<control level="baseline" techversion="Any" title="Telnet should be disabled unless required" environment="Any" pleading="recommended" id="GUS-NET-30" versionMaj="1" disclosure-level="Any" availability-level="Any" versionMin="0" technology="UNIX" section="Network Security Configuration:Network Interface Considerations" integrity-level="Any" dp-level="Any" safety-level="Any">
<revhistory>
</revhistory>
<policy-statement>Telnet should be disabled unless required</policy-statement>
<checklist-question>Is Telnet disabled unless required?</checklist-question>
<howto>
<step>Comment the telnet daemon out of the inetd.conf file</step>
</howto>
<risks-addressed>
<risk>Remote unauthorised access may be obtained</risk>
<risk>Business information may be accidentally or maliciously altered.</risk>
<risk>Business information may be disclosed.</risk>
<risk>Business information and applications may be unavailable.</risk>
</risks-addressed>
</control>
<control level="baseline" techversion="Any" title="The rlogin daemon should be disabled unless required" environment="Any" pleading="recommended" versionMaj="1" id="GUS-NET-17" availability-level="Any" disclosure-level="Any" technology="UNIX" versionMin="0" section="Network Security Configuration:Network Interface Considerations" integrity-level="Any" dp-level="Any" safety-level="Any">
<revhistory>
</revhistory>
<policy-statement>The rlogin daemon should be disabled unless required</policy-statement>
<checklist-question>Has the rlogin daemon been commented out of the inetd.conf?</checklist-question>
<howto>
<step>Edit inetd.conf and locate the entry for rlogind</step>
<step>Comment out the entry that initiates this daemon.</step>
</howto>
<risks-addressed>
<risk>Business information may be accidentally or maliciously altered.</risk>
<risk>Business information may be disclosed.</risk>
<risk>Business information and applications may be unavailable.</risk>
</risks-addressed>
</control>
<control level="baseline" techversion="Any" title="Ensure that the ftp server does not permit the execution of the site exec command" environment="Any" pleading="recommended" versionMaj="1" id="GUS-NET-42" availability-level="Any" disclosure-level="Any" technology="UNIX" versionMin="0" section="Network Security Configuration:Network Interface Considerations" integrity-level="Any" dp-level="Any" safety-level="Any">
<revhistory>
</revhistory>
<policy-statement>Ensure that the ftp server does not permit the execution of the site exec command</policy-statement>
<checklist-question>Is it ensured that the ftp server does not permit the execution of the site exec command?</checklist-question>
<howto>
<step>Check the ftp daemon default configuration</step>
<step>Test the ftp server to see if the site exec command is accepted</step>
</howto>
<risks-addressed>
<risk>Unauthorised access may be obtained</risk>
<risk>Business information may be accidentally or maliciously altered.</risk>
<risk>Business information may be accidentally or maliciously disclosed.</risk>
<risk>Business information and applications may be unavailable.</risk>
</risks-addressed>
</control>
<control level="baseline" techversion="Any" title="Do not export a system owned file system" environment="Any" pleading="mandatory" id="GUS-NET-37" versionMaj="1" disclosure-level="Any" availability-level="Any" versionMin="0" technology="UNIX" section="Network Security Configuration:Network Interface Considerations" integrity-level="Any" dp-level="Any" safety-level="Any">
<revhistory>
</revhistory>
<policy-statement>Do not export a system owned file system</policy-statement>
<checklist-question>Are any system owned file systems exported?</checklist-question>
<howto>
<step>Examine the contents of the NFS exports file</step>
<step>Ensure that  no system owned file systems are exported.</step>
</howto>
<risks-addressed>
<risk>Unauthorised privileged access may be obtained</risk>
<risk>Business information may be accidentally or maliciously altered.</risk>
<risk>Business information may be accidentally or maliciously disclosed.</risk>
<risk>Business information and applications may be unavailable.</risk>
</risks-addressed>
</control>
<control level="baseline" techversion="Any" title="No UUCP files or directories should permit everyone write access" environment="Any" pleading="recommended" versionMaj="1" id="GUS-NET-64" availability-level="Any" disclosure-level="Any" technology="UNIX" versionMin="0" section="Network Security Configuration:Network Interface Considerations" integrity-level="Any" dp-level="Any" safety-level="Any">
<revhistory>
</revhistory>
<policy-statement>No UUCP files or directories should permit everyone write access</policy-statement>
<checklist-question>Do UUCP files or directories permit everyone write access?</checklist-question>
<howto>
<step>Check the permissions on the UUCP files and directories</step>
<step>Set the permissions to exclude everyone write access where it is currently permitted.</step>
</howto>
<risks-addressed>
<risk>Unauthorised access to data objects may be obtained</risk>
<risk>Business information may be accidentally or maliciously altered.</risk>
<risk>Business information may be disclosed.</risk>
<risk>Business information and applications may be unavailable.</risk>
</risks-addressed>
</control>
<control level="baseline" techversion="Any" title="Ensure that all patches available for sendmail have been applied" environment="Any" pleading="recommended" versionMaj="1" id="GUS-NET-39" availability-level="Any" disclosure-level="Any" technology="UNIX" versionMin="0" section="Network Security Configuration:Network Interface Considerations" integrity-level="Any" dp-level="Any" safety-level="Any">
<revhistory>
</revhistory>
<policy-statement>Ensure that all patches available for sendmail have been applied</policy-statement>
<checklist-question>Have all patches available for sendmail been applied?</checklist-question>
<howto>
<step>Maintain notification for sendmail patch release</step>
<step>Apply these patches as they become available.</step>
</howto>
<risks-addressed>
<risk>Unauthorised privileged access may be obtained</risk>
<risk>Business information may be accidentally or maliciously altered.</risk>
<risk>Business information may be accidentally or maliciously disclosed.</risk>
<risk>Business information and applications may be unavailable.</risk>
</risks-addressed>
</control>
<control level="baseline" techversion="Any" title="Anonymous ftp should prevent deletion by guests or anonymous users" environment="Any" pleading="recommended" versionMaj="1" id="GUS-NET-46" availability-level="Any" disclosure-level="Any" technology="UNIX" versionMin="0" section="Network Security Configuration:Network Interface Considerations" integrity-level="Any" dp-level="Any" safety-level="Any">
<revhistory>
</revhistory>
<policy-statement>Anonymous ftp should be configured to prevent deletions by guests or anonymous users
</policy-statement>
<checklist-question>Is anonymous ftp configured to prevent deletions by guests or anonymous users?</checklist-question>
<howto>
<step>Configure the ftp daemon to prevent deletion by anonymous or guest users</step>
</howto>
<risks-addressed>
<risk>Unauthorised object deletions may take place</risk>
<risk>Business information and applications may be unavailable.</risk>
</risks-addressed>
</control>
<control level="baseline" techversion="Any" title="The /etc/exports file should be owned by root" environment="Any" pleading="recommended" versionMaj="1" id="GUS-NET-35" availability-level="Any" disclosure-level="Any" technology="UNIX" versionMin="0" section="Network Security Configuration:Network Interface Considerations" integrity-level="Any" dp-level="Any" safety-level="Any">
<revhistory>
</revhistory>
<policy-statement>The /etc/exports file should be owned by root</policy-statement>
<checklist-question>Is the /etc/exports file owned by root?</checklist-question>
<howto>
<step>Exam the ownershiip of the NFS exports file</step>
<step>Set the ownership to root</step>
</howto>
<risks-addressed>
<risk>Business information may be accidentally or maliciously altered.</risk>
<risk>Business information may be accidentally or maliciously disclosed.</risk>
<risk>Business information and applications may be unavailable.</risk>
</risks-addressed>
</control>
<control level="baseline" techversion="Any" title="Anonymous ftp should prevent chmod by guests or anonymous users" environment="Any" pleading="recommended" versionMaj="1" id="GUS-NET-49" availability-level="Any" disclosure-level="Any" technology="UNIX" versionMin="0" section="Network Security Configuration:Network Interface Considerations" integrity-level="Any" dp-level="Any" safety-level="Any">
<revhistory>
</revhistory>
<policy-statement>Anonymous ftp should be configured to prevent chmod by guests or anonymous users
</policy-statement>
<checklist-question>Is anonymous ftp configured to prevent chmod by guests or anonymous users?</checklist-question>
<howto>
<step>Configure the ftp daemon to prevent chmod by anonymous or guest users</step>
</howto>
<risks-addressed>
<risk>Unauthorised object access permissioning may take place</risk>
<risk>Business information and data may be maliciously or accidentally altered</risk>
<risk>Business information and data may be accidentally or maliciously disclosed</risk>
<risk>Business information and applications may be unavailable.</risk>
</risks-addressed>
</control>
<control level="baseline" techversion="Any" title="The tftp daemon should be started up with the -s qualifier" environment="Any" pleading="recommended" versionMaj="1" id="GUS-NET-63" availability-level="Any" disclosure-level="Any" technology="UNIX" versionMin="0" section="Network Security Configuration:Network Interface Considerations" integrity-level="Any" dp-level="Any" safety-level="Any">
<revhistory>
</revhistory>
<policy-statement>The tftp daemon should be started up with the -s qualifier</policy-statement>
<checklist-question>Is the tftp daemon started up with the -s qualifier?</checklist-question>
<howto>
<step>Edit the inetd.conf file</step>
<step>Add the -s qualifier to the tftp daemon entry in the file</step>
</howto>
<risks-addressed>
<risk>Business information and data may be maliciously or accidentally altered</risk>
<risk>Business information and data may be maliciously or accidentally disclosed</risk>
<risk>Business information and applications may be unavailable.</risk>
</risks-addressed>
</control>
<control level="baseline" techversion="Any" title="The ftp daemon must deny access to user accounts whose shell is not found as a valid shell in /etc/shells" environment="Any" pleading="mandatory" versionMaj="1" id="GUS-NET-02" availability-level="Any" disclosure-level="Any" technology="UNIX" versionMin="0" section="Network Security Configuration:Network Interface Considerations" integrity-level="Any" dp-level="Any" safety-level="Any">
<revhistory>
</revhistory>
<policy-statement>the ftp daemon should deny access to user accounts whose shell is not found as a valid shell in /etc/shells</policy-statement>
<checklist-question>Does the ftp daemon deny access to user accounts whose shell is not found to be a valid shell in /etc/shells?</checklist-question>
<howto>
<step>Ensure that /etc/shells includes only those shells valid for your system</step>
</howto>
<risks-addressed>
<risk>The execution of illict user shells by ftp may provide unauthorised access</risk>
<risk>Unauthorised access may be used for malicious or fraudulent misuse</risk>
<risk>Business information may be accidentally or maliciously altered.</risk>
<risk>Business information may be disclosed.</risk>
<risk>Business information and applications may be unavailable.</risk>
</risks-addressed>
</control>
<control level="baseline" techversion="Any" title="Export NFS filesystems read only wherever possible" environment="Any" pleading="recommended" versionMaj="1" id="GUS-NET-34" availability-level="Any" disclosure-level="Any" technology="UNIX" versionMin="0" section="Network Security Configuration:Network Interface Considerations" integrity-level="Any" dp-level="Any" safety-level="Any">
<revhistory>
</revhistory>
<policy-statement>Export NFS filesystems read only wherever possible</policy-statement>
<checklist-question>Are NFS filesystems exported read only where possible?</checklist-question>
<howto>
<step>Exam the contents of the NFS exports file</step>
<step>Ensure that the file systems are exported read only where possible</step>
</howto>
<risks-addressed>
<risk>Business information may be accidentally or maliciously altered.</risk>
<risk>Business information and applications may be unavailable.</risk>
</risks-addressed>
</control>
</controlsection>
<controlsection><title>Internet Considerations</title>
</controlsection>
</controlchapter>
<controlchapter><title>Asset Security Requirements</title>
<controlsection><title>Ownership, Accountability and Inventories</title>
</controlsection>
<controlsection><title>Classification Labelling</title>
</controlsection>
</controlchapter>
<controlchapter><title>Compliance</title>
<controlsection><title>The Companies Act 1985</title>
</controlsection>
<controlsection><title>Data Protection Act 1998</title>
</controlsection>
<controlsection><title>Computer Misuse Act 1990</title>
</controlsection>
<controlsection><title>Information Security Policy</title>
</controlsection>
</controlchapter>
<controlchapter><title>Physical Security Requirements</title>
<controlsection><title>Outer perimeter - public access space</title>
</controlsection>
<controlsection><title>Inner perimeter - general space</title>
</controlsection>
</controlchapter>
<controlchapter><title>Internet/Email Security Requirements</title>
<controlsection><title>General Internet security requirements</title>
</controlsection>
</controlchapter>
<controlchapter><title>Configuration</title>
<controlsection><title>Files and File Permissions</title>
<control level="baseline" techversion="Any" title=".plan and .project files in users $HOME directory should be kept empty" environment="Any" pleading="recommended" versionMaj="1" id="GUS-USER-04" availability-level="Any" disclosure-level="Any" technology="UNIX" versionMin="0" section="Configuration:Files and File Permissions" integrity-level="Any" dp-level="Any" safety-level="Any">
<revhistory>
</revhistory>
<policy-statement>The files .plan and .project held in user $HOME directories should be kept empty so that if the account is fingered no unnecessary information is released about the individual.</policy-statement>
<checklist-question>Are the .plan and .project files held in the users $HOME directories kept empty?	</checklist-question>
<howto>
<step>The .plan and .project files held in the users $HOME should be identified.</step>
<step>Each of these files should be checked for any contents.</step>
<step>For any with content these should be cleared out.</step>
</howto>
<risks-addressed>
<risk>Unnecessary intelligence may be provided to system attackers</risk>
<risk>Unauthorised access may be obtained</risk>
<risk>Unauthorised access may result in fraudulent or malicious misuse</risk>
<risk>Business information may be accidentally or maliciously altered.</risk>
<risk>Business information may be disclosed.</risk>
<risk>Business information and applications may be unavailable.</risk>
</risks-addressed>
</control>
<control level="baseline" techversion="Any" title="The wall command should be denied from non-administrative users" environment="Any" pleading="recommended" versionMaj="1" id="GUS-FP-1" availability-level="Any" disclosure-level="Any" technology="UNIX" versionMin="0" section="Configuration:Files and File Permissions" integrity-level="Any" dp-level="Any" safety-level="Any">
<revhistory>
</revhistory>
<policy-statement>The wall command should be denied from non-administrative users
</policy-statement>
<checklist-question>Is the wall command denied from non-administrative users?
</checklist-question>
<howto>
<step>Set permissions on the wall command to prevent execution by non-administrative users</step>
</howto>
<risks-addressed>
<risk>Unwanted broadcast messages may be generated</risk>
<risk>Business information may be disclosed.</risk>
<risk>Business information and applications may be unavailable.</risk>
</risks-addressed>
</control>
<control level="baseline" techversion="Any" title="The permissions on the /etc/hosts.equiv should be 755" environment="Any" pleading="recommended" id="GUS-NET-24" versionMaj="1" disclosure-level="Any" availability-level="Any" versionMin="0" technology="UNIX" section="Configuration:Files and File Permissions" integrity-level="Any" dp-level="Any" safety-level="Any">
<revhistory>
</revhistory>
<policy-statement>The permissions on the /etc/hosts.equiv should be 755</policy-statement>
<checklist-question>Are the permissions on the /etc/hosts.equiv set to 755</checklist-question>
<howto>
<step>Check the permissions of the /etc/hosts.equiv file</step>
<step>Where the permissions are greater than 755 set the permissions to 755</step>
</howto>
<risks-addressed>
<risk>Unauthorised access to the file may be obtained</risk>
<risk>Entries may be added to the file to provide unauthorised access</risk>
<risk>Business information may be accidentally or maliciously altered.</risk>
<risk>Business information may be disclosed.</risk>
<risk>Business information and applications may be unavailable.</risk>
</risks-addressed>
</control>
</controlsection>
<controlsection><title>Administration</title>
</controlsection>
<controlsection><title>Backups</title>
</controlsection>
</controlchapter>
<controlchapter><title>System Development and Maintenance Requirements</title>
<controlsection><title>General Software Requirements</title>
</controlsection>
<controlsection><title>Change Control Procedures</title>
</controlsection>
<controlsection><title>Application system security</title>
</controlsection>
<controlsection><title>Security requirements for Analysis and Specification</title>
</controlsection>
<controlsection><title>Test Data Security</title>
</controlsection>
<controlsection><title>Control of operational software</title>
</controlsection>
<controlsection><title>Security of electronic office systems</title>
</controlsection>
</controlchapter>
<controlchapter><title>Installation</title>
<controlsection><title>Setup Choices</title>
<control level="baseline" techversion="Any" title="Fsirand should be run once following commissioning " environment="Any" status="released" pleading="recommended" versionMaj="1" id="GUS-SETUP-1" availability-level="Any" disclosure-level="Any" technology="UNIX" versionMin="0" section="Installation:Setup Choices" integrity-level="Any" dp-level="Any" safety-level="Any">
<revhistory>
</revhistory>
<policy-statement>Fsirand should be run once following commissioning to generate random inode numbers for the files on the system</policy-statement>
<checklist-question>Is Fsirand run once on the system following commissioning?</checklist-question>
<howto>
<step>Following commissioning of the system run fsirand</step>
</howto>
<risks-addressed>
<risk>Business information may be accidentally or maliciously altered.</risk>
<risk>Business information may be disclosed.</risk>
<risk>Business information and applications may be unavailable.</risk>
</risks-addressed>
</control>
<control level="baseline" techversion="Any" title="Do not install Unix as &quot;Dual Universe&quot;" environment="Any" pleading="mandatory" id="GUS-INST-01" versionMaj="1" disclosure-level="Any" availability-level="Any" versionMin="0" technology="UNIX" section="Installation:Setup Choices" integrity-level="Any" dp-level="Any" safety-level="Any">
<revhistory>
</revhistory>
<policy-statement>Do not install Unix in dual universe form as this can introduce significant security vulnerabilities.</policy-statement>
<checklist-question>Is the installation dual universe i.e. accepts both Berkeley and System V commands.</checklist-question>
<howto>
<step>During installation install either Berkeley or System V.</step>
</howto>
<risks-addressed>
<risk>Multiple weaknesses may ensue from a dual universe installation</risk>
<risk>Business information may be accidentally or maliciously altered.</risk>
<risk>Business information may be disclosed.</risk>
<risk>Business information and applications may be unavailable.</risk>
</risks-addressed>
</control>
</controlsection>
</controlchapter>
<controlchapter><title>Auditing and Monitoring</title>
<controlsection><title>Events to be alerted in real-time</title>
</controlsection>
<controlsection><title>Audit log destination and format</title>
</controlsection>
<controlsection><title>Events to be audited</title>
<control level="baseline" techversion="Any" title="The sulog should record both successful and unsuccessful su attempts" environment="Any" pleading="recommended" versionMaj="1" id="GUS-EVEN-03" availability-level="Any" disclosure-level="Any" technology="UNIX" versionMin="0" section="Auditing and Monitoring:Events to be audited" integrity-level="Any" dp-level="Any" safety-level="Any">
<revhistory>
</revhistory>
<policy-statement>The sulog should record both successful and unsuccessful su attempts</policy-statement>
<checklist-question>Does the sulog record both successful and unsuccessful su attempts</checklist-question>
<howto>
<step>Configure auditing to record both successful and unsuccessful su attempts</step>
</howto>
<risks-addressed>
<risk>Attempts to breach security can be identified and avoided</risk>
<risk>Unauthorised access may be obtained</risk>
<risk>Unauthorised access may lead to fraudulent or malicious misuse</risk>
<risk>Business information may be accidentally or maliciously altered.</risk>
<risk>Business information may be disclosed.</risk>
<risk>Business information and applications may be unavailable.</risk>
</risks-addressed>
</control>
<control level="baseline" techversion="Any" title="Lastlog should be enabled for all users" environment="Any" pleading="recommended" versionMaj="1" id="GUS-AUD-03" availability-level="Any" disclosure-level="Any" technology="UNIX" versionMin="0" section="Auditing and Monitoring:Events to be audited" integrity-level="Any" dp-level="Any" safety-level="Any">
<revhistory>
</revhistory>
<policy-statement>Lastlog should be enabled for all users</policy-statement>
<checklist-question>Is lastlog enabled for all users?</checklist-question>
<howto>
<step>Ensure that all users have a lastlog file and that it is written to</step>
</howto>
<risks-addressed>
<risk>Unauthorised account usage may go unnoticed</risk>
<risk>Business information may be accidentally or maliciously altered.</risk>
<risk>Business information may be accidentally or maliciously disclosed.</risk>
<risk>Business information and applications may be unavailable.</risk>
</risks-addressed>
</control>
<control level="baseline" techversion="Any" title="Events for logging to syslog should be enabled for auth, daemon and cron messages." environment="Any" pleading="recommended" versionMaj="1" id="GUS-AUD-04" availability-level="Any" disclosure-level="Any" technology="UNIX" versionMin="0" section="Auditing and Monitoring:Events to be audited" integrity-level="Any" dp-level="Any" safety-level="Any">
<revhistory>
</revhistory>
<policy-statement>Events for logging to syslog should be enabled for auth, daemon and cron messages.</policy-statement>
<checklist-question>Are the following events logged to syslog - auth, daemon and cron messages?</checklist-question>
<howto>
<step>Configure auditing to log auth, daemon and cron messages to the syslog</step>
</howto>
<risks-addressed>
<risk>Unauthorised activity may go unrecorded</risk>
<risk>Business information may be accidentally or maliciously altered.</risk>
<risk>Business information may be accidentally or maliciously disclosed.</risk>
<risk>Business information and applications may be unavailable.</risk>
</risks-addressed>
</control>
<control level="baseline" techversion="Any" title="Events logged to the syslog should be wrtten to a physically secure line printer as well." environment="Any" pleading="recommended" id="GUS-AUD-05" versionMaj="1" disclosure-level="Any" availability-level="Any" versionMin="0" technology="UNIX" section="Auditing and Monitoring:Events to be audited" integrity-level="Any" dp-level="Any" safety-level="Any">
<revhistory>
</revhistory>
<policy-statement>Events logged to the syslog should be wrtten to a physically secure line printer as well.</policy-statement>
<checklist-question>Are the events logged to the syslog also wrtten to a physically secure line printer as well?</checklist-question>
<howto>
<step>Configure auditing to write the syslog events to a physically secure line printer as well.</step>
</howto>
<risks-addressed>
<risk>Unauthorised activity may go unrecorded</risk>
<risk>Business information may be accidentally or maliciously altered.</risk>
<risk>Business information may be accidentally or maliciously disclosed.</risk>
<risk>Business information and applications may be unavailable.</risk>
</risks-addressed>
</control>
<control level="baseline" techversion="Any" title="The sulog contents should be recorded in both the sulog itself and written to a physically secure line printer" environment="Any" pleading="recommended" versionMaj="1" id="GUS-EVEN-04" availability-level="Any" disclosure-level="Any" technology="UNIX" versionMin="0" section="Auditing and Monitoring:Events to be audited" integrity-level="Any" dp-level="Any" safety-level="Any">
<revhistory>
</revhistory>
<policy-statement>The sulog contents should be recorded in both the sulog itself and written to a physically secure line printer</policy-statement>
<checklist-question>Are the sulog contents recorded in both the sulog itself and written to a physically secure line printer?</checklist-question>
<howto>
<step>Configure auditing to write the sulog events to both the sulog and to a line printer</step>
</howto>
<risks-addressed>
<risk>Primary audit data is retained in a tamper proof manner allowing the identification of privileged unauthorised access</risk>
<risk>Business information may be accidentally or maliciously altered.</risk>
<risk>Business information may be disclosed.</risk>
<risk>Business information and applications may be unavailable.</risk>
</risks-addressed>
</control>
<control level="baseline" techversion="Any" title="Loginlog should be used to identify potential breakin attempts" environment="Any" pleading="recommended" versionMaj="1" id="GUS-EVEN-02" availability-level="Any" disclosure-level="Any" technology="UNIX" versionMin="0" section="Auditing and Monitoring:Events to be audited" integrity-level="Any" dp-level="Any" safety-level="Any">
<revhistory>
</revhistory>
<policy-statement>The loginlog file should be created and every entry should be considered as a potential breakin attempt and should therefore be regularly reviewed.</policy-statement>
<checklist-question>Does the loginlog file exist and are its contents regularly reviewed?</checklist-question>
<howto>
<step>Create the loginlog file</step>
<step>Review the loginlog file on a periodic basis and identify new entries</step>
<step>Each entry represents 5 login failures which should be investigated</step>
<step>Any irreconcilable entries should be treated as a breakin attempt</step>
</howto>
<risks-addressed>
<risk>Attempts to breach security can be identified and avoided</risk>
<risk>Unauthorised access may be obtained</risk>
<risk>Unauthorised access may lead to fraudulent or malicious misuse</risk>
<risk>Business information may be accidentally or maliciously altered.</risk>
<risk>Business information may be disclosed.</risk>
<risk>Business information and applications may be unavailable.</risk>
</risks-addressed>
</control>
<control level="baseline" techversion="Any" title="wtmp file should be regularly archived " environment="Any" pleading="recommended" versionMaj="1" id="GUS-EVEN-01" availability-level="Any" disclosure-level="Any" technology="UNIX" versionMin="0" section="Auditing and Monitoring:Events to be audited" integrity-level="Any" dp-level="Any" safety-level="Any">
<revhistory>
</revhistory>
<policy-statement>The wtmp should be regularly archived to protect its contents from loss</policy-statement>
<checklist-question>Is the wtmp file regularly archived?</checklist-question>
<howto>
<step>Ensure that the wtmp file is backed up at intervals which precede its erasure</step>
</howto>
<risks-addressed>
<risk>Loss of security significant event information may be lost</risk>
<risk>Loss of accountability may occur</risk>
<risk>Business information and applications may be unavailable.</risk>
</risks-addressed>
</control>
</controlsection>
</controlchapter>
<controlchapter><title>Other</title>
<control level="baseline" techversion="Any" title="The file L.cmds should be empty" environment="Any" pleading="recommended" id="GUS-NET-10" versionMaj="1" disclosure-level="Any" availability-level="Any" versionMin="0" technology="UNIX" section="Other" integrity-level="Any" dp-level="Any" safety-level="Any">
<revhistory>
</revhistory>
<policy-statement>The file L.cmds should be empty thereby making it impossible to remotely execute commands by using UUX. 
	
</policy-statement>
<checklist-question>Is the L.cmds file empty?</checklist-question>
<howto>
<step>Delete any entries from the L.cmds file</step>
</howto>
<risks-addressed>
<risk>Business information may be accidentally or maliciously altered.</risk>
<risk>Business information may be disclosed.</risk>
<risk>Business information and applications may be unavailable.</risk>
</risks-addressed>
</control>
<control level="baseline" techversion="Any" title="All UUCP accounts should be added to the /etc/ftpusers account." environment="Any" pleading="recommended" versionMaj="1" id="GUS-NET-12" availability-level="Any" disclosure-level="Any" technology="UNIX" versionMin="0" section="Other" integrity-level="Any" dp-level="Any" safety-level="Any">
<revhistory>
</revhistory>
<policy-statement>All UUCP accounts should be added to the /etc/ftpusers account.</policy-statement>
<checklist-question>Are all UUCP accounts added to the /etc/ftpusers account?</checklist-question>
<howto>
<step>Edit the /etc/ftpusers to include all UUCP accounts.</step>
</howto>
<risks-addressed>
<risk>Business information may be accidentally or maliciously altered.</risk>
<risk>Business information may be disclosed.</risk>
<risk>Business information and applications may be unavailable.</risk>
</risks-addressed>
</control>
<control level="baseline" techversion="Any" title="If NFS is used, it should be ensured that the UUCP configuration, programs and data are never exported " environment="Any" pleading="mandatory" id="GUS-NET-09" versionMaj="1" disclosure-level="Any" availability-level="Any" versionMin="0" technology="UNIX" section="Other" integrity-level="Any" dp-level="Any" safety-level="Any">
<revhistory>
</revhistory>
<policy-statement>If NFS is used, it should be ensured that the UUCP configuration, programs and data are never exported as these are owned by UUCP and not root.</policy-statement>
<checklist-question>If NFS is in use has it been ensured that the UUCP configuration, programs and data are never exported?</checklist-question>
<howto>
<step>Determine if NFS is in use.</step>
<step>Determine if UUCP is in use.</step>
<step>If both are in use check that the UUCP configuration, programs and data are not on the export volume.</step>
</howto>
<risks-addressed>
<risk>Business information may be accidentally or maliciously altered.</risk>
<risk>Business information may be disclosed.</risk>
<risk>Business information and applications may be unavailable.</risk>
</risks-addressed>
</control>
<control level="baseline" techversion="Any" title=".procmailrc and .forward should be reviewed for illicit entries" environment="Any" pleading="recommended" versionMaj="1" id="GUS-MAIL-01" availability-level="Any" disclosure-level="Any" technology="UNIX" versionMin="0" section="Other" integrity-level="Any" dp-level="Any" safety-level="Any">
<revhistory>
</revhistory>
<policy-statement>.procmailrc and .forward should be reviewed for illict entries for example, the execution of a script in the /tmp directory.	</policy-statement>
<checklist-question>Are the .procmailrc and .forward files reviewed for illicit entries?</checklist-question>
<howto>
<step>list the contents of each file</step>
<step>validate the entries in each file</step>
<step>remove any illicit entries in each file</step>
<step>investigate the source of any illicit entries</step>
</howto>
<risks-addressed>
<risk>Business information may be disclosed.</risk>
<risk>Business information and applications may be unavailable.</risk>
</risks-addressed>
</control>
<control level="baseline" techversion="Any" title="Any foreign filesystems should be mounted NOSUID" environment="Any" pleading="recommended" id="GUS-PRIV-07" versionMaj="1" disclosure-level="Any" availability-level="Any" versionMin="0" technology="UNIX" section="Other" integrity-level="Any" dp-level="Any" safety-level="Any">
<revhistory>
</revhistory>
<policy-statement>Any foreign filesystems including floppy disks should be mounted NOSUID</policy-statement>
<checklist-question>Are all foreign filesystems mounted NOSUID?</checklist-question>
<howto>
<step>When mounting a foreign filesystem ensure it is qualified with NOSUID</step>
</howto>
<risks-addressed>
<risk>Unauthorised root access may be obtained</risk>
<risk>Business information may be accidentally or maliciously altered.</risk>
<risk>Business information may be disclosed.</risk>
<risk>Business information and applications may be unavailable.</risk>
</risks-addressed>
</control>
</controlchapter>
</standard>

