acceptedSolaris 10 X86 Security Technical Implementation GuideThis Security Technical Implementation Guide (STIG) is published as a tool to improve the security of Department of Defense (DoD) information systems. Comments or proposed revisions to this document should be sent via e-mail to the following address: disa.stig_spt@mail.mil.DISASTIG.DOD.MILRelease: 2 Benchmark Date: 22 Jan 20213.2.1.416661.10.02I - Mission Critical Classified<ProfileDescription></ProfileDescription>I - Mission Critical Public<ProfileDescription></ProfileDescription>I - Mission Critical Sensitive<ProfileDescription></ProfileDescription>II - Mission Support Classified<ProfileDescription></ProfileDescription>II - Mission Support Public<ProfileDescription></ProfileDescription>II - Mission Support Sensitive<ProfileDescription></ProfileDescription>III - Administrative Classified<ProfileDescription></ProfileDescription>III - Administrative Public<ProfileDescription></ProfileDescription>III - Administrative Sensitive<ProfileDescription></ProfileDescription>SRG-OS-000016<GroupDescription></GroupDescription>GEN000000-SOL00120The ASET master files must be located in the /usr/aset/masters directory.<VulnDiscussion>If ASET is used and the master files (tune.high, tune.med, tune.low, and uid_aliases) are not located in the proper place, ASET cannot operate correctly and valuable security findings could be lost. </VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-4313SV-36751CCI-000032CCI-000225Install the default ASET configuration files.Verify ASET is being used.
# crontab -l |grep aset
If there is an output, then check to make sure the files in question are in the /usr/aset/masters directory.
# ls -l /usr/aset/masters
The following files should be in the listing: tune.high, tune.low, tune.med, and uid_aliases. If any of the files are not in the directory listing, this is a finding.SRG-OS-000016<GroupDescription></GroupDescription>GEN000000-SOL00200The asetenv file YPCHECK variable must be set to true when NIS+ is configured.<VulnDiscussion>If YPCHECK is not set to true in asetenv, then ypfiles may not be checked.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061SV-36750V-954CCI-000366CCI-000032Edit the ASET configuration and set YPCHECK to true on systems running NIS. (If NIS+ is configured, YPCHECK must only be set to false to avoid going into NIS compatibility mode.) Configure NIS to use YPCHECK.Perform the following to determine if ASET is configured to check NIS+.
# grep YPCHECK /usr/aset/asetenv
If NIS+ is running and the YPCHECK variable is set to false, then this is a finding.
SRG-OS-000080<GroupDescription></GroupDescription>GEN000020The system must require authentication upon booting into single-user and maintenance modes.<VulnDiscussion>If the system does not require valid root authentication before it boots into single-user or maintenance mode, anyone who invokes single-user or maintenance mode is granted privileged access to all files on the system.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-756SV-36752CCI-000213Edit /etc/default/sulogin and set PASSREQ=YES or remove /etc/default/sulogin entirely.
NOTE: This is a default on Solaris 5.5.1 and later. This can be checked in the /etc/default/sulogin file (on Solaris 5.X systems) to check if the system runs sulogin, or an equivalent, when booting into single-user mode.SRG-OS-000109<GroupDescription></GroupDescription>GEN000280Direct logins must not be permitted to shared, default, application, or utility accounts.<VulnDiscussion>Shared accounts (accounts where two or more people log in with the same user identification) do not provide identification and authentication. There is no way to provide for non-repudiation or individual accountability.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-760SV-41504CCI-000770Use the switch user (su) command from a named account login to access shared accounts. Maintain audit trails that identify the actual user of the account name. Document requirements and procedures for users/administrators to log into their own accounts first and then switch user (su) to the shared account.Use the last command to check for multiple accesses to an account from different workstations/IP addresses. If users log directly onto accounts, rather than using the su command from their own named account to access them, this is a finding (such as logging directly on to Oracle). Also, ask the SA or the IAO if shared accounts are logged into directly or if users log on to an individual account and switch user to the shared account.
SRG-OS-000021<GroupDescription></GroupDescription>GEN000460The system must disable accounts after three consecutive unsuccessful login attempts.<VulnDiscussion>Disabling accounts after a limited number of unsuccessful login attempts improves protection against password guessing attacks.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-766SV-39815CCI-000044Set RETRIES to 3 in the /etc/default/login file.
#vi /etc/default/login
Set LOCK_AFTER_RETRIES to YES in the /etc/security/policy.conf file.
#vi /etc/security/policy.confVerify RETRIES is set in the login file.
# grep RETRIES /etc/default/login
If RETRIES is not set or is more than 3, this is a finding.
Verify the account locks after invalid login attempts.
# grep LOCK_AFTER_RETRIES /etc/security/policy.conf
If LOCK_AFTER_RETRIES is not set to YES, this is a finding.SRG-OS-000329<GroupDescription></GroupDescription>GEN000480The delay between login prompts following a failed login attempt must be at least 4 seconds.<VulnDiscussion>Enforcing a delay between successive failed login attempts increases protection against automated password guessing attacks.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-768SV-27094CCI-002238Edit the /etc/default/login file and set SLEEPTIME to 4. Check the SLEEPTIME parameter in the /etc/default/login file.
# grep SLEEPTIME /etc/default/login
If SLEEPTIME is not listed, commented out, or less than 4, this is a finding.SRG-OS-000029<GroupDescription></GroupDescription>GEN000500Graphical desktop environments provided by the system must automatically lock after 15 minutes of inactivity and the system must require users to re-authenticate to unlock the environment.<VulnDiscussion>If graphical desktop sessions do not lock the session after 15 minutes of inactivity, requiring re-authentication to resume operations, the system or individual data could be compromised by an alert intruder who could exploit the oversight. This requirement applies to graphical desktop environments provided by the system to locally attached displays and input devices as well as to graphical desktop environments provided to remote systems, including thin clients.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-4083SV-39814CCI-000057Configure the CDE lock manager to lock your screen after a certain amount of inactive time. To configure the CDE lock manager to lock the screen after 15 minutes of inactive time, enter the following commands (be sure NOT to overwrite an existing file).
#
cp /usr/dt/config/C/sys.resources /etc/dt/config/C/sys.resources
# vi /etc/dt/config/C/sys.resources
Locate and add/uncomment/change the line to N=15.
dtsession*lockTimeout: <N>
dtsession*lockTimeout: 15
Log out of CDE and log back in to verify that the timeout is in effect.
The timeout parameter in /usr/openwin/lib/app-defaults/XScreenSaver and all users' .xscreensaver files should also be confirmed to be uncommented and set to 0:15:00.Examine the dtsession timeout variable setting:
# cat /etc/dt/config/C/sys.resources | grep -i dtsession | grep -i lockTimeout
If the dtsession timeout is greater than 15, commented or does not exist, this is a finding.
Examine the Open Windows timeout settings, both global and for every user.
# cat /usr/openwin/lib/app-defaults/XScreenSaver | egrep -i '\*(lock|timeout):'
If the global Open Windows timeout is greater than 15 minutes, commented or does not exist, this is a finding. If the global lock setting is not true, this is a finding.
# cut -d: -f6 /etc/passwd | xargs -iX egrep -i '^(lock|timeout):' X/.xscreensaver
If the Open Windows timeout is greater than 15 minutes for any user, this is a finding. If the lock setting is not true for any user, this is a finding.SRG-OS-000003<GroupDescription></GroupDescription>GEN000760Accounts must be locked upon 35 days of inactivity.<VulnDiscussion>On some systems, accounts with disabled passwords still allow access using rcp, remsh, or rlogin through equivalent remote hosts. All that is required is the remote host name and the user name match an entry in a hosts.equiv file and have a .rhosts file in the user directory. Using a shell called /bin/false or /dev/null (or an equivalent) will add a layered defense.
Non-interactive accounts on the system, such as application accounts, may be documented exceptions.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-918SV-39824CCI-000017All inactive accounts will have /bin/false, /usr/bin/false, or /dev/null as the default shell in the /etc/passwd file and have the password disabled. Disable the inactive accounts. Examine the inactive accounts using the last command. Note the date of last login for each account. If any (other than system and application accounts) exceed 35 days, then disable them by placing a shell of /bin/false or /dev/null in the shell field of the passwd file entry for that account. An alternative, and preferable method, is to disable the account using smc or the passwd command.
# passwd -l < account to lock >Indications of inactive accounts are those without entries in the last log. Check the date in the last log to verify it is within the last 35 days.
Obtain a listing of user accounts.
#cat /etc/passwd | cut -f1 -d ":"
Run the last command for each user account.
# last < user account >
If any user's account has not been accessed in the last 35 days and the account is not disabled via an entry in the password field in the /etc/passwd or /etc/shadow (or equivalent), check the /etc/passwd file to check if the account has a valid shell. If an inactive account is found that is not disabled, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN000880The root account must be the only account having an UID of 0.<VulnDiscussion>If an account has an UID of 0, it has root authority. Multiple accounts with an UID of 0 afford more opportunity for potential intruders to guess a password for a privileged account.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-773SV-39820CCI-000366Remove or change the UID of accounts other than root that have UID 0. Check the system for duplicate UID 0 assignments by listing all accounts assigned UID 0.
Procedure:
# awk -F: '$3 == 0' /etc/passwd
If any accounts other than root are assigned UID 0, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN000960The root account must not have world-writable directories in its executable search path.<VulnDiscussion>If the root search path contains a world-writable directory, malicious software could be placed in the path by intruders and/or malicious users and inadvertently run by root with all of root's privileges.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-777SV-37075CCI-000366For each world-writable path in root's executable search path, perform one of the following.
1. Remove the world-writable permission on the directory.
Procedure:
# chmod o-w <path>
2. Remove the world-writable directory from the executable search path.
Procedure:
Identify and edit the initialization file referencing the world-writable directory and remove it from the PATH variable.Check for world-writable permissions on all directories in the root user's executable search path. Procedure (on multiple lines):
# echo $PATH | sed 's/ /\\ /g; s/:/
/g' | xargs ls -ld
If any of the directories in the PATH variable are world-writable, this is a finding.SRG-OS-000259<GroupDescription></GroupDescription>GEN001300Library files must have mode 0755 or less permissive.<VulnDiscussion>Unauthorized access could destroy the integrity of the library files.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-793SV-39821CCI-001499Change the mode of library files to 0755 or less permissive.
Procedure (example):
# chmod 0755 /path/to/library-file
NOTE: Library files should have an extension of .a or .so, possibly followed by a version number. Check the mode of library files.
Procedure:
# ls -lLR /usr/lib /lib /usr/sfw/lib
If any of the library files have a mode more permissive than 0755, this is a finding.
SRG-OS-000480<GroupDescription></GroupDescription>GEN001500All interactive user's home directories must be owned by their respective users.<VulnDiscussion>If users do not own their home directories, unauthorized users could access user files.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-902SV-39822CCI-000366Change the owner of a user's home directory to its assigned user.
Procedure:
# chown <user> <home directory> Check the ownership of each user's home directory listed in the /etc/passwd file.
Procedure:
# cut -d : -f 6 /etc/passwd | xargs -n1 ls -ld | more
If any user's home directory is not owned by the assigned user, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN001520All interactive user's home directories must be group-owned by the home directory owner's primary group.<VulnDiscussion>If the GID of the home directory is not the same as the GID of the user, this would allow unauthorized access to files.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-903SV-39823CCI-000366Change the group owner for user's home directories to the primary group of the assigned user.
Procedure:
# chgrp groupname directoryname
(Replace examples with appropriate group and home directory.)
Document all changes.Check the group ownership for each user in the /etc/passwd file.
Procedure:
# cut -d : -f 6 /etc/passwd | xargs -n1 ls -ld | more
If any user's home directory is not group-owned by the assigned user's primary group, this is a finding. Home directories for application accounts requiring different group ownership must be documented using site-defined procedures.SRG-OS-000480<GroupDescription></GroupDescription>GEN001720All global initialization files must have mode 0644 or less permissive.<VulnDiscussion>Global initialization files are used to configure the user's shell environment upon login. Malicious modification of these files could compromise accounts upon logon.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-11981SV-39829CCI-000366Change the mode of the global initialization file(s) to 0644.
# chmod 0644 <global initialization file>Check global initialization files permissions.
# ls -l /etc/.login
# ls -l /etc/profile
# ls -l /etc/bashrc
# ls -l /etc/environment
# ls -l /etc/security/environ
# ls -l /etc/csh.login
# ls -l /etc/csh.cshrc
If global initialization files exist and are more permissive than 0644, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN001740All global initialization files must be owned by root.<VulnDiscussion>Global initialization files are used to configure the user's shell environment upon login. Malicious modification of these files could compromise accounts upon logon. Failure to give ownership of sensitive files or utilities to root or bin provides the designated owner and unauthorized users with the potential to access sensitive information or change the system configuration which could weaken the system's security posture.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-11982SV-39830CCI-000366Change the ownership of global initialization files with incorrect ownership.
Procedure:
# chown bin <global initialization files>Check the ownership of global initialization files.
Procedure:
# ls -lL /etc/.login /etc/profile /etc/bashrc /etc/environment /etc/security/environ /etc/csh.login /etc/csh.cshrc
If any global initialization file exists and is not owned by root, this is a finding. SRG-OS-000480<GroupDescription></GroupDescription>GEN001760All global initialization files must be group-owned by root, sys, or bin.<VulnDiscussion>Global initialization files are used to configure the user's shell environment upon login. Malicious modification of these files could compromise accounts upon logon. Failure to give ownership of sensitive files or utilities to root or bin provides the designated owner and unauthorized users with the potential to access sensitive information or change the system configuration which could weaken the system's security posture.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-11983SV-39831CCI-000366Change the group ownership of the global initialization file(s) with incorrect group ownership.
Procedure:
# chgrp root <global initialization file>Check the group ownership of global initialization files.
Procedure:
# ls -lL /etc/.login /etc/profile /etc/bashrc /etc/environment /etc/security/environ /etc/csh.login /etc/csh.cshrc
If any global initialization file exists and is not group-owned by root, sys, or bin, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN001780Global initialization files must contain the mesg -n or mesg n commands.<VulnDiscussion>If the mesg -n or mesg n command is not placed into the system profile, messaging can be used to cause a Denial of Service attack.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-825SV-39828CCI-000366Edit /etc/profile or another global initialization script and add the mesg -n command.Check global initialization files for the presence of "mesg -n" or "mesg n".
Procedure:
# grep mesg /etc/.login /etc/profile /etc/bashrc /etc/environment /etc/security/environ /etc/csh.login /etc/csh.cshrc
If no existing global initialization files contain "mesg -n" or "mesg n", this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN001870Local initialization files must be group-owned by the user's primary group or root.<VulnDiscussion>Local initialization files are used to configure the user's shell environment upon login. Malicious modification of these files could compromise accounts upon logon.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22361SV-37101CCI-000366Change the group-owner of the local initialization file to the user's primary group, or root.
# chgrp [USER's primary GID] ~USER/[local initialization file] Check user home directories for local initialization files group-owned by a group other than the user's primary group or root.
1. List user accounts and their primary GID.
# cut -d : -f 1,4 /etc/passwd
2. Check local initialization files for each user.
# ls -al /<usershomedirectory>/.login
# ls -al /<usershomedirectory>/.cshrc
# ls -al /<usershomedirectory>/.logout
# ls -al /<usershomedirectory>/.profile
# ls -al /<usershomedirectory>/.bash_profile
# ls -al /<usershomedirectory>/.bashrc
# ls -al /<usershomedirectory>/.bash_logout
# ls -al /<usershomedirectory>/.env
# ls -al /<usershomedirectory>/.dtprofile
# ls -al /<usershomedirectory>/.dispatch
# ls -al /<usershomedirectory>/.emacs
# ls -al /<usershomedirectory>/.exrc
# find /<usershomedirectory>/.dt ! -fstype nfs ! -group <primary_group> -exec ls -ld {} \;
3. If any file is not group-owned by root or the user's primary GID, this is a finding.
SRG-OS-000368<GroupDescription></GroupDescription>GEN002420Removable media, remote file systems, and any file system that does not contain approved setuid files must be mounted with the "nosuid" option.<VulnDiscussion>The "nosuid" mount option causes the system to not execute setuid files with owner privileges. This option must be used for mounting any file system that does not contain approved setuid files. Executing setuid files from untrusted file systems, or file systems that do not contain approved setuid files, increases the opportunity for unprivileged users to attain unauthorized administrative access.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-805SV-39813CCI-001764Use the following procedure for UFS filesystems.
Edit /etc/vfstab and add the "nosuid" mount option to any user filesystem (such as /export/home) or filesystems mounted from removable media or network shares.
Use the following procedure for ZFS filesystems.
# zfs setuid = off < file system >Check /etc/vfstab and verify the "nosuid" mount option is used on any user filesystem (such as /export/home) or filesystems mounted from removable media or network shares.
# cat /etc/vfstab
Check zfs filesystems for setuid mounts.
#zfs get setuidSRG-OS-000095<GroupDescription></GroupDescription>GEN003619The system must not be configured for network bridging.<VulnDiscussion>Some systems have the ability to bridge or switch frames (link-layer forwarding) between multiple interfaces. This can be useful in a variety of situations but, if enabled when not needed, has the potential to bypass network partitioning and security.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22421SV-42308CCI-000381Remove the network bridging software and configuration from the system.Ask the system administrator if network bridging software is installed on the system or the system is configured for network bridging. If network bridging software is installed or the system is configured for network bridging, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN003810The portmap or rpcbind service must not be running unless needed.<VulnDiscussion>The portmap and rpcbind services increase the attack surface of the system and should only be used when needed. The portmap or rpcbind services are used by a variety of services using remote procedure calls (RPCs).</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22429SV-26664CCI-000366Disable the portmap service.
# svcadm disable network/rpc/bindCheck the status of the rpcbind service.
# svcs network/rpc/bind
If the service is online and is not documented as required, this is a finding.SRG-OS-000505<GroupDescription></GroupDescription>GEN003820The rsh daemon must not be running.<VulnDiscussion>The rshd process provides a typically unencrypted, host-authenticated remote access service. SSH should be used in place of this service.
Satisfies: SRG-OS-000505, SRG-OS-000555, SRG-OS-000033</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-4687SV-27435CCI-000068Disable the remote shell service and restart inetd.
Procedure:
# svcadm disable network/shell
# svcadm refresh inetd# svcs network/shell
If the service is enabled, this is a finding.
SRG-OS-000505<GroupDescription></GroupDescription>GEN003830The rlogind service must not be running.<VulnDiscussion>The rlogind process provides a typically unencrypted, host-authenticated remote access service. SSH should be used in place of this service.
Satisfies: SRG-OS-000505, SRG-OS-000555, SRG-OS-000033</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22432SV-39863CCI-000068Disable the rlogind service.
# svcadm disable rlogin
# svcadm refresh inetd
Determine if the rlogind service is running.
# svcs rlogin
If the rlogin service is enabled, this is a finding.SRG-OS-000095<GroupDescription></GroupDescription>GEN003865Network analysis tools must not be installed.<VulnDiscussion>Network analysis tools allow for the capture of network traffic visible to the system.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-12049SV-40811CCI-000381Remove the network analysis tool binary from the system. The snoop binary is part of the SUNWrcmdc package, which may also be removed if none of its components are required.
Procedure:
# rm <binary>
# pkgrm SUNWrcmdcDetermine if any network analysis tools are installed.
Procedure:
# find / -name ethereal
# find / -name wireshark
# find / -name tshark
# find / -name netcat
# find / -name tcpdump
# find / -name snoop
If any network analysis tools are found, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN003930The hosts.lpd (or equivalent) file must be group-owned by root, bin, or sys.<VulnDiscussion>Failure to give group ownership of the hosts.lpd (or equivalent) file to root, bin, sys, or system provides the members of the owning group and possible unauthorized users, with the potential to modify it. Unauthorized modifications could disrupt access to local printers from authorized remote hosts or permit unauthorized remote access to local printers.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22435SV-37456CCI-000366Change the group owner of the print service configuration files.
Procedure:
# chgrp bin /etc/apache/httpd-standalone-ipp.conf
# chgrp root /etc/printers.conf /etc/smb.conf /etc/sfw/smb.conf /etc/samba/smb.conf /etc/sfw/samba/smb.confCheck the group ownership of the print service configuration files.
Procedure:
# ls -lL /etc/printers.conf /etc/apache/httpd-standalone-ipp.conf /etc/smb.conf /etc/sfw/smb.conf /etc/samba/smb.conf /etc/sfw/samba/smb.conf
If the files are not group-owned by root, bin, or sys, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN004370The aliases file must be group-owned by root, sys, smmsp, or bin.<VulnDiscussion>If the alias file is not group-owned by root or a system group, an unauthorized user may modify the file to add aliases to run malicious code or redirect email.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22438SV-37458CCI-000366Change the group owner of the /etc/mail/aliases files.
Procedure:
# chgrp bin /etc/mail/aliases
# chgrp smmsp /etc/mail/aliases.dbFind the alias files on the system.
Procedure:
# egrep '^O(A| AliasFile)' /etc/mail/sendmail.cf
If the "alias file" is an NIS or LDAP map, this check is not applicable. The default location is /etc/mail/aliases.
Check the group ownership of the alias file and the hashed version of it used by sendmail.
Procedure:
# ls -lL /etc/mail/aliases /etc/mail/aliases.db
If the file is not group-owned by root, sys, smmsp, or bin, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN004540The SMTP service HELP command must not be enabled.<VulnDiscussion>The HELP command should be disabled to mask version information. The version of the SMTP service software could be used by attackers to target vulnerabilities present in specific software versions.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-12006SV-42309CCI-000366To disable the SMTP HELP command, clear the Sendmail help file.
# echo > /etc/mail/helpfileCheck if Help is disabled in Sendmail.
Procedure:
# telnet <host> 25
> help
If the help command returns any Sendmail version information, this is a finding.
If telnet is unavailable for testing, check the value of the HelpFile parameter in the sendmail.cf file.
# grep HelpFile /etc/mail/sendmail.cf
If the contents of the file indicated by the HelpFile parameter contains any Sendmail version information, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN004560The SMTP services SMTP greeting must not provide version information.<VulnDiscussion>The version of the SMTP service can be used by attackers to plan an attack based on vulnerabilities present in the specific version.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-4384SV-42310CCI-000366Ensure Sendmail or its equivalent has been configured to mask the version information. If necessary, change the O SmtpGreetingMessage line in the /etc/mail/sendmail.cf file as noted below.
O SmtpGreetingMessage=$j Sendmail $v/$Z; $b
Change it to:
O SmtpGreetingMessage= Mail Server Ready ; $bCheck for the Sendmail version being displayed in the greeting.
# telnet localhost 25
If a version number is displayed, this is a finding.
If telnet is unavailable for testing, check the value of the SmtpGreetingMessage parameter in the sendmail.cf file.
# grep SmtpGreetingMessage /etc/mail/sendmail.cf
If the value of the SmtpGreetingMessage parameter contains the $v or $Z macros, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN004580The system must not use .forward files.<VulnDiscussion>The .forward file allows users to automatically forward mail to another system. Use of .forward files could allow the unauthorized forwarding of mail and could potentially create mail loops which could degrade system performance.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-4385SV-39827CCI-000366Remove .forward files from the system.
# rm .forward
Update the sendmail.cf file to ignore .forward files by adding
ForwardPath="".
Search for any .forward files on the system.
# find / -name .forward -print
This is considered a finding if any .forward files are found on the system.SRG-OS-000480<GroupDescription></GroupDescription>GEN004600The SMTP service must be an up-to-date version.<VulnDiscussion>The SMTP service version on the system must be current to avoid exposing vulnerabilities present in unpatched versions.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-4689SV-39819CCI-000366Obtain and install the latest version of Sendmail from Oracle through normal software update processes, as implemented locally.Determine the version of the SMTP service software, using a non-privileged account.
$ /usr/lib/sendmail -d0 -bt < /dev/null
(Note: While this command will report the sendmail version almost immediately, it will take several moments to return to the shell prompt. Press ctrl-C to terminate the sendmail process.)
Version 8.14.4 is the latest required version.
Version 8.14.4+Sun is available from Oracle for Solaris.
If the sendmail version is not at least 8.14.4 or Oracle's latest version, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN004620The Sendmail server must have the debug feature disabled.<VulnDiscussion>Debug mode is a feature present in older versions of Sendmail which, if not disabled, may allow an attacker to gain access to a system through the Sendmail service.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-4690SV-42311CCI-000366Obtain and install a more recent version of Sendmail, which does not implement the DEBUG feature.Check for an enabled debug command provided by the SMTP service.
Procedure:
# telnet localhost 25
debug
If the command does not return a 500 error code of command unrecognized, this is a finding.
If telnet is unavailable for testing, check the version of sendmail. Run the following as a non-privileged user.
$ echo \$Z | /usr/sbin/sendmail -bt -d0
If the version reported is less than 8.6, this is a finding.SRG-OS-000095<GroupDescription></GroupDescription>GEN004640The SMTP service must not have a uudecode alias active.<VulnDiscussion>A common configuration for older Mail Transfer Agents (MTAs) includes an alias for the decode user. All mail sent to this user is sent to the uudecode program, which automatically converts and stores files. By sending mail to decode or uudecode aliases present on some systems, a remote attacker may be able to create or overwrite files on the remote host. This could possibly be used to gain remote access.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-4691SV-42312CCI-000381Comment out active decode and uudecode aliases in the aliases file.
# vi /usr/mail/aliases
Activate updated aliases file.
# newaliasesCheck the SMTP service for an active decode command.
Procedure:
# telnet localhost 25
decode
If the command does not return a 500 error code of command unrecognized, this is a finding.
If telnet is unavailable for testing, check for the existence of the decode and uudecode aliases in the sendmail aliases file.
Find the active sendmail aliases file.
# grep AliasFile /etc/mail/sendmail.cf
(The aliases file is usually at /etc/mail/aliases)
Look for decode aliases in the aliases file.
# grep decode /etc/mail/aliases
If there is an uncommented decode or uudecode alias in the aliases file, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN005120The TFTP daemon must be configured to vendor specifications, including a dedicated TFTP user account, a non-login shell, such as /bin/false, and a home directory owned by the TFTP user.<VulnDiscussion>If TFTP has a valid shell, it increases the likelihood of someone logging to the TFTP account and compromising the system.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-849SV-39825CCI-000366Create a TFTP user account if none exists.
Assign a non-login shell to the TFTP user account, such as /bin/false.
Assign a home directory to the TFTP user account. Verify the tftp service is enabled.
# svcs tftp
If the tftp service is not installed or enabled, this check is not applicable.
Check the /etc/passwd file to determine if TFTP is configured properly.
Procedure:
# grep tftp /etc/passwd
If a "tftp" user account does not exist and TFTP is active, this is a finding.
Check the user shell for the "tftp" user. If it is not /bin/false or equivalent, this is a finding.
Check the home directory assigned to the "tftp" user. If no home directory is set, or the directory specified is not dedicated to the use of the TFTP service, this is a finding.
SRG-OS-000480<GroupDescription></GroupDescription>GEN005440The system must not be used as a syslog server (log host) for systems external to the enclave.<VulnDiscussion>Syslog messages are typically unencrypted and may contain sensitive information and are, therefore, restricted to the enclave.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-12020SV-41515CCI-000366Configure the hosts outside of the local enclave to not log to this system.Ask the SA if the log host server is collecting data for hosts outside the local enclave. If it is, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN005480The syslog daemon must not accept remote messages unless it is a syslog server documented using site-defined procedures.<VulnDiscussion>Unintentionally running a syslog server accepting remote messages puts the system at increased risk. Malicious syslog messages sent to the server could exploit vulnerabilities in the server software itself, could introduce misleading information in to the system's logs, or could fill the system's storage leading to a Denial of Service.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-12021SV-28431CCI-000366# svccfg -s system-log setprop config/log_from_remote=false
# svcadm refresh system-log# svcprop system-log | grep log_from_remote
If the config/log_from_remote value is not false, this is a finding.
SRG-OS-000112<GroupDescription></GroupDescription>GEN005500The SSH daemon must be configured to only use the SSHv2 protocol.<VulnDiscussion>SSHv1 is not a DoD-approved protocol and has many well-known vulnerability exploits. Exploits of the SSH daemon could provide immediate root access to the system.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-4295SV-39817CCI-001941Edit the configuration file and modify the Protocol line to look like:
Protocol 2
Reload sshd:
kill -HUP <PID of sshd>Check the SSH daemon configuration for allowed protocol versions.
# grep -i protocol /etc/ssh/sshd_config | grep -v '^#'
If the variables Protocol 2,1 or Protocol 1 are defined on a line without a leading comment, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN005600IP forwarding for IPv4 must not be enabled, unless the system is a router.<VulnDiscussion>If the system is configured for IP forwarding and is not a designated router, it could be used to bypass network security by providing a path for communication not filtered by network devices.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-12023SV-28581CCI-000366Disable IPv4 forwarding on the system.
# svcadm disable svc:/network/ipv4-forwarding
Determine if the system is configured for IPv4 forwarding.
# svcs | grep svc:/network/ipv4-forwarding
If the service is enabled, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN005610The system must not have IP forwarding for IPv6 enabled, unless the system is an IPv6 router.<VulnDiscussion>If the system is configured for IP forwarding and is not a designated router, it could be used to bypass network security by providing a path for communication not filtered by network devices.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22491SV-26810CCI-000366Disable IPv6 forwarding.
# ndd -set /dev/ip6 ip6_forwarding 0
Edit startup scripts as necessary; add this command or remove commands setting the value to 1.Check if the system is configured for IPv6 forwarding.
# ndd /dev/ip6 ip6_forwarding
If the value is not 0, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN005840The NFS server must be configured to restrict file system access to local hosts.<VulnDiscussion>The NFS access option limits user access to the specified level. This assists in protecting exported file systems. If access is not restricted, unauthorized hosts may be able to access the system's NFS exports.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-933SV-40305CCI-000366Edit /etc/dfs/dfstab and add ro and/or rw options (as appropriate) specifying a list of hosts or networks which are permitted access. Re-export the file systems.Check the permissions on exported NFS file systems.
Procedure:
# exportfs -v
OR
# more /etc/dfs/sharetab
If the exported file systems do not contain the rw or ro options specifying a list of hosts or networks, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN006000The system must not have a public Instant Messaging (IM) client installed.<VulnDiscussion>Public Instant Messaging (IM) systems are not approved for use and may result in the unauthorized distribution of information. IM clients provide a way for a user to send a message to one or more other users in real time. Additional capabilities may include file transfer and support for distributed game playing. Communication between clients and associated directory services are managed through messaging servers. Commercial IM clients include AOL Instant Messenger (AIM), MSN Messenger, and Yahoo! Messenger.
IM clients present a security issue when the clients route messages through public servers. The obvious implication is potentially sensitive information could be intercepted or altered in the course of transmission. This same issue is associated with the use of public email servers. In order to reduce the potential for disclosure of sensitive Government information and to ensure the validity of official government information, IM clients connecting to public IM services will not be installed. Clients used to access internal or DoD-controlled IM services are permitted.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-12024SV-41525CCI-000366Uninstall the IM client from the system, or configure the client to only connect to DoD-approved IM services.
If an IM client is installed, ask the SA if it has access to any public domain IM servers. If it does have access to public servers, this is a finding.
SRG-OS-000095<GroupDescription></GroupDescription>GEN006080The Samba Web Administration Tool (SWAT) must be restricted to the local host or require SSL.<VulnDiscussion>SWAT is a tool used to configure Samba. As it modifies Samba configuration, which can impact system security, it must be protected from unauthorized access. SWAT authentication may involve the root password, which must be protected by encryption when traversing the network.
Restricting access to the local host allows for the use of SSH TCP forwarding, if configured, or administration by a web browser on the local system.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-1026SV-42313CCI-000381Enable tcp_wrappers for the SWAT daemon.
# inetadm -m swat tcp_wrappers=true
OR
# inetadm -M tcp_wrappers=true
Relfresh the inetd daemon.
# svcadm refresh inetd
Configure the hosts.allow and hosts.deny files to limit access to SWAT to localhost.
Example:
# echo ALL: ALL >> /etc/hosts.deny
# echo swat: localhost >> /etc/hosts.allowVerify the SWAT daemon is running under inetd.
# svcs swat
If SWAT is disabled or not installed, this is not applicable.
Verify that TCP_wrappers is enabled for the SWAT daemon.
# inetadm -l swat | grep tcp_wrappers
If the tcp_wrappers value is unset or is set to FALSE, this is a finding.
Verify access to the SWAT daemon is limited to localhost through the use of TCP_Wrappers.
# more /etc/hosts.allow
# more /etc/hosts.deny
If the hosts.allow and hosts.deny access control files are configured such that remote access to SWAT is enabled, this is a finding.
Ask the SA if SSH port forwarding is used to enable remote access to SWAT. If it is, this is not a finding. If all access to SWAT is via localhost using a local web browser, this is not a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN006560The system vulnerability assessment tool, host-based intrusion detection tool, and file integrity tool must notify the SA and the IAO of a security breach or a suspected security breach.<VulnDiscussion>Timely notifications of potential security compromises minimize the potential damage.
Minimally, the system must log these events and the SA and the IAO will receive the notifications during the daily system log review. If feasible, active alerting (such as email or paging) should be employed consistent with the site's established operations management systems and procedures.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-12028SV-41530CCI-001266CCI-000366Configure the security tools on the system to notify the IAO and SA when any security issues are detected.For each security tool on the system, determine if the tool is configured to notify the IAO and SA of any detected security problem. If such notifications are not configured, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN006565The system package management tool must be used to verify system software periodically.<VulnDiscussion>Verification using the system package management tool can be used to determine that system software has not been tampered with.
This requirement is not applicable to systems not using package management tools.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22506SV-26857CCI-000698CCI-000366Add a cron job to run a package verification command, such as, pkgchk -n.Check the root crontab (crontab -l) for the presence of a package check command, such as, pkgchk -n.
If no such cron job is found, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN006580The system must use an access control program.<VulnDiscussion>Access control programs (such as TCP_WRAPPERS) provide the ability to enhance system security posture.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-940SV-28459CCI-000366Enable tcp_wrappers.
# svccfg -s svc:/network/inetd setprop defaults/tcp_wrappers=true
# svcadm refresh inetd# svcprop -p defaults svc:/network/inetd | grep tcp_wrappers
This should return a line with the following:
defaults/tcp_wrappers boolean true
If the above line contains the word false, this is a finding.
SRG-OS-000480<GroupDescription></GroupDescription>GEN006620The system's access control program must be configured to grant or deny system access to specific hosts.<VulnDiscussion>If the system's access control program is not configured with appropriate rules for allowing and denying access to system network resources, services may be accessible to unauthorized hosts.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-12030SV-41532CCI-000366Edit the /etc/hosts.allow and /etc/hosts.deny files to configure access restrictions.
Check for the existence of the /etc/hosts.allow and /etc/hosts.deny files.
Procedure:
# ls -la /etc/hosts.allow
# ls -la /etc/hosts.deny
If either file does not exist, this is a finding.
Check for the presence of a default deny entry.
Procedure:
# grep "ALL: ALL" /etc/hosts.deny
If the "ALL: ALL" entry is not present in the /etc/hosts.deny file, any TCP service from a host or network not matching other rules will be allowed access. If the entry is not in /etc/hosts.deny, this is a finding.SRG-OS-000300<GroupDescription></GroupDescription>GEN007841Wireless network adapters must be disabled.<VulnDiscussion>The use of wireless networking can introduce many different attack vectors into the organization's network. Common attack vectors such as malicious association and ad hoc networks will allow an attacker to spoof a wireless access point (AP), allowing validated systems to connect to the malicious AP and enabling the attacker to monitor and record network traffic. These malicious APs can also serve to create a man-in-the-middle attack or be used to create a denial of service to valid network resources.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061SV-87413V-72771CCI-001443CCI-001444CCI-002418Configure the system to disable all wireless network interfaces.This is N/A for systems that do not have wireless network adapters.
Verify that there are no wireless interfaces configured on the system:
# ifconfig -a
eth0 Link encap:Ethernet HWaddr b8:ac:6f:65:31:e5
inet addr:192.168.2.100 Bcast:192.168.2.255 Mask:255.255.255.0
inet6 addr: fe80::baac:6fff:fe65:31e5/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:2697529 errors:0 dropped:0 overruns:0 frame:0
TX packets:2630541 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:2159382827 (2.0 GiB) TX bytes:1389552776 (1.2 GiB)
Interrupt:17
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:2849 errors:0 dropped:0 overruns:0 frame:0
TX packets:2849 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:2778290 (2.6 MiB) TX bytes:2778290 (2.6 MiB)
If a wireless interface is configured, it must be documented and approved by the local Authorizing Official.
If a wireless interface is configured and has not been documented and approved, this is a finding.
SRG-OS-000480<GroupDescription></GroupDescription>GEN008200If the system is using LDAP for authentication or account information, the LDAP TLS certificate authority file and/or directory (as appropriate) must not have an extended ACL.<VulnDiscussion>LDAP can be used to provide user authentication and account information, which are vital to system security. The LDAP client configuration must be protected from unauthorized modification.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22566SV-37427CCI-000366Remove the extended ACL from the certificate database files.
# chmod A- /var/ldap/cert8.db /var/ldap/key3.db /var/ldap/secmod.dbCheck if the system is using NSS LDAP.
# grep -v '^#' /etc/nsswitch.conf | grep ldap
If no lines are returned, this vulnerability is not applicable.
Verify the permissions of the certificate database files.
# ls -lL /var/ldap/cert8.db /var/ldap/key3.db /var/ldap/secmod.db
If the permissions of any of the files contain a "+", and extended ACL is present, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN008640The system must not use removable media as the boot loader.<VulnDiscussion>Malicious users with removable boot media can gain access to a system configured to use removable media as the boot loader.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-4247SV-41534CCI-000366Configure the system to use a bootloader installed on fixed media.Ask the SA if the system uses removable media for the boot loader. If it does, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN008660For systems capable of using GRUB, the system must be configured with GRUB as the default boot loader unless another boot loader has been authorized, justified, and documented using site-defined procedures.<VulnDiscussion>GRUB is a versatile boot loader used by several platforms providing authentication for access to the system or boot loader.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-4248SV-4248CCI-000366Configure the system to use the GRUB bootloader.This check applies to the global zone only. Determine the type of zone that you are currently securing.
# zonename
If the command output is "global", this check applies.
On systems that have a ZFS root, the active menu.lst file is typically located at /pool-name/boot/grub/menu.lst where "pool-name" is the mount point for the top-level dataset.
On systems that have a UFS root, the active menu.lst file is typically located at /boot/grub/menu.lst. To locate the active GRUB menu, use the bootadm command with the list-menu option:
# bootadm list-menu
Determine if the system uses the GRUB boot loader.
Procedure:
# more /pool-name/boot/grub/menu.lst
or
# more /boot/grub/menu.lst
If menu.lst does not exist, this is a finding.SRG-OS-000080<GroupDescription></GroupDescription>GEN008700The system boot loader must require authentication.<VulnDiscussion>If the system's boot loader does not require authentication, users with console access to the system may be able to alter the system boot configuration or boot the system into single user or maintenance mode, which could result in Denial-of-Service or unauthorized privileged access to the system.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-4249SV-4249CCI-000213The GRUB console boot loader can be configured to use an MD5 encrypted password by adding password --md5 password-hash to the /pool-name/boot/grub/menu.lst or /boot/grub/menu.lst file. Use grub-md5-crypt to generate MD5 passwords from the command line.This check applies to the global zone only. Determine the type of zone that you are currently securing.
# zonename
If the command output is "global", this check applies.
On systems that have a ZFS root, the active menu.lst file is typically located at /pool-name/boot/grub/menu.lst where "pool-name" is the mount point for the top-level dataset.
On systems that have a UFS root, the active menu.lst file is typically located at /boot/grub/menu.lst. To locate the active GRUB menu, use the bootadm command with the list-menu option:
# bootadm list-menu
Check the menu.lst file for the use of passwords.
Procedure:
# more /pool-name/boot/grub/menu.lst
or
# more /boot/grub/menu.lst
Check for a password configuration line, such as the one below.
password --md5 <password-hash>
This line should be just below the line beginning with "timeout". Please note <password-hash> will be replaced by the actual MD5 encrypted password. If the password line is not in either of the files, this is a finding.SRG-OS-000080<GroupDescription></GroupDescription>GEN008710The system boot loader must protect passwords using an MD5 or stronger cryptographic hash.<VulnDiscussion>If system boot loader passwords are compromised, users with console access to the system may be able to alter the system boot configuration or boot the system into single user or maintenance mode, which could result in Denial-of-Service or unauthorized privileged access to the system.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-24624SV-42317CCI-000213Configure the GRUB bootloader to require a password.
Procedure:
Obtain the location of the active GRUB menu file.
# bootadm list-menu
Create a password hash using GRUB. The location of the GRUB binary may be different based on the specific system.
# /boot/grub/bin/grub
grub> md5crypt
Password: <password>
Encrypted: <password hash>
grub> quit
The encrypted password hash will be returned.
Edit the GRUB menu configuration file, and add a line such as the following, substituting the password hash obtained above:
password --md5 <password hash>This check applies to the global zone only. Determine the type of zone that you are currently securing.
# zonename
If the command output is "global", this check applies.
On systems that have a ZFS root, the active menu.lst file is typically located at /pool-name/boot/grub/menu.lst where "pool-name" is the mount point for the top-level dataset.
On systems that have a UFS root, the active menu.lst file is typically located at /boot/grub/menu.lst. To locate the active GRUB menu, use the bootadm command with the list-menu option:
# bootadm list-menu
Check the boot configuration for password settings.
List any password configuration from the active menu file (substitute the file determined above in place of the example file provided below, if necessary).
# grep password /pool-name/boot/grub/menu.lst
or
# grep password /boot/grub/menu.lst
Check for a password configuration line, such as:
password --md5 <password-hash>
If the boot loader passwords are not protected using an MD5 hash or stronger, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN008740The system's boot loader configuration file(s) must not have extended ACLs.<VulnDiscussion>File system extended ACLs provide access to files beyond what is allowed by the mode numbers of the files. If extended ACLs are present on the system's boot loader configuration file(s), these files may be vulnerable to unauthorized access or modification, which could compromise the system's boot process.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22585SV-26985CCI-000366If the file with the extended ACL resides on a UFS filesystem:
# getfacl /boot/grub/menu.lst
Remove each ACE from the file.
# setfacl -r [ACE] /boot/grub/menu.lst
If the file with the extended ACL resides on a ZFS filesystem:
# chmod A- /pool-name/boot/grub/menu.lstThis check applies to the global zone only. Determine the type zone that you are currently securing.
# zonename
If the command output is "global", this check applies.
On systems that have a ZFS root, the active menu.lst file is typically located at /pool-name/boot/grub/menu.lst where "pool-name" is the mount point for the top-level dataset.
On systems that have a UFS root, the active menu.lst file is typically located at /boot/grub/menu.lst. To locate the active GRUB menu, use the bootadm command with the list-menu option:
# bootadm list-menu
Check the permissions of the menu.lst file.
Procedure:
# ls -lL /pool-name/boot/grub/menu.lst
or
# ls -lL /boot/grub/menu.lst
If the permissions of the menu.lst file contain "+", an extended ACL is present, and this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN008760The system's boot loader configuration files must be owned by root.<VulnDiscussion>The system's boot loader configuration files are critical to the integrity of the system and must be protected. Unauthorized modification of these files resulting from improper ownership could compromise the system's boot loader configuration.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22586SV-26987CCI-000366Change the ownership of the file.
# chown root /pool-name/boot/grub/menu.lst
or
# chown root /boot/grub/menu.lst
This check applies to the global zone only. Determine the type of zone that you are currently securing.
# zonename
If the command output is "global", this check applies.
On systems that have a ZFS root, the active menu.lst file is typically located at /pool-name/boot/grub/menu.lst where "pool-name" is the mount point for the top-level dataset.
On systems that have a UFS root, the active menu.lst file is typically located at /boot/grub/menu.lst. To locate the active GRUB menu, use the bootadm command with the list-menu option:
# bootadm list-menu
Check the ownership of the menu.lst file.
Procedure:
# ls -lL /pool-name/boot/grub/menu.lst
or
# ls -lL /boot/grub/menu.lst
If the owner of the file is not root, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN008780The system's boot loader configuration file(s) must be group-owned by root, bin, sys, or system.<VulnDiscussion>The system's boot loader configuration files are critical to the integrity of the system and must be protected. Unauthorized modifications resulting from improper group ownership may compromise the boot loader configuration.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22587SV-26989CCI-000366Change the group ownership of the file.
# chgrp root /pool-name/boot/grub/menu.lst
or
# chgrp root /boot/grub/menu.lst This check applies to the global zone only. Determine the type of zone that you are currently securing.
# zonename
If the command output is "global", this check applies.
On systems that have a ZFS root, the active menu.lst file is typically located at /pool-name/boot/grub/menu.lst where "pool-name" is the mount point for the top-level dataset.
On systems that have a UFS root, the active menu.lst file is typically located at /boot/grub/menu.lst. To locate the active GRUB menu, use the bootadm command with the list-menu option:
# bootadm list-menu
Check the group ownership of the menu.lst file.
Procedure:
# ls -lL /pool-name/boot/grub/menu.lst
or
# ls -lL /boot/grub/menu.lst
If the group owner of the file is not root, bin, sys, or system this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN000000-SOL00020The nosuid option must be configured in the /etc/rmmount.conf file.<VulnDiscussion>The rmmount.conf file controls the mounting of removable media on a Solaris system. Removable media is not to be trusted with privileged access, and therefore the filesystems must be mounted with the nosuid option, which prevents any executables with the setuid bit set on this filesystem from running with owner privileges.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061SV-12532V-12031CCI-000366Edit /etc/rmmount.conf and add the nosuid mount option to the configuration.# grep mount /etc/rmmount.conf
Confirm the nosuid option is configured.
mount * hsfs udfs ufs -o nosuid
If the nosuid option is not configured in the /etc/rmmount.conf file, this is a finding.
SRG-OS-000470<GroupDescription></GroupDescription>GEN000000-SOL00040The /etc/security/audit_user file must not define a different auditing level for specific users.<VulnDiscussion>The audit_user file may be used to selectively audit more, or fewer, auditing features for specific individuals. If used this way it could subject the activity to a lawsuit and could cause the loss of valuable auditing data in the case of a system compromise. If an item is audited for one individual (other than for root and administrative users - who have more auditing features) it must be audited for all.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061SV-4353V-4353CCI-000172Edit the audit_user file and remove specific user configurations differing from the global audit settings.Perform:
# more /etc/security/audit_user
If /etc/security/audit_user has entries other than root, ensure the users defined are audited with the same flags as all users as defined in /etc/security/audit_control file.
SRG-OS-000480<GroupDescription></GroupDescription>GEN000000-SOL00060The /etc/security/audit_user file must be owned by root.<VulnDiscussion>The /etc/security/audit_user is a sensitive file and must be owned by root to prevent possible system compromise.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061SV-4352V-4352CCI-000366Change the owner of the /etc/security/audit_user file to root.
# chown root /etc/security/audit_userCheck /etc/security/audit_user ownership.
# ls -lL /etc/security/audit_user
If /etc/security/audit_user is not owned by root, this is a finding.
SRG-OS-000480<GroupDescription></GroupDescription>GEN000000-SOL00080The /etc/security/audit_user file must be group-owned by root, sys, or bin.<VulnDiscussion>The Solaris audit_user file allows for selective auditing or non-auditing of features for certain users. If it is not protected, it could be compromised and used to mask audit events. This could cause the loss of valuable forensics data in the case of a system compromise.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061SV-4351V-4351CCI-000366Change the group owner of the audit_user file to root, bin, or sys.
Example:
# chgrp root /etc/security/audit_userCheck /etc/security/audit_user group ownership.
# ls -lL /etc/security/audit_user
If /etc/security/audit_user is not group owned by root, sys, or bin, this is a finding.
SRG-OS-000057<GroupDescription></GroupDescription>GEN000000-SOL00100The /etc/security/audit_user file must have mode 0640 or less permissive.<VulnDiscussion>Audit_user is a sensitive file that, if compromised, would allow a malicious user to select auditing parameters to ignore his sessions. This would allow malicious operations the auditing subsystem would not log for that user.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061SV-4245V-4245CCI-000162Change the mode of the audit_user file to 0640.
# chmod 0640 /etc/security/audit_userCheck /etc/security/audit_user permissions.
# ls -lL /etc/security/audit_user
If /etc/security/audit_user is more permissive than 0640, this is a finding.
SRG-OS-000480<GroupDescription></GroupDescription>GEN000000-SOL00110The /etc/security/audit_user file must not have an extended ACL.<VulnDiscussion>Audit_user is a sensitive file that, if compromised, would allow a malicious user to select auditing parameters to ignore their sessions. This would allow malicious operations the auditing subsystem would not detect for that user. It could also result in long-term system compromise possibly leading to the compromise of other systems and networks.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061SV-27004V-22599CCI-000366Remove the extended ACL from the file.
# chmod A- /etc/security/audit_userCheck the permissions of the file.
# ls -lL /etc/security/audit_user
If the permissions of the file contain a "+", an extended ACL is present, this is a finding.SRG-OS-000016<GroupDescription></GroupDescription>GEN000000-SOL00140The /usr/aset/masters/uid_aliases must be empty.<VulnDiscussion>If uid_aliases has entries, users may not be properly identified in ASET records.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061SV-4312V-4312CCI-000032Empty or comment out the entries in the uid_aliases file.# more /usr/aset/masters/uid_aliases
If the /usr/aset/masters/uid_aliases file is not empty or all contents are not commented out, this is a finding.SRG-OS-000016<GroupDescription></GroupDescription>GEN000000-SOL00160If the system is a firewall, ASET must be used on the system, and the firewall parameters must be set in /usr/aset/asetenv.<VulnDiscussion>ASET will not perform firewall tasks if it is not listed as a parameter in /usr/aset/asetenv.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061SV-4309V-4309CCI-000032CCI-000366If the system is used as a firewall and ASET is used, ensure the firewall parameter is configured in /usr/aset/asetenv.Perform the following to determine if ASET is being used.
# crontab -l |grep aset
A returned entry would indicate ASET is being utilized. Determine if ASET is configured to check firewall settings.
# grep TASKS /usr/aset/asetenv | grep firewall
If an entry is not returned, this is a finding.SRG-OS-000016<GroupDescription></GroupDescription>GEN000000-SOL00180The Solaris system Automated Security Enhancement Tool (ASET) configurable parameters in the asetenv file must be correct.<VulnDiscussion>If settings in the asetenv file have been modified, then system vulnerabilities may not be detected.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061SV-953V-953CCI-000366CCI-000032Restore the ASET configuration to vendor default and only modify the portions of the configuration designated as customizable.Determine if ASET is being used.
# crontab -l | grep aset
Check the configuration of ASET.
# more /usr/aset/asetenv
OR
Check that asetenv has not been modified since installation.
# pkgchk SUNWast
If there are any changes below the following two lines that are not comments, this is a finding.
# Don't change from here on down ... #
# there shouldn't be any reason to. #
In addition, if any of the following lines do not match, this is a finding.
TASKS="firewall env sysconf usrgrp tune cklist eeprom"
CKLISTPATH_LOW=${ASETDIR}/tasks:#${ASETDIR} \
/util:${ASETDIR}/masters:/etc
CKLISTPATH_MED=${CKLISTPATH_LOW}:/usr/bin:/usr/ucb
CKLISTPATH_HIGH=${CKLISTPATH_MED}:/usr/lib:/sbin: \
/usr/sbin:/usr/ucblib
YPCHECK=false
PERIODIC_SCHEDULE="0 0 * * *"
UID_ALIASES=${ASETDIR}/masters/uid_aliases
(The default asetenv file can be found on the Solaris installation media.)SRG-OS-000016<GroupDescription></GroupDescription>GEN000000-SOL00220The /usr/aset/userlist file must exist.<VulnDiscussion>If the userlist file does not exist, then an unauthorized user may exist in the /etc/passwd file.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061SV-955V-955CCI-000032CCI-000366Create the /usr/aset/userlist file and populate it with a list of authorized users.Determine if ASET is being used.
# crontab -l | grep aset
If ASET is not used on the system, this is not applicable.
If ASET is being used, but is not invoked with the "-u /usr/aset/userlist" option, this is a finding.
Check the /usr/aset/userlist file.
# ls -lL /usr/aset/userlist
If /usr/aset/userlist file does not exist, this is a finding. An empty /usr/aset/userlist file, while not optimal, is not a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN000000-SOL00240The /usr/aset/userlist file must be owned by root.<VulnDiscussion>If the userlist file is not owned by root, then an unauthorized user can modify the file and enter an unauthorized user.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061SV-956V-956CCI-000366Use the chmod command to change the owner of the /usr/aset/userlist file.
# chown root /usr/aset/userlistIf ASET is not used on the system, this is not applicable.
Check the ownership of the /usr/aset/userlist file.
# ls -lL /usr/aset/userlist
If the owner of the file is not root, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN000000-SOL00250The /usr/aset/userlist file must be group-owned by root.<VulnDiscussion>The /usr/aset/userlist file is critical to system security and must be protected from unauthorized access.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061SV-27013V-22600CCI-000366Change the group ownership of the file.
# chgrp root /usr/aset/userlistCheck the group ownership of the file.
# ls -lLd /usr/aset/userlist
If the group owner of the file is not root, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN000000-SOL00260The /usr/aset/userlist file must have mode 0600 or less permissive.<VulnDiscussion>A permission mask not set to the required level could allow unauthorized access to sensitive system files and resources.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061SV-957V-957CCI-000366Change the mode of the /usr/aset/userlist file to 0600.
# chmod 0600 /usr/aset/userlist# ls -lL /usr/aset/userlist
If /usr/aset/userlist has a mode more permissive than 0600, this is a finding.
SRG-OS-000480<GroupDescription></GroupDescription>GEN000000-SOL00270The /usr/aset/userlist file must not have an extended ACL.<VulnDiscussion>File system ACLs can provide access to files beyond what is allowed by the mode numbers of the files.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061SV-27015V-22601CCI-000366Remove the extended ACL from the file.
# chmod A- /usr/aset/userlistCheck the permissions of the file.
# ls -lLd /usr/aset/userlist
If the permissions of the file or directory contains a "+", an extended ACL is present, this is a finding.SRG-OS-000470<GroupDescription></GroupDescription>GEN000000-SOL00400The NFS server must have logging implemented.<VulnDiscussion>Filesystem logging, especially for NFS exported file systems, can be critical to detecting data misuse and possible hardware/system errors that may, otherwise, go unnoticed.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061SV-40041V-4300CCI-000172Edit /etc/dfs/dfstab and add the log option to all exported filesystems. Run the shareall command for the changes to take effect.
NFS version 2 or 3 must be forced by updating the NFS_SERVER_VERSMAX variable appropriately in /etc/default/nfs and restarting the NFS daemon.To enable NFS server logging the log option must be applied to all exported file systems in the /etc/dfs/dfstab. Perform the following to verify NFS is enabled.
# share
The preceding command will display all exported filesystems. Each line should contain a log entry to indicate logging is enabled. If the log entry is not present, this is a finding. If the share command does not return anything, then this is not an NFS server and this is considered not applicable.
NFS version 4 does not support server logging. Verify NFS_SERVER_VERSMAX in /etc/default/nfs.
# grep NFS_SERVER_VERSMAX /etc/default/nfs
If NFS_SERVER_VERSMAX is commented out or set to any value but 2 or 3, this is a finding.SRG-OS-000016<GroupDescription></GroupDescription>GEN000000-SOL00420Hidden extended file attributes must not exist on the system.<VulnDiscussion>Solaris extended attributes are essentially files themselves that are of an arbitrary size and content. They could be used to hide files from ordinary system file scans.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061SV-12533V-12032CCI-000032Remove the hidden extended file attributes.
# runat <file name> rm <attribute name>
Search for all files with hidden extended attributes.
# find / -xattr -print -exec runat {} ls -al \;
If hidden extended file attributes exist, this is a finding.
SRG-OS-000480<GroupDescription></GroupDescription>GEN000000-SOL00440The root account must be the only account with GID of 0.<VulnDiscussion>Accounts with a GID of 0 have root group privileges.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061SV-12534V-12033CCI-000366Change the default GID of non-root accounts to a valid GID other than 0.
Check passwd and group files for non-root user ids and group ids with a GID of 0.
# more /etc/passwd
# more /etc/group
OR
# awk -F: '$4 == 0' /etc/passwd
# awk -F: '$3 == 0' /etc/group
Confirm the only account with a group id of 0 is root.
If the root account is not the only account with GID of 0, this is a finding.
SRG-OS-000480<GroupDescription></GroupDescription>GEN000000-SOL00540The /etc/zones directory, and its contents, must be owned by root.<VulnDiscussion>Solaris zones configuration files must be protected against illicit creation, modification, and deletion.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061SV-27016V-22603CCI-000366Change the ownership of the files and directories.
# chown -R root /etc/zonesCheck the ownership of the files and directories.
# ls -lLdR /etc/zones
If the owner of the file is not root, this is a finding.
If zones are not installed on the system, this is not a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN000000-SOL00560The /etc/zones directory, and its contents, must be group-owned by root, sys, or bin.<VulnDiscussion>Solaris zones configuration files must be protected against illicit creation, modification, and deletion.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061SV-27018V-22604CCI-000366Change the group ownership of the files and directories.
# chgrp -R sys /etc/zones
# chgrp root /etc/zones/*.xml
# chgrp bin /etc/zones/SUN*.xmlCheck the group ownership of the files and directories.
# ls -lLRa /etc/zones
If the group owner of the directory and all files is not root, sys, or bin, this is a finding.
If zones are not installed on the system, this is not a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN000000-SOL00580The /etc/zones directory, and its contents, must not be group- or world-writable.<VulnDiscussion>Solaris zones configuration files must be protected against illicit creation, modification, and deletion.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061SV-27019V-22605CCI-000366Change the mode of the file or directory.
# chmod 0644 <file>
For directories:
# chmod 0755 <directory>Check the permissions of the files and directories.
# ls -lLdR /etc/zones
If the mode of a directory is more permissive than 0755, or the mode of a file more permissive than 0644, this is a finding.
If zones are not installed on the system, this is not a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN000000-SOL00600The /etc/zones directory, and its contents, must not have an extended ACL.<VulnDiscussion>Solaris zones configuration files must be protected against illicit creation, modification, and deletion.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061SV-27020V-22606CCI-000366Remove the extended ACL from the file.
# chmod A- <file>Check the permissions of the file.
# ls -lLd /etc/zones
# ls -lLR /etc/zones
If the permissions of the file or directory contains a "+", an extended ACL is present, this is a finding.
If zones are not installed on the system, this is not a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN000000-SOL00620The inherit-pkg-dir zone option must be set to none or the system default list defined for sparse root zones.<VulnDiscussion>Solaris zones have the capability to inherit elements of the global zone's filesystem, which reduces the amount storage required for a zone, but also limits the flexibility of the zone. The inherit-pkg-dir option defines which paths are shared between the zones. If set incorrectly, private information from the global zone could be made available to the non-global zone. This option must be set to none (for a whole-root non-global zone), the vendor-specified list of paths for sparse-root non-global zones, or a list specified by the SA for operational reasons which has been justified and documented with the IAO.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061SV-27022V-22607CCI-000366Remove the inherit-pkg-dir lines or the directories not defined for sparse root zones.
# zonecfg -z <zone> remove inherit-pkg-dir=<somedir>If the system is not a global zone, this vulnerability is not applicable.
List the non-global zones on the system.
# zoneadm list -vi
List the configuration for each zone.
# zonecfg -z <zone> info
Check the inherit-pkg-dir lines. If no such lines exist, this is not a finding. If the lines contain only those defined for sparse root zones (/lib, /platform, /sbin, /usr), this is not a finding. Otherwise, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN000000-SOL00640The limitpriv zone option must be set to the vendor default or less permissive.<VulnDiscussion>Solaris zones can be assigned privileges generally reserved for the global zone using the limitpriv zone option. Any privilege assignments in excess of the vendor defaults may provide the ability for a non-global zone to compromise the global zone.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061SV-27023V-22608CCI-000366Change the limitpriv setting to default.
# zonecfg -z <zone> set limitpriv=defaultIf the system is not a global zone, this vulnerability is not applicable.
List the non-global zones on the system.
# zoneadm list -vi
List the configuration for each zone.
# zonecfg -z <zone> info
Check the limitpriv lines. If a line set other than default, this is a finding. If limitpriv is not set, this is not a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN000000-SOL00660The physical devices must not be assigned to non-global zones.<VulnDiscussion>Solaris non-global zones can be assigned physical hardware devices. This increases the risk of such a non-global zone having the capability to compromise the global zone.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061SV-27024V-22609CCI-000366Remove all device assignments from the non-global zone.
# zonecfg -z <zone> remove device <device>If the system is not a global zone, this vulnerability is not applicable.
List the non-global zones on the system.
# zoneadm list -vi
List the configuration for each zone.
# zonecfg -z <zone> info
Check for device lines. If such a line exists, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN000100The operating system must be a supported release.<VulnDiscussion>An operating system release is considered supported if the vendor continues to provide security patches for the product. With an unsupported release, it will not be possible to resolve security issues discovered in the system software.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-11940SV-27051CCI-000366Upgrade to a supported version of the operating system.# uname -a
Oracle has committed to indefinite "sustaining support" for recent Solaris operating system releases. Verify proof of purchase of support from Oracle.
If the release is not supported, this is a finding.
Severity Override Guidance:
If an extended support agreement provides security patches for the unsupported product is procured from the vendor, this finding may be downgraded to a CAT III.SRG-OS-000480<GroupDescription></GroupDescription>GEN000120System security patches and updates must be installed and up-to-date.<VulnDiscussion>Timely patching is critical for maintaining the operational availability, confidentiality, and integrity of Information Technology (IT) systems. However, failure to keep operating system and application software patched is a common mistake made by IT professionals. New patches are released daily, and it is often difficult for even experienced system administrators to keep abreast of all the new patches. When new weaknesses in an operating system exist, patches are usually made available by the vendor to resolve the problems. If the most recent security patches and updates are not installed, unauthorized users may take advantage of weaknesses present in the unpatched software. The lack of prompt attention to patching could result in a system compromise.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-783SV-40813CCI-000366Apply available security updates from Oracle.
# smpatch updateUse the smpatch(1m) utility to check for available security updates from Oracle.
# smpatch analyze
If there are security updates available, this is a finding.SRG-OS-000363<GroupDescription></GroupDescription>GEN000140A file integrity baseline must be created and maintained.<VulnDiscussion>A file integrity baseline is a collection of file metadata which is to evaluate the integrity of the system. A minimal baseline must contain metadata for all device files, setuid files, setgid files, system libraries, system binaries, and system configuration files. The minimal metadata must consist of the mode, owner, group owner, and modification times. For regular files, metadata must also include file size and a cryptographic hash of the file's contents.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061SV-12442V-11941CCI-001744Create a file integrity baseline, including cryptographic hashes, for the system. Determine if a file integrity baseline, which includes cryptographic hashes, has been created and maintained for the system. If no file integrity baseline exists for the system, this is a finding. If the file integrity baseline contains no cryptographic hashes, this is a finding. If the file integrity baseline is not maintained (has not been updated to be consistent with the latest approved system configuration changes), this is a finding.SRG-OS-000363<GroupDescription></GroupDescription>GEN000220A file integrity tool must be used at least weekly to check for unauthorized file changes, particularly the addition of unauthorized system libraries or binaries, or for unauthorized modification to authorized system libraries or binaries.<VulnDiscussion>Changes in system libraries and binaries can indicate compromise or significant system events, such as patching needing to be checked by automated processes and the results reviewed by the SA.
NOTE: The frequency may be increased to daily, if necessary, in accordance with the contingency plan.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-11945SV-28610CCI-001744Create a cron job, scheduled to run weekly or more frequently, to run the file integrity tool to check for unauthorized system libraries or binaries, or unauthorized modification to authorized system libraries or binaries.
NOTE: The frequency may be increased to daily, if necessary, in accordance with the contingency plan.Determine if there is a cron job, scheduled to run weekly or more frequently, to run the file integrity tool to check for unauthorized system libraries or binaries, or unauthorized modification to authorized system libraries or binaries.
Procedure:
# crontab -l
If there is no cron job meeting these requirements, this is a finding.
NOTE: The frequency may be increased to daily, if necessary, in accordance with the contingency plan.SRG-OS-000355<GroupDescription></GroupDescription>GEN000240The system clock must be synchronized to an authoritative DoD time source.<VulnDiscussion>To assure the accuracy of the system clock, it must be synchronized with an authoritative time source within DoD. Many system functions, including time-based login and activity restrictions, automated reports, system logs, and audit records depend on an accurate system clock. If there is no confidence in the correctness of the system clock, time-based functions may not operate as intended and records may be of diminished value.
Authoritative time sources include authorized time servers within the enclave that synchronize with upstream authoritative sources. Specific requirements for the upstream synchronization of Network Time Protocol (NTP) servers are covered in the Network Other Devices STIG.
For systems located on isolated or closed networks, it is not necessary to synchronize with a global authoritative time source. If a global authoritative time source is not available to systems on an isolated network, a local authoritative time source must be established on this network and used by the systems connected to this network. This is necessary to provide the ability to correlate events and allow for the correct operation of time-dependent protocols between systems on the isolated network.
If the system is completely isolated (no connections to networks or other systems), time synchronization is not required as no correlation of events between systems will be necessary. If the system is completely isolated, this requirement is not applicable.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-4301SV-40040CCI-001891Use a local authoritative time server synchronizing to an authorized DoD time source. Ensure all systems in the facility feed from one or more local time servers that feed from the authoritative time server. NTP must be used and used only in the global zone. Determine the zone that you are currently securing.
# zonename
If the command output is not "global", NTP must be disabled. Check the system for a running NTP daemon.
# svcs ntp | grep online
If the output from "zonename" is "global", NTP must be enabled. Check the system for a running NTP daemon.
# svcs ntp | grep online
If NTP is not online, this is a finding.
If NTP is running confirm the servers and peers or multicast client (as applicable) are local or an authoritative U.S. DoD source.
# more /etc/inet/ntp.conf
If a non-local/non-authoritative (U.S. DoD source) time-server is used, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN000241The system clock must be synchronized continuously.<VulnDiscussion>A synchronized system clock is critical for the enforcement of time-based policies and the correlation of logs and audit records with other systems. Internal system clocks tend to drift and require periodic resynchronization to ensure their accuracy. Software, such as NTPD, can be used to continuously synchronize the system clock with authoritative sources. Alternatively, the system may be synchronized periodically, with a maximum of one day between synchronizations.
If the system is completely isolated (no connections to networks or other systems), time synchronization is not required as no correlation of events or operation of time-dependent protocols between systems will be necessary. If the system is completely isolated, this requirement is not applicable.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22290SV-26291CCI-000366Determine the type of zone that you are currently securing.
# zonename
If the command output is not "global", then NTP must be disabled.
# svcadm disable ntp
If the output from "zonename" is "global", then NTP must be enabled.
# svcadm enable ntpNTP must be used and used only in the global zone. Determine the type of zone that you are currently securing.
# zonename
If the command output is not "global", then NTP must be disabled. Check the system for a running NTP daemon.
# svcs -Ho state ntp
If NTP is online, this is a finding.
If the output from "zonename" is "global", then NTP must be enabled. Check the system for a running NTP daemon.
# svcs -Ho state ntp
If NTP is not online, this is a finding.SRG-OS-000355<GroupDescription></GroupDescription>GEN000242The system must use at least two time sources for clock synchronization.<VulnDiscussion>A synchronized system clock is critical for the enforcement of time-based policies and the correlation of logs and audit records with other systems. For redundancy, two time sources are required so synchronization continues to function if one source fails.
If the system is completely isolated (no connections to networks or other systems), time synchronization is not required as no correlation of events or operation of time-dependent protocols between systems will be necessary. If the system is completely isolated, this requirement is not applicable.
NOTE: For the Network Time Protocol (NTP), the requirement is two servers, but it is recommended to configure at least four distinct time servers which allow NTP to effectively exclude a time source not consistent with the others. The system's local clock must be excluded from the count of time sources.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22291SV-26303CCI-001891Add an additional server line to /etc/inet/ntp.conf for each additional NTP server.Determine the zone that you are currently securing.
# zonename
If the command output is not "global", this is not applicable.
Check the NTP daemon configuration for at least two external servers.
# grep '^server' /etc/inet/ntp.conf | egrep -v '(127.127.1.1|127.127.1.0)'
If less than two servers or external reference clocks (127.127.x.x other than 127.127.1.0 or 127.127.1.1) are listed, this is a finding.SRG-OS-000355<GroupDescription></GroupDescription>GEN000244The system must use time sources local to the enclave.<VulnDiscussion>A synchronized system clock is critical for the enforcement of time-based policies and the correlation of logs and audit records with other systems. The network architecture should provide multiple time servers within an enclave that provide local service to the enclave and synchronize with time sources outside of the enclave.
If this server is an enclave time server, this requirement is not applicable.
If the system is completely isolated (no connections to networks or other systems), time synchronization is not required as no correlation of events or operation of time-dependent protocols between systems will be necessary. If the system is completely isolated, this requirement is not applicable.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22292SV-26305CCI-001891Remove the server line from /etc/inet/ntp.conf for each NTP server that is external to the enclave.Determine the zone that you are currently securing.
# zonename
If the command output is not "global", this is not applicable.
Check the NTP daemon configuration.
# grep '^server' /etc/inet/ntp.conf
If an NTP server is listed outside of the enclave, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN000250The time synchronization configuration file (such as /etc/ntp.conf) must be owned by root.<VulnDiscussion>A synchronized system clock is critical for the enforcement of time-based policies and the correlation of logs and audit records with other systems. If an illicit time source is used for synchronization, the integrity of system logs and the security of the system could be compromised. If the configuration files controlling time synchronization are not owned by a system account, unauthorized modifications could result in the failure of time synchronization.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22294SV-26293CCI-000366Change the owner of the NTP configuration file to root.
# chown root /etc/inet/ntp.confRun ls -l /etc/inet/ntp.conf to display the owner of the NTP configuration file. If the owner is not root, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN000251The time synchronization configuration file (such as /etc/ntp.conf) must be group-owned by root, bin, or sys.<VulnDiscussion>A synchronized system clock is critical for the enforcement of time-based policies and the correlation of logs and audit records with other systems. If an illicit time source is used for synchronization, the integrity of system logs and the security of the system could be compromised. If the configuration files controlling time synchronization are not owned by a system group, unauthorized modifications could result in the failure of time synchronization.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22295SV-26296CCI-000366Change the group owner of the NTP configuration file.
Procedure:
# chgrp root /etc/inet/ntp.confCheck the group ownership of the NTP configuration file.
Procedure:
# ls -l /etc/inet/ntp.conf
If the group owner is not root, bin, or sys, this is a finding.SRG-OS-000312<GroupDescription></GroupDescription>GEN000252The time synchronization configuration file (such as /etc/ntp.conf) must have mode 0640 or less permissive.<VulnDiscussion>A synchronized system clock is critical for the enforcement of time-based policies and the correlation of logs and audit records with other systems. If an illicit time source is used for synchronization, the integrity of system logs and the security of the system could be compromised. If the configuration files controlling time synchronization are not protected, unauthorized modifications could result in the failure of time synchronization.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22296SV-26298CCI-002165Change the mode of the NTP configuration file to 0640 or less permissive.
# chmod 0640 /etc/inet/ntp.conf
Verify the mode for the NTP configuration file is not more permissive than 0640.
# ls -l /etc/inet/ntp.conf
If the mode is more permissive than 0640, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN000253The time synchronization configuration file (such as /etc/ntp.conf) must not have an extended ACL.<VulnDiscussion>A synchronized system clock is critical for the enforcement of time-based policies and the correlation of logs and audit records with other systems. If an illicit time source is used for synchronization, the integrity of system logs and the security of the system could be compromised. If the configuration files controlling time synchronization are not protected, unauthorized modifications could result in the failure of time synchronization.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22297SV-26301CCI-000366Remove the extended ACL from the file.
# chmod A- /etc/inet/ntp.confCheck for an extended ACL on the NTP configuration file.
# ls -l /etc/inet/ntp.conf
If the permissions contain a "+", the file has an extended ACL and this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN000290The system must not have unnecessary accounts.<VulnDiscussion>Accounts providing no operational purpose provide additional opportunities for system compromise. Unnecessary accounts include user accounts for individuals not requiring access to the system and application accounts for applications not installed on the system.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-4269SV-4269CCI-000366Remove all unnecessary accounts, such as games, from the /etc/passwd file before connecting a system to the network. Other accounts, such as news and gopher, associated with a service not in use should also be removed.Check the system for unnecessary user accounts.
Procedure:
# more /etc/passwd
Some examples of unnecessary accounts include games, news, gopher, ftp, and lp.
If an unnecessary account is found and its use is not justified and documented with the ISSO, this is a finding.SRG-OS-000104<GroupDescription></GroupDescription>GEN000300All accounts on the system must have unique user or account names.<VulnDiscussion>A unique user name is the first part of the identification and authentication process. If user names are not unique, there can be no accountability on the system for auditing purposes. Multiple accounts sharing the same name could result in the Denial of Service to one or both of the accounts or unauthorized access to files or privileges.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-761SV-27061CCI-000764Change user account names, or delete accounts, so each account has a unique name. Check the system for duplicate account names.
Example:
# passwd -sa | sort | uniq -c | awk '$1 > 1 {print $2}'
If any duplicate account names are found, this is a finding.SRG-OS-000104<GroupDescription></GroupDescription>GEN000320All accounts must be assigned unique User Identification Numbers (UIDs).<VulnDiscussion>Accounts sharing a UID have full access to each others' files. This has the same effect as sharing a login. There is no way to assure identification, authentication, and accountability because the system sees them as the same user. If the duplicate UID is 0, this gives potential intruders another privileged account to attack.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-762SV-27065CCI-000764Edit user accounts to provide unique UIDs for each account.Perform the following to ensure there are no duplicate UIDs.
# logins -d
If any duplicate UIDs are found, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN000340UIDs reserved for system accounts must not be assigned to non-system accounts.<VulnDiscussion>Reserved UIDs are typically used by system software packages. If non-system accounts have UIDs in this range, they may conflict with system software, possibly leading to the user having permissions to modify system files.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-11946SV-12447CCI-000366Change the UID numbers for non-system accounts with reserved UIDs (those less or equal to 99). Check the UID assignments of all accounts.
# more /etc/passwd
Confirm all accounts with a UID of 99 and below are used by a system account. If a UID reserved for system accounts (0 - 99) is used by a non-system account, this is a finding. SRG-OS-000480<GroupDescription></GroupDescription>GEN000360GIDs reserved for system accounts must not be assigned to non-system groups.<VulnDiscussion>Reserved GIDs are typically used by system software packages. If non-system groups have GIDs in this range, they may conflict with system software, possibly leading to the group having permissions to modify system files.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-780SV-28658CCI-000366Change the primary group GID numbers for non-system accounts with reserved primary group GIDs (those less or equal to 99).
# usermod -g <new_group> <user># more /etc/passwd
Confirm all accounts with a GID of 99 and below are used by a system account. If a GID reserved for system accounts (0 - 99) is used by a non-system account, this is a finding. SRG-OS-000480<GroupDescription></GroupDescription>GEN000380All GIDs referenced in the /etc/passwd file must be defined in the /etc/group file.<VulnDiscussion>If a user is assigned the GID of a group not existing on the system, and a group with the same GID is subsequently created, the user may have unintended rights to the group.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-781SV-27069CCI-000366Add a group to the system for each GID referenced that does not have a corresponding group.
#/usr/sbin/groupadd < group >Perform the following to ensure there are no GIDs referenced in /etc/passwd not defined in /etc/group.
# logins -o | awk -F: '$3 == ""'
If any lines are returned, there are GIDs referenced in /etc/passwd that are not defined in /etc/group, this is a finding.SRG-OS-000023<GroupDescription></GroupDescription>GEN000400The Department of Defense (DoD) login banner must be displayed immediately prior to, or as part of, console login prompts.<VulnDiscussion>Failure to display the login banner prior to a logon attempt will negate legal proceedings resulting from unauthorized access to system resources.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-763SV-28596CCI-000048Edit /etc/issue and add one of the DoD login banners (based on the character limitations imposed by the system).
DoD Login Banners:
"You are accessing a U.S. Government (USG) Information System (IS) that is provided for USG-authorized use only.
By using this IS (which includes any device attached to this IS), you consent to the following conditions:
-The USG routinely intercepts and monitors communications on this IS for purposes including, but not limited to, penetration testing, COMSEC monitoring, network operations and defense, personnel misconduct (PM), law enforcement (LE), and counterintelligence (CI) investigations.
-At any time, the USG may inspect and seize data stored on this IS.
-Communications using, or data stored on, this IS are not private, are subject to routine monitoring, interception, and search, and may be disclosed or used for any USG-authorized purpose.
-This IS includes security measures (e.g., authentication and access controls) to protect USG interests--not for your personal benefit or privacy.
-Notwithstanding the above, using this IS does not constitute consent to PM, LE or CI investigative searching or monitoring of the content of privileged communications, or work product, related to personal representation or services by attorneys, psychotherapists, or clergy, and their assistants. Such communications and work product are private and confidential. See User Agreement for details."
OR
"I've read & consent to terms in IS user agreem't."Access the system console and make a logon attempt. Check for either of the following login banners based on the character limitations imposed by the system. An exact match is required. If one of these banners is not displayed, this is a finding.
"You are accessing a U.S. Government (USG) Information System (IS) that is provided for USG-authorized use only.
By using this IS (which includes any device attached to this IS), you consent to the following conditions:
-The USG routinely intercepts and monitors communications on this IS for purposes including, but not limited to, penetration testing, COMSEC monitoring, network operations and defense, personnel misconduct (PM), law enforcement (LE), and counterintelligence (CI) investigations.
-At any time, the USG may inspect and seize data stored on this IS.
-Communications using, or data stored on, this IS are not private, are subject to routine monitoring, interception, and search, and may be disclosed or used for any USG-authorized purpose.
-This IS includes security measures (e.g., authentication and access controls) to protect USG interests--not for your personal benefit or privacy.
-Notwithstanding the above, using this IS does not constitute consent to PM, LE or CI investigative searching or monitoring of the content of privileged communications, or work product, related to personal representation or services by attorneys, psychotherapists, or clergy, and their assistants. Such communications and work product are private and confidential. See User Agreement for details. "
OR
"I've read & consent to terms in IS user agreem't."SRG-OS-000023<GroupDescription></GroupDescription>GEN000402The Department of Defense (DoD) login banner must be displayed immediately prior to, or as part of, graphical desktop environment login prompts.<VulnDiscussion>Failure to display the login banner prior to a logon attempt will negate legal proceedings resulting from unauthorized access to system resources.
This requirement applies to graphical desktop environments provided by the system to locally attached displays and input devices as well as to graphical desktop environments provided to remote systems, including thin clients.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-24331SV-39880CCI-000048Create/update /etc/dt/config/C/Xresources with Dtlogin*greeting.labelString: [DoD login banner text].
DoD Login Banners:
"You are accessing a U.S. Government (USG) Information System (IS) that is provided for USG-authorized use only.
By using this IS (which includes any device attached to this IS), you consent to the following conditions:
-The USG routinely intercepts and monitors communications on this IS for purposes including, but not limited to, penetration testing, COMSEC monitoring, network operations and defense, personnel misconduct (PM), law enforcement (LE), and counterintelligence (CI) investigations.
-At any time, the USG may inspect and seize data stored on this IS.
-Communications using, or data stored on, this IS are not private, are subject to routine monitoring, interception, and search, and may be disclosed or used for any USG-authorized purpose.
-This IS includes security measures (e.g., authentication and access controls) to protect USG interests--not for your personal benefit or privacy.
-Notwithstanding the above, using this IS does not constitute consent to PM, LE or CI investigative searching or monitoring of the content of privileged communications, or work product, related to personal representation or services by attorneys, psychotherapists, or clergy, and their assistants. Such communications and work product are private and confidential. See User Agreement for details."
OR
"I've read & consent to terms in IS user agreem't."If the system does not use XWindows, this is not applicable.
Check the "Dtlogin*greeting.labelString" parameter in /etc/dt/config/C/Xresources for either of the following login banners based on the character limitations imposed by the system. An exact match is required. If one of these banners is not displayed, this is a finding. If the file does not exist, this is a finding.
"You are accessing a U.S. Government (USG) Information System (IS) that is provided for USG-authorized use only.
By using this IS (which includes any device attached to this IS), you consent to the following conditions:
-The USG routinely intercepts and monitors communications on this IS for purposes including, but not limited to, penetration testing, COMSEC monitoring, network operations and defense, personnel misconduct (PM), law enforcement (LE), and counterintelligence (CI) investigations.
-At any time, the USG may inspect and seize data stored on this IS.
-Communications using, or data stored on, this IS are not private, are subject to routine monitoring, interception, and search, and may be disclosed or used for any USG-authorized purpose.
-This IS includes security measures (e.g., authentication and access controls) to protect USG interests--not for your personal benefit or privacy.
-Notwithstanding the above, using this IS does not constitute consent to PM, LE or CI investigative searching or monitoring of the content of privileged communications, or work product, related to personal representation or services by attorneys, psychotherapists, or clergy, and their assistants. Such communications and work product are private and confidential. See User Agreement for details. "
OR
"I've read & consent to terms in IS user agreem't."SRG-OS-000023<GroupDescription></GroupDescription>GEN000410The FTPS/FTP service on the system must be configured with the Department of Defense (DoD) login banner.<VulnDiscussion>Failure to display the logon banner prior to a logon attempt will negate legal proceedings resulting from unauthorized access to system resources.
NOTE: SFTP and FTPS are encrypted alternatives to FTP that should be used in place of FTP. SFTP is implemented by the SSH service and uses its banner configuration.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-23732SV-39879CCI-000048Edit /etc/ftpd/ftpaccess and add or edit the BANNER parameter ("banner /etc/ftpd/banner.msg").
# vi /etc/ftpd/ftpaccess
Add one of the DoD Login Banners (based on the character limitations imposed by the system) to the /etc/ftpd/banner.msg file.
# vi /etFTP to the system.
# ftp localhost
Check for either of the following login banners based on the character limitations imposed by the system. An exact match is required. If one of these banners is not displayed, this is a finding. If the system does not run the FTP service, this is not applicable.
DoD Login Banners:
"You are accessing a U.S. Government (USG) Information System (IS) that is provided for USG-authorized use only.
By using this IS (which includes any device attached to this IS), you consent to the following conditions:
-The USG routinely intercepts and monitors communications on this IS for purposes including, but not limited to, penetration testing, COMSEC monitoring, network operations and defense, personnel misconduct (PM), law enforcement (LE), and counterintelligence (CI) investigations.
-At any time, the USG may inspect and seize data stored on this IS.
-Communications using, or data stored on, this IS are not private, are subject to routine monitoring, interception, and search, and may be disclosed or used for any USG-authorized purpose.
-This IS includes security measures (e.g., authentication and access controls) to protect USG interests--not for your personal benefit or privacy.
-Notwithstanding the above, using this IS does not constitute consent to PM, LE or CI investigative searching or monitoring of the content of privileged communications, or work product, related to personal representation or services by attorneys, psychotherapists, or clergy, and their assistants. Such communications and work product are private and confidential. See User Agreement for details."
OR
"I've read & consent to terms in IS user agreem't."SRG-OS-000470<GroupDescription></GroupDescription>GEN000440Successful and unsuccessful logins and logouts must be logged.<VulnDiscussion>Monitoring and recording successful and unsuccessful logins assist in tracking unauthorized access to the system. Without this logging, the ability to track unauthorized activity to specific user accounts may be diminished.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-765SV-27080CCI-000172Verify that login logs are handled correctly in the /etc/syslog.conf file. Edit the /etc/syslog.conf file and add one of the entries below.
auth.debug /var/log/authlog
OR
auth.* /var/log/authlog
Verify that service startup scripts for syslog and utmp (if present) are enabled.Determine if successful logons are being logged.
# last | more
Determine if unsuccessful logons are being logged.
# more /var/adm/loginlog
If the commands do not return successful and unsuccessful logins, this is a finding.
Check the syslog daemon configuration for authentication logging.
# egrep "auth\.(info|debug)" /etc/syslog.conf
If there are no entries in syslog for the auth service, this is a finding.SRG-OS-000025<GroupDescription></GroupDescription>GEN000452The system must display the date and time of the last successful account login upon login.<VulnDiscussion>Providing users with feedback on when account accesses last occurred facilitates user recognition and reporting of unauthorized account use.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22299SV-26310CCI-000052Configure the system to display the date and time of the last successful login upon logging in.
Enable PrintLastLog in the SSH daemon.
To enable PrintLastLog in the SSH daemon, remove any lines disabling this option from /etc/ssh/sshd_config.Determine if the system displays the date and time of the last successful login upon logging in. This can be accomplished by logging into the system and verifying whether or not the necessary information is displayed. If the system does not provide this information upon login, this is a finding.
Last login information is provided automatically by the login(1) program for telnet and console login sessions.
Verify the SSH daemon is configured to display last login information.
# grep -i PrintLastLog /etc/ssh/sshd_config
If PrintLastLog is present in the configuration and not disabled, this is not a finding. Otherwise, this is a finding.SRG-OS-000029<GroupDescription></GroupDescription>GEN000510The system must display a publicly-viewable pattern during a graphical desktop environment session lock.<VulnDiscussion>To protect the on-screen content of a session, it must be replaced with a publicly-viewable pattern upon session lock. Examples of publicly viewable patterns include screen saver patterns, photographic images, solid colors, or a blank screen, so long as none of those patterns convey sensitive information.
This requirement applies to graphical desktop environments provided by the system to locally attached displays and input devices, as well as, to graphical desktop environments provided to remote systems using remote access protocols.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22301SV-39865CCI-000057Edit the /etc/dt/config/C/sys.resources file and add/edit the following lines, using 15 for the saverTimeout, and using StartDtscreenBlank for the saverList.
dtsession*saverTimeout: 15
dtsession*saverList: StartDtscreenBlankDetermine if a publicly-viewable pattern is displayed during a session lock. If the session lock pattern is not publicly-viewable, this is a finding.
Acceptable checks for settings.
# grep -i dtsession /etc/dt/config/C/sys.resources | egrep -i "saverList|saverTimeout"
The saverTimeout value should be 15 (see GEN000500).
The saverList value of StartDtscreenBlank is an acceptable screensaver.SRG-OS-000326<GroupDescription></GroupDescription>GEN000520The root user must not own the logon session for an application requiring a continuous display.<VulnDiscussion>If an application is providing a continuous display and is running with root privileges, unauthorized users could interrupt the process and gain root access to the system.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-769SV-769CCI-002233Configure the system so the owner of a session requiring a continuous screen display, such as a network management display, is not root. Ensure the display is also located in a secure, controlled access area. Document and justify this requirement. Ensure the terminal and keyboard for the display (or workstation) are secure from all but authorized personnel by maintaining them in a secure area, in a locked cabinet where a swipe card, or other positive forms of identification, must be used to gain entry.If there is an application running on the system continuously in use (such as a network monitoring application), ask the SA what the name of the application is. Execute the following to determine which user owns the process(es) associated with the application. If the owner is root, this is a finding.
# ps -ef | moreSRG-OS-000075<GroupDescription></GroupDescription>GEN000540Users must not be able to change passwords more than once every 24 hours.<VulnDiscussion>The ability to change passwords frequently facilitates users reusing the same password. This can result in users effectively never changing their passwords. This would be accomplished by users changing their passwords when required and then immediately changing it to the original value.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-1032SV-39809CCI-000198Edit the /etc/default/passwd file and set the variable "MINWEEKS" to 1 or greater.
Set the per-user minimum password change times by using the following command on each user account.
# passwd -n <number of days> <accountname> Check the minimum time period between password changes for each user account is 1 day or greater.
# awk -F: '$4 < 1 {print $1}' /etc/shadow
If any results are returned that are not associated with a system account, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN000560The system must not have accounts configured with blank or null passwords.<VulnDiscussion>If an account is configured for password authentication but does not have an assigned password, it may be possible to log into the account without authentication. If the root user is configured without a password, the entire system may be compromised. For user accounts not using password authentication, the account must be configured with a password lock value instead of a blank or null value. </VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-770SV-27105CCI-000366Remove, lock, or configure a password for any account with a blank password. Verify no accounts have blank passwords.
# logins -p
If any account with a blank password is found, this is a finding.SRG-OS-000078<GroupDescription></GroupDescription>GEN000580The system must require passwords contain a minimum of 15 characters.<VulnDiscussion>The use of longer passwords reduces the ability of attackers to successfully obtain valid passwords using guessing or exhaustive search techniques by increasing the password search space.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-11947SV-27110CCI-000205Edit /etc/default/passwd and set the PASSLENGTH variable to 15 or greater.Check the system password length setting.
# grep PASSLENGTH /etc/default/passwd
If PASSLENGTH is not set to 15 or more, this is a finding.SRG-OS-000078<GroupDescription></GroupDescription>GEN000585The system must enforce compliance of the entire password during authentication.<VulnDiscussion>Some common password hashing schemes only process the first eight characters of a user's password, which reduces the effective strength of the password.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22302SV-26318CCI-000205Edit /etc/security/policy.conf and add or change the CRYPT_DEFAULT setting to something other than __unix__, such as 6. Allowable values for CRYPT_DEFAULT may be found in the /etc/security/crypt.conf file.
Change any passwords using non-compliant hashes.Verify no password hash in /etc/passwd or /etc/shadow begins with a character other than an underscore (_) or dollar sign ($).
# cut -d ':' -f2 /etc/passwd | egrep -v '^[*!$_]'
# cut -d ':' -f2 /etc/shadow | egrep -v '^[*!$_]'
If any unlocked password hash is present without an initial underscore (_) or dollar sign ($) character, this is a finding.SRG-OS-000120<GroupDescription></GroupDescription>GEN000590The system must use a FIPS 140-2 approved cryptographic hashing algorithm for generating account password hashes.<VulnDiscussion>Systems must employ cryptographic hashes for passwords using the SHA-2 family of algorithms or FIPS 140-2 approved successors. The use of unapproved algorithms may result in weak password hashes more vulnerable to compromise.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22303SV-40776CCI-000803Edit the /etc/security/policy.conf file.
# vi /etc/security/policy.conf
Uncomment or add the CRYPT_ALGORITHMS_ALLOW line and set it to "5,6". Update the CRYPT_DEFAULT default line to be equal to 5 or 6. The following lines are acceptable.
CRYPT_ALGORITHMS_ALLOW=5,6
CRYPT_DEFAULT=6Verify the traditional UNIX crypt algorithm is deprecated.
# egrep CRYPT_ALGORITHMS_ALLOW /etc/security/policy.conf
If CRYPT_ALGORITHMS_ALLOW is not set, is not set to "6", or is not set to "5,6", this is a finding.
Verify new password hashes are generated using either the SHA-256 or SHA-512 cryptographic hashing algorithm.
# egrep CRYPT_DEFAULT /etc/security/policy.conf
If CRYPT_DEFAULT is not set or is not equal to 5 or 6, this is a finding.SRG-OS-000073<GroupDescription></GroupDescription>GEN000595The password hashes stored on the system must have been generated using a FIPS 140-2 approved cryptographic hashing algorithm.<VulnDiscussion>Systems must employ cryptographic hashes for passwords using the SHA-2 family of algorithms or FIPS 140-2 approved successors. The use of unapproved algorithms may result in weak password hashes more vulnerable to compromise.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22304SV-40790CCI-000196If the /etc/security/crypt.conf file does not support FIPS 140-2 approved cryptographic hashing algorithms, upgrade to at least the Solaris 10 8/07 release.
Edit the /etc/security/policy.conf file.
# vi /etc/security/policy.conf
Uncomment or add the CRYPT_ALGORITHMS_ALLOW line and set it to "5,6". Update the CRYPT_DEFAULT default line to be equal to 5 or 6. The following lines are acceptable.
CRYPT_ALGORITHMS_ALLOW=5,6
CRYPT_DEFAULT=6
Update passwords for all accounts with non-compliant password hashes.Determine if any password hashes stored on the system were not generated using a FIPS 140-2 approved cryptographic hashing algorithm.
Procedure:
# cut -d ':' -f2 /etc/passwd
# cut -d ':' -f2 /etc/shadow
If any password hashes are present not beginning with $5$ or $6$, this is a finding.
Verify that FIPS 140-2 approved cryptographic hashing algorithms are available.
# egrep '^[56]' /etc/security/crypt.conf
If no lines are returned, this is a finding.SRG-OS-000069<GroupDescription></GroupDescription>GEN000600The system must require passwords to contain at least one uppercase alphabetic character.<VulnDiscussion>To enforce the use of complex passwords, minimum numbers of characters of different classes are mandated. The use of complex passwords reduces the ability of attackers to successfully obtain valid passwords using guessing or exhaustive search techniques. Complexity requirements increase the password search space by requiring users to construct passwords from a larger character set than they may otherwise use.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-11948SV-27115CCI-000192Edit /etc/default/passwd and set the MINUPPER setting to at least 1.Check the MINUPPER setting.
# egrep MINUPPER /etc/default/passwd
If MINUPPER is not set to 1 or more, this is a finding.SRG-OS-000071<GroupDescription></GroupDescription>GEN000620The system must require passwords to contain at least one numeric character.<VulnDiscussion>To enforce the use of complex passwords, minimum numbers of characters of different classes are mandated. The use of complex passwords reduces the ability of attackers to successfully obtain valid passwords using guessing or exhaustive search techniques. Complexity requirements increase the password search space by requiring users to construct passwords from a larger character set than they may otherwise use.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-11972SV-27119CCI-000194Edit /etc/default/passwd and set the MINDIGIT setting to 1.Check the MINDIGIT setting.
# grep MINDIGIT /etc/default/passwd
If the MINDIGIT setting is less than 1, this is a finding.SRG-OS-000266<GroupDescription></GroupDescription>GEN000640The system must require passwords to contain at least one special character.<VulnDiscussion>To enforce the use of complex passwords, minimum numbers of characters of different classes are mandated. The use of complex passwords reduces the ability of attackers to successfully obtain valid passwords using guessing or exhaustive search techniques. Complexity requirements increase the password search space by requiring users to construct passwords from a larger character set than they may otherwise use.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-11973SV-27123CCI-001619Edit /etc/default/passwd and set MINSPECIAL to 1.Check the MINSPECIAL setting.
# grep MINSPECIAL /etc/default/passwd
If the MINSPECIAL setting is less than 1, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN000680The system must require passwords to contain no more than three consecutive repeating characters.<VulnDiscussion>To enforce the use of complex passwords, the number of consecutive repeating characters is limited. Passwords with excessive repeated characters may be more vulnerable to password-guessing attacks.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-11975SV-27126CCI-000366Edit /etc/default/passwd and set MAXREPEATS to 3.Check the MAXREPEATS setting.
# grep MAXREPEATS /etc/default/passwd
If the MAXREPEATS setting is greater than 3, this is a finding.SRG-OS-000076<GroupDescription></GroupDescription>GEN000700User passwords must be changed at least every 60 days.<VulnDiscussion>Limiting the lifespan of authenticators limits the period of time an unauthorized user has access to the system while using compromised credentials and reduces the period of time available for password-guessing attacks to run against a single password.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-11976SV-39845CCI-000199Set the max days field to 60 for all user accounts.
# passwd -x 60 <user>
Set the MAXWEEKS parameter in /etc/default/passwd to a positive, non-zero value of 8 or less.Check the max days field (the 5th field) of /etc/shadow.
# awk -F: '{print $1 ":" $5;}' /etc/shadow
If the max days field is equal to 0 or greater than 60 for any account that is not password-locked, this is a finding.SRG-OS-000076<GroupDescription></GroupDescription>GEN000740All non-interactive/automated processing account passwords must be changed at least once per year or be locked.<VulnDiscussion>Limiting the lifespan of authenticators limits the period of time an unauthorized user has access to the system while using compromised credentials and reduces the period of time available for password-guessing attacks to run against a single password. Locking the password for non-interactive and automated processing accounts is preferred as it removes the possibility of accessing the account by a password. On some systems, locking the passwords of these accounts may prevent the account from functioning properly. Passwords for non-interactive/automated processing accounts must not be used for direct logon to the system.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-11977SV-12478CCI-000199Implement or establish procedures to change the passwords of automated processing accounts at least once per year.Ask the SA if there are any automated processing accounts on the system. If there are automated processing accounts on the system, ask the SA if the passwords for those automated accounts are changed at least once a year. If SA indicates passwords for automated processing accounts are not changed once per year, this is a finding.
SRG-OS-000072<GroupDescription></GroupDescription>GEN000750The system must require at least eight characters be changed between the old and new passwords during a password change.<VulnDiscussion>To ensure password changes are effective in their goals, the system must ensure old and new passwords have significant differences. Without significant changes, new passwords may be easily guessed based on the value of a previously compromised password.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22306SV-26324CCI-000195Edit /etc/default/passwd and set or add a MINDIFF setting equal to or greater than 8.Check /etc/default/passwd to verify the MINDIFF setting.
# grep MINDIFF /etc/default/passwd
If the setting is not present, or is less than 8, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN000790The system must prevent the use of dictionary words for passwords.<VulnDiscussion>An easily guessable password provides an open door to any external or internal malicious intruder. Many computer compromises occur as the result of account name and password guessing. This is generally done by someone with an automated script using repeated logon attempts until the correct account and password pair is guessed. Utilities, such as cracklib, can be used to validate passwords are not dictionary words and meet other criteria during password changes.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22307SV-26345CCI-000366Edit /etc/default/passwd; add or set DICTIONLIST to the dictionary file and DICTIONDBDIR to a database directory such as /var/passwd. Generate the password dictionary by running the mkpwdict command.Check /etc/default/passwd for dictionary check configuration.
# grep DICTION /etc/default/passwd
If the DICTIONLIST or DICTIONDBDIR settings are not present, or are set to non-existent files or directories, this is a finding.SRG-OS-000077<GroupDescription></GroupDescription>GEN000800The system must prohibit the reuse of passwords within five iterations.<VulnDiscussion>If a user, or root, used the same password continuously or was allowed to change it back shortly after being forced to change it to something else, it would provide a potential intruder with the opportunity to keep guessing at one user's password until it was guessed correctly.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-4084SV-27132CCI-000200Edit /etc/default/passwd and set HISTORY to 5.Check the HISTORY setting.
# grep HISTORY /etc/default/passwd
If HISTORY is not set to 5 or more, this is a finding.SRG-OS-000109<GroupDescription></GroupDescription>GEN000850The system must restrict the ability to switch to the root user to members of a defined group.<VulnDiscussion>Configuring a supplemental group for users permitted to switch to the root user prevents unauthorized users from accessing the root account, even with knowledge of the root credentials.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22308SV-39876CCI-000770Convert the root user into a role.
# usermod -K type=role root
Add the root role to authorized users' logins.
# usermod -R root <userid>Verify the root user is configured as a role, rather than a normal user.
# egrep '^root:' /etc/user_attr
If the returned line does not include "type=role", this is a finding.
Verify at least one local user has been assigned the root role.
# egrep '[:;]roles=[^;]*,?root([,;]|$)' /etc/user_attr
If no lines are returned, no users are permitted to assume the root role, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN000900The root user's home directory must not be the root directory (/).<VulnDiscussion>Changing the root home directory to something other than / and assigning it a 0700 protection makes it more difficult for intruders to manipulate the system by reading the files that root places in its default directory. It also gives root the same discretionary access control for root's home directory as for the other plain user home directories.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-774SV-774CCI-000366The root home directory should be something other than / (such as /rootdir).
Procedure:
# mkdir /rootdir
# chown root /rootdir
# chgrp root /rootdir
# chmod 700 /rootdir
# cp -r /.??* /rootdir
Edit the passwd file and change the root home directory to /rootdir. The cp -r /.??* command copies all files and subdirectories of file names beginning with "." into the new root directory, which preserves the previous root environment. The cp command must be executed from the / directory.Determine if root is assigned a home directory other than / by listing its home directory.
Procedure:
# grep "^root" /etc/passwd | awk -F":" '{print $6}'
If the root user home directory is /, this is a finding.SRG-OS-000326<GroupDescription></GroupDescription>GEN000920The root account's home directory (other than /) must have mode 0700.<VulnDiscussion>Permissions greater than 0700 could allow unauthorized users access to the root home directory.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-775SV-775CCI-002233The root home directory will have permissions of 0700. Do not change the protections of the / directory. Use the following command to change protections for the root home directory.
# chmod 0700 /rootdir. Check the mode of the root home directory.
Procedure:
# grep "^root" /etc/passwd | awk -F":" '{print $6}'
# ls -ld <root home directory>
If the mode of the directory is not equal to 0700, this is a finding. If the home directory is /, this is not applicable.SRG-OS-000480<GroupDescription></GroupDescription>GEN000930The root account's home directory must not have an extended ACL.<VulnDiscussion>File system extended ACLs provide access to files beyond what is allowed by the mode numbers of the files.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22309SV-26353CCI-000366Remove the extended ACL from the directory.
# chmod A- ~rootVerify the root account's home directory has no extended ACL.
# ls -ld ~root
If the permissions include a "+", the directory has an extended ACL and this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN000940The root accounts executable search path must contain only authorized paths.<VulnDiscussion>The executable search path (typically the PATH environment variable) contains a list of directories for the shell to search to find executables. If this path includes the current working directory or other relative paths, executables in these directories may be executed instead of system commands. This variable is formatted as a colon-separated list of directories. If there is an empty entry, such as a leading or trailing colon, two consecutive colons, or a single period, this is interpreted as the current working directory. Entries starting with a slash (/) are absolute paths.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-776SV-776CCI-000366Edit the root user's local initialization files. Remove any empty path entries. Remove any relative path entries that have not been documented with the ISSO.
Edit the root user's local initialization files and remove any empty entry that is defined.
To view the root user's PATH, log in as the root user, and execute the following.
# env | grep PATH
This variable is formatted as a colon-separated list of directories.
If there is an empty entry, such as a leading or trailing colon or two consecutive colons, this is a finding.
If an entry begins with a character other than a slash (/), or has not been documented with the ISSO, this is a finding.
SRG-OS-000480<GroupDescription></GroupDescription>GEN000945The root account's library search path must be the system default and must contain only absolute paths.<VulnDiscussion>The library search path environment variable(s) contain a list of directories for the dynamic linker to search to find libraries. If this path includes the current working directory or other relative paths, libraries in these directories may be loaded instead of system libraries. This variable is formatted as a colon-separated list of directories. If there is an empty entry, such as a leading or trailing colon or two consecutive colons, this is interpreted as the current working directory. Entries starting with a slash (/) are absolute paths.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22310SV-26355CCI-000366Edit the root user initialization files and remove any definition of LD_LIBRARY_PATH.Verify the LD_LIBRARY_PATH environment variable is empty or not defined for the root user.
# echo $LD_LIBRARY_PATH
If a path list is returned, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN000950The root account's list of preloaded libraries must be empty.<VulnDiscussion>The library preload list environment variable contains a list of libraries for the dynamic linker to load before loading the libraries required by the binary. If this list contains paths to libraries relative to the current working directory, unintended libraries may be preloaded. This variable is formatted as a space-separated list of libraries. Paths starting with (/) are absolute paths.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22311SV-26357CCI-000366Edit the root user initialization files and remove any definition of LD_PRELOAD.Verify the LD_PRELOAD environment variable is empty or not defined for the root user.
# echo $LD_PRELOAD
If a path list is returned, this is a finding.SRG-OS-000109<GroupDescription></GroupDescription>GEN000980The system must prevent the root account from directly logging in except from the system console.<VulnDiscussion>Limiting the root account direct logins to only system consoles protects the root account from direct unauthorized access from a non-console device.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-778SV-27143CCI-000770Edit the /etc/default/login file and uncomment the line containing /dev/console if it is commented out.Check the CONSOLE setting in /etc/default/login
# grep CONSOLE /etc/default/login
If CONSOLE is set to a value other than /dev/console, this is a finding.SRG-OS-000297<GroupDescription></GroupDescription>GEN001000Remote consoles must be disabled or protected from unauthorized access.<VulnDiscussion>The remote console feature provides an additional means of access to the system which could allow unauthorized access if not disabled or properly secured. With virtualization technologies, remote console access is essential as there is no physical console for virtual machines. Remote console access must be protected in the same manner as any other remote privileged access method.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-4298SV-27147CCI-002314Remove each auxiliary console.
# consadm -d <console device>Verify no auxiliary consoles are defined.
# consadm -p
If any output is generated, this is a finding.SRG-OS-000109<GroupDescription></GroupDescription>GEN001020The root account must not be used for direct logins.<VulnDiscussion>Direct login with the root account prevents individual user accountability. Acceptable non-routine uses of the root account for direct login are limited to emergency maintenance, the use of single-user mode for maintenance, and situations where individual administrator accounts are not available.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-11979SV-39848CCI-000770Convert the root user into a role.
# usermod -K type=role root
Add the root role to authorized users' logins.
# usermod -R root <userid>Check if the root is used for direct logins.
Procedure:
# last root | grep -v reboot
If any direct login records for root exist, this is a finding.
Verify the root user is configured as a role, rather than a normal user.
Procedure:
# egrep '^root:' /etc/user_attr
If the returned line does not include "type=role", this is a finding.
SRG-OS-000062<GroupDescription></GroupDescription>GEN001060The system must log successful and unsuccessful access to the root account.<VulnDiscussion>If successful and unsuccessful logins and logouts are not monitored or recorded, access attempts cannot be tracked. Without this logging, it may be impossible to track unauthorized access to the system.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-11980SV-39850CCI-000169Update /etc/default/su and set SYSLOG=YES.
Ensure /etc/syslog.conf is configured to log auth.crit messages to capture all failed su attempts.Check the following log files to determine if access to the root account is being logged. Try to su - and enter an incorrect password.
# more /var/adm/sulog
If root login accounts are not being logged, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN001080The root shell must be located in the / file system.<VulnDiscussion>To ensure the root shell is available in repair and administrative modes, the root shell must be located in the / file system.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-1062SV-27157CCI-000366Change the root account's shell to one present on the / filesystem. Example:
# usermod -s /sbin/sh rootPerform the following to determine if /usr is partitioned.
# grep /usr /etc/vfstab
If /usr is partitioned, check the location of root's default shell.
# awk -F: '$1 == "root" {print $7}' /etc/passwd
If the root shell is found to be on a partitioned /usr filesystem or is in a directory symlinked to a partitioned /usr filesystem, even if the actual root shell is a symlink back to the root filesystem, this is a finding.SRG-OS-000074<GroupDescription></GroupDescription>GEN001100Root passwords must never be passed over a network in clear text form.<VulnDiscussion>If a user accesses the root account (or any account) using an unencrypted connection, the password is passed over the network in clear text form and is subject to interception and misuse. This is true even if recommended procedures are followed by logging on to a named account and using the su command to access root.
Satisfies: SRG-OS-000074, SRG-OS-000520</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-1046SV-1046CCI-000197Enable SSH on the system and use it for all remote connections used to attain root access.Determine if root has logged in over an unencrypted network connection.
First, determine if root has logged in over a network.
Procedure:
# last | grep "^root " | egrep -v "reboot|console" | more
Next, determine if the SSH daemon is running.
Procedure:
# ps -ef |grep sshd
If root has logged in over the network and SSHD is not running, this is a finding.
SRG-OS-000109<GroupDescription></GroupDescription>GEN001120The system must not permit root logins using remote access programs such as SSH.
<VulnDiscussion>Even though communications are encrypted, an additional layer of security may be gained by extending the policy of not logging directly on as root. In addition, logging in with a user-specific account preserves the audit trail.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-1047SV-39811CCI-000770Edit the configuration file and set the PermitRootLogin option to no. Determine if the SSH daemon is configured to permit root logins.
Procedure:
# grep -v "^#" /etc/ssh/sshd_config | grep -i permitrootlogin
If the PermitRootLogin entry is not found or is not set to "no", this is a finding.SRG-OS-000312<GroupDescription></GroupDescription>GEN001140System files and directories must not have uneven access permissions.<VulnDiscussion>Discretionary access control is undermined if users, other than a file owner, have greater access permissions to system files and directories than the owner.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-784SV-39833CCI-002165Change the mode of files with uneven permissions so owners do not have less permission than group or world users. Check system directories for uneven file permissions.
Procedure:
# ls -lL /etc /bin /usr/bin /usr/ucb /sbin /usr/sbin
Uneven file permissions exist if the file owner has less permissions than the group or other user classes. If any of the files in the above listed directories contain uneven file permissions, this is a finding. SRG-OS-000480<GroupDescription></GroupDescription>GEN001160All files and directories must have a valid owner.<VulnDiscussion>Unowned files and directories may be unintentionally inherited if a user is assigned the same UID as the UID of the unowned files.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-785SV-785CCI-000366All directories and files (executable and data) will have an identifiable owner and group name. Either trace files to an authorized user, change the file's owner to root, or delete them. Determine the legitimate owner of the files and use the chown command to set the owner and group to the correct value. If the legitimate owner cannot be determined, change the owner to root (but make sure none of the changed files remain executable because they could be Trojan horses or other malicious code). Examine the files to determine their origin and the reason for their lack of an owner/group.Check the system for files with no assigned owner.
Procedure:
# find / -nouser -print
If any files have no assigned owner, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN001170All files and directories must have a valid group-owner.<VulnDiscussion>Files without a valid group-owner may be unintentionally inherited if a group is assigned the same GID as the GID of the files without a valid group-owner.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22312SV-26358CCI-000366Change the group owner for each file without a valid group owner.
# chgrp <a-valid-group> /tmp/a-file-without-a-valid-group-owner Search the system for files without a valid group-owner.
# find / -nogroup -print
If any files are found, this is a finding.SRG-OS-000312<GroupDescription></GroupDescription>GEN001180All network services daemon files must have mode 0755 or less permissive.<VulnDiscussion>Restricting permission on daemons will protect them from unauthorized modification and possible system compromise.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-786SV-27161CCI-002165Change the mode of the network services daemon.
# chmod 0755 <path>Check the mode of network services daemons.
# ls -la /usr/bin /usr/sbin
If the mode of a network services daemon is more permissive than 0755, this is a finding.
NOTE: Network daemons not residing in these directories (such as httpd or sshd) must also be checked for the correct permissions.
A way to locate network daemons, such as httpd and sshd, is with the ps command.
# ps -ef | egrep '(sshd|httpd)'SRG-OS-000480<GroupDescription></GroupDescription>GEN001190All network services daemon files must not have extended ACLs.<VulnDiscussion>Restricting permission on daemons will protect them from unauthorized modification and possible system compromise.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22313SV-26361CCI-000366Remove the extended ACL from the file.
# chmod A- [file with extended ACL]Verify network services daemon files have no extended ACLs.
# ls -la /usr/sbin
# ls -la /usr/bin
If the permissions include a "+", the file has an extended ACL and this is a finding.
NOTE: Network daemons not residing in these directories (such as httpd or sshd) must also be checked for the correct permissions.
A way to locate network daemons, such as httpd and sshd, is with the ps command.
# ps -ef | egrep '(sshd|httpd)'SRG-OS-000259<GroupDescription></GroupDescription>GEN001200All system command files must have mode 755 or less permissive.<VulnDiscussion>Restricting permissions will protect system command files from unauthorized modification. System command files include files present in directories used by the operating system for storing default system executables and files present in directories included in the system's default executable search paths.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-794SV-794CCI-001499Change the mode for system command files to 755 or less permissive.
Procedure:
# chmod 755 <filename> Check the permissions for files in /etc, /bin, /usr/bin, /usr/lbin, /usr/ucb, /sbin, and /usr/sbin.
Procedure:
# ls -lL /etc /bin /usr/bin /usr/lbin /usr/ucb /sbin /usr/sbin
If any command file is listed and has a mode more permissive than 755, this is a finding.
Note: Elevate to Severity Code I if any command file listed is world-writable.SRG-OS-000259<GroupDescription></GroupDescription>GEN001210All system command files must not have extended ACLs.<VulnDiscussion>Restricting permissions will protect system command files from unauthorized modification. System command files include files present in directories used by the operating system for storing default system executables and files present in directories included in the system's default executable search paths.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22314SV-26365CCI-001499Remove the extended ACL from the file.
# chmod A- [file with extended ACL]Verify all system command files have no extended ACLs.
# ls -lL /etc /bin /usr/bin /usr/lbin /usr/ucb /sbin /usr/sbin
If the permissions include a "+", the file has an extended ACL, this is a finding.SRG-OS-000259<GroupDescription></GroupDescription>GEN001220All system files, programs, and directories must be owned by a system account.<VulnDiscussion>Restricting permissions will protect the files from unauthorized modification.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-795SV-795CCI-001499Change the owner of system files, programs, and directories to a system account.
Procedure:
# chown root /some/system/file
(A different system user may be used in place of root.) Check the ownership of system files, programs, and directories.
Procedure:
# ls -lLa /etc /bin /usr/bin /usr/lbin /usr/ucb /sbin /usr/sbin
If any of the system files, programs, or directories are not owned by a system account, this is a finding.SRG-OS-000259<GroupDescription></GroupDescription>GEN001240System files, programs, and directories must be group-owned by a system group.<VulnDiscussion>Restricting permissions will protect the files from unauthorized modification.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-796SV-796CCI-001499Change the group owner of system files to a system group.
Procedure:
# chgrp root /path/to/system/file
(System groups other than root may be used.) Check the group ownership of system files, programs, and directories.
Procedure:
# ls -lLa /etc /bin /usr/bin /usr/lbin /usr/ucb /sbin /usr/sbin
If any system file, program, or directory is not group-owned by a system group, this is a finding.SRG-OS-000206<GroupDescription></GroupDescription>GEN001260System log files must have mode 0640 or less permissive.<VulnDiscussion>If the system log files are not protected, unauthorized users could change the logged data, eliminating its forensic value.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-787SV-39832CCI-001314Change the mode of the system log file(s) to 0640 or less permissive.
Procedure:
# chmod "0640" /path/to/system-log-file
NOTE: Do not confuse system log files with audit logs. Any subsystems that require less stringent permissions must be documented.Check the mode of log file hierarchies.
Procedure:
# ls -lLRa /var/log /var/adm
If any of the log files or their directories have modes more permissive than "0640", and these are not documented, this is a finding.SRG-OS-000206<GroupDescription></GroupDescription>GEN001270System log files must not have extended ACLs, except as needed to support authorized software.<VulnDiscussion>If the system log files are not protected, unauthorized users could change the logged data, eliminating its forensic value. Authorized software may be given log file access through the use of extended ACLs when needed and configured to provide the least privileges required.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22315SV-26369CCI-001314Remove the extended ACL from the file.
# chmod A- [file with extended ACL]Verify all system log files have no extended ACLs.
Procedure:
# ls -lL /var/adm
If the permissions include a "+", the file has an extended ACL. If an extended ACL exists, verify with the SA if the ACL is required to support authorized software and provides the minimum necessary permissions. If an extended ACL exists that provides access beyond the needs of authorized software, this is a finding.SRG-OS-000312<GroupDescription></GroupDescription>GEN001280Manual page files must have mode 0655 or less permissive.<VulnDiscussion>If manual pages are compromised, misleading information could be inserted, causing actions that may compromise the system.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-792SV-39835CCI-002165Change the mode of manual page files to 0655 or less permissive.
Procedure (example):
# chmod 0655 <path>/<manpage>Check the mode of the manual page files.
Procedure:
# ls -lLR /usr/share/man /usr/sfw/share/man /usr/sfw/man
If any of the manual page files have a mode more permissive than 0655, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN001290All manual page files must not have extended ACLs.<VulnDiscussion>If manual pages are compromised, misleading information could be inserted, causing actions that may compromise the system.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22316SV-26373CCI-000366Remove the extended ACL from the file.
# chmod A- [file with extended ACL]Verify all manual page files have no extended ACLs. Check environment variable $MANPATH for full list of manpage locations.
# echo $MANPATH
Check for ACLs, note only a partial list is presented below.
# ls -lLR /usr/share/man /usr/sfw/man /usr/sfw/share/man
If the permissions include a "+", the file has an extended ACL and this is a finding.SRG-OS-000259<GroupDescription></GroupDescription>GEN001310All library files must not have extended ACLs.<VulnDiscussion>Unauthorized access could destroy the integrity of the library files.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22317SV-26377CCI-001499Remove the extended ACL from the file.
# chmod A- [file with extended ACL]Verify system libraries have no extended ACLs.
# ls -lL /usr/lib/* /lib/* /usr/sfw/lib
If the permissions include a "+", the file has an extended ACL and this is a finding.
SRG-OS-000312<GroupDescription></GroupDescription>GEN001320NIS/NIS+/yp files must be owned by root, sys, or bin.<VulnDiscussion>NIS/NIS+/yp files are part of the system's identification and authentication processes and are, therefore, critical to system security. Failure to give ownership of sensitive files or utilities to root or bin provides the designated owner and unauthorized users with the potential to access sensitive information or change the system configuration which could weaken the system's security posture.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-789SV-27166CCI-002165Change the ownership of NIS/NIS+/yp files to root, bin, or sys.
Procedure:
# chown -R root /usr/lib/netsvc/yp /var/ypPerform the following to check NIS file ownership.
# ls -lRa /usr/lib/netsvc/yp /var/yp
If the file ownership is not root, sys, or bin, this is a finding.SRG-OS-000312<GroupDescription></GroupDescription>GEN001340NIS/NIS+/yp files must be group-owned by root, sys, or bin.<VulnDiscussion>NIS/NIS+/yp files are part of the system's identification and authentication processes and are, therefore, critical to system security. Failure to give ownership of sensitive files or utilities to root or bin provides the designated owner and unauthorized users with the potential to access sensitive information or change the system configuration which could weaken the system's security posture.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-790SV-27171CCI-002165Change the group owner of the NIS files to root, bin, or sys.
Procedure:
# chgrp -R root /usr/lib/netsvc/yp /var/ypPerform the following to check NIS file ownership.
# ls -lRa /usr/lib/netsvc/yp /var/yp
If the file group owner is not root, sys, or bin, this is a finding.SRG-OS-000312<GroupDescription></GroupDescription>GEN001360The NIS/NIS+/yp command files must have mode 0755 or less permissive.<VulnDiscussion>NIS/NIS+/yp files are part of the system's identification and authentication processes and are, therefore, critical to system security. Unauthorized modification of these files could compromise these processes and the system.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-791SV-27175CCI-002165Change the mode of NIS/NIS+/yp command files to 0755 or less permissive.
Procedure:
# chmod -R 0755 /usr/lib/netsvc/yp /var/ypPerform the following to check NIS file mode.
# ls -lRa /usr/lib/netsvc/yp /var/yp
If the file's mode is more permissive than 0755, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN001361NIS/NIS+/yp command files must not have extended ACLs.<VulnDiscussion>NIS/NIS+/yp files are part of the system's identification and authentication processes and are, therefore, critical to system security. ACLs on these files could result in unauthorized modification, which could compromise these processes and the system. </VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22318SV-26388CCI-000366Remove the extended ACL from the directory and files.
# chmod -R A- /usr/lib/netsvc/yp /var/ypVerify NIS/NIS+/yp files have no extended ACLs.
# ls -lLRa /usr/lib/netsvc/yp /var/yp
If the permissions include a "+", the file has an extended ACL and this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN001362The /etc/resolv.conf file must be owned by root.<VulnDiscussion>The resolv.conf (or equivalent) file configures the system's DNS resolver. DNS is used to resolve host names to IP addresses. If DNS configuration is modified maliciously, host name resolution may fail or return incorrect information. DNS may be used by a variety of system security functions, such as time synchronization, centralized authentication, and remote system logging.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22319SV-26395CCI-000366Change the owner of the /etc/resolv.conf file to root.
# chown root /etc/resolv.confVerify the /etc/resolv.conf file is owned by root.
Procedure:
# ls -l /etc/resolv.conf
If the file is not owned by root, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN001363The /etc/resolv.conf file must be group-owned by root, bin, or sys.<VulnDiscussion>The resolv.conf (or equivalent) file configures the system's DNS resolver. DNS is used to resolve host names to IP addresses. If DNS configuration is modified maliciously, host name resolution may fail or return incorrect information. DNS may be used by a variety of system security functions such as time synchronization, centralized authentication, and remote system logging.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22320SV-39894CCI-000366Change the group owner of the /etc/resolv.conf file to root, bin, or sys.
Procedure:
# chgrp root /etc/resolv.confCheck the group ownership of the resolv.conf file.
Procedure:
# ls -lL /etc/resolv.conf
If the file is not group owned by root, bin, or sys, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN001364The /etc/resolv.conf file must have mode 0644 or less permissive.
<VulnDiscussion>The resolv.conf (or equivalent) file configures the system's DNS resolver. DNS is used to resolve host names to IP addresses. If DNS configuration is modified maliciously, host name resolution may fail or return incorrect information. DNS may be used by a variety of system security functions, such as time synchronization, centralized authentication, and remote system logging.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22321SV-26397CCI-000366Change the mode of the /etc/resolv.conf file to 0644 or less permissive.
# chmod 0644 /etc/resolv.confCheck the mode of the /etc/resolv.conf file.
Procedure:
# ls -l /etc/resolv.conf
If the file mode is more permissive than 0644, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN001365The /etc/resolv.conf file must not have an extended ACL.<VulnDiscussion>The resolv.conf (or equivalent) file configures the system's DNS resolver. DNS is used to resolve host names to IP addresses. If DNS configuration is modified maliciously, host name resolution may fail or return incorrect information. DNS may be used by a variety of system security functions such as time synchronization, centralized authentication, and remote system logging.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22322SV-26402CCI-000366Remove the extended ACL from the file.
# chmod A- /etc/resolv.confVerify /etc/resolv.conf has no extended ACL.
# ls -l /etc/resolv.conf
If the permissions include a "+", the file has an extended ACL, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN001366The /etc/hosts file must be owned by root.<VulnDiscussion>The /etc/hosts file (or equivalent) configures local host name to IP address mappings that typically take precedence over DNS resolution. If this file is maliciously modified, it could cause the failure or compromise of security functions requiring name resolution, which may include time synchronization, centralized authentication, and remote system logging.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22323SV-26410CCI-000366Change the owner of the /etc/hosts file to root.
# chown root /etc/hostsVerify the /etc/hosts file is owned by root.
Procedure:
# ls -lL /etc/hosts
If the file is not owned by root, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN001367The /etc/hosts file must be group-owned by root, bin, or sys.<VulnDiscussion>The /etc/hosts file (or equivalent) configures local host name to IP address mappings that typically take precedence over DNS resolution. If this file is maliciously modified, it could cause the failure or compromise of security functions requiring name resolution, which may include time synchronization, centralized authentication, and remote system logging.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22324SV-39896CCI-000366Change the group owner of the /etc/hosts file to root, sys, or bin.
Procedure:
# chgrp root /etc/hostsCheck the /etc/hosts file's group ownership.
Procedure:
# ls -lL /etc/hosts
If the file is not group-owned by root, bin, or sys, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN001368The /etc/hosts file must have mode 0644 or less permissive.<VulnDiscussion>The /etc/hosts file (or equivalent) configures local host name to IP address mappings that typically take precedence over DNS resolution. If this file is maliciously modified, it could cause the failure or compromise of security functions requiring name resolution, which may include time synchronization, centralized authentication, and remote system logging.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22325SV-26412CCI-000366Change the mode of the /etc/hosts file to 0644 or less permissive.
# chmod 0644 /etc/hostsCheck the mode of the /etc/hosts file.
Procedure:
# ls -l /etc/hosts
If the file mode is more permissive than 0644, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN001369The /etc/hosts file must not have an extended ACL.<VulnDiscussion>The /etc/hosts file (or equivalent) configures local host name to IP address mappings that typically take precedence over DNS resolution. If this file is maliciously modified, it could cause the failure or compromise of security functions requiring name resolution, which may include time synchronization, centralized authentication, and remote system logging.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22326SV-26415CCI-000366Remove the extended ACL from the file.
# chmod A- /etc/hostsVerify /etc/hosts has no extended ACL.
# ls -lL /etc/hosts
If the permissions include a "+", the file has an extended ACL and this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN001371The /etc/nsswitch.conf file must be owned by root.<VulnDiscussion>The nsswitch.conf file (or equivalent) configures the source of a variety of system security information including account, group, and host lookups. Malicious changes could prevent the system from functioning or compromise system security.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22327SV-26417CCI-000366Change the owner of the /etc/nsswitch.conf file to root.
# chown root /etc/nsswitch.confVerify the /etc/nsswitch.conf file is owned by root.
Procedure:
# ls -l /etc/nsswitch.conf
If the file is not owned by root, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN001372The /etc/nsswitch.conf file must be group-owned by root, bin, or sys.<VulnDiscussion>The nsswitch.conf file (or equivalent) configures the source of a variety of system security information including account, group, and host lookups. Malicious changes could prevent the system from functioning or compromise system security.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22328SV-39897CCI-000366Change the group owner of the /etc/nsswitch.conf file to root, bin, or sys.
Procedure:
# chgrp root /etc/nsswitch.confCheck the group ownership of the nsswitch.conf file.
Procedure:
# ls -lL /etc/nsswitch.conf
If the file is not group-owned by root, bin, or sys, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN001373The /etc/nsswitch.conf file must have mode 0644 or less permissive.<VulnDiscussion>The nsswitch.conf file (or equivalent) configures the source of a variety of system security information including account, group, and host lookups. Malicious changes could prevent the system from functioning or compromise system security.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22329SV-26419CCI-000366Change the mode of the /etc/nsswitch.conf file to 0644 or less permissive.
Procedure:
# chmod 0644 /etc/nsswitch.confCheck the mode of the /etc/nsswitch.conf file.
Procedure:
# ls -l /etc/nsswitch.conf
If the file mode is more permissive than 0644, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN001374The /etc/nsswitch.conf file must not have an extended ACL.<VulnDiscussion>The nsswitch.conf file (or equivalent) configures the source of a variety of system security information including account, group, and host lookups. Malicious changes could prevent the system from functioning or compromise system security.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22330SV-26422CCI-000366Remove the extended ACL from the file.
# chmod A- /etc/nsswitch.confVerify /etc/nsswitch.conf has no extended ACL.
Procedure:
# ls -l /etc/nsswitch.conf
If the permissions include a "+", the file has an extended ACL and this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN001378The /etc/passwd file must be owned by root.<VulnDiscussion>The /etc/passwd file contains the list of local system accounts. It is vital to system security and must be protected from unauthorized modification.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22332SV-26425CCI-000366Change the owner of the /etc/passwd file to root.
# chown root /etc/passwdVerify the /etc/passwd file is owned by root.
Procedure:
# ls -l /etc/passwd
If the file is not owned by root, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN001379The /etc/passwd file must be group-owned by root, bin, or sys.<VulnDiscussion>The /etc/passwd file contains the list of local system accounts. It is vital to system security and must be protected from unauthorized modification.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22333SV-39898CCI-000366Change the group owner of the /etc/passwd file to root, bin, or sys.
Procedure:
# chgrp root /etc/passwdCheck the group ownership of the passwd file.
Procedure:
# ls -lL /etc/passwd
If the file is not group-owned by root, bin, or sys, this is a finding.SRG-OS-000312<GroupDescription></GroupDescription>GEN001380The /etc/passwd file must have mode 0644 or less permissive.<VulnDiscussion>If the password file is writable by a group owner or the world, the risk of password file compromise is increased. The password file contains the list of accounts on the system and associated information.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-798SV-798CCI-002165Change the mode of the passwd file to 0644.
Procedure:
# chmod 0644 /etc/passwd
Document all changes.Check the mode of the /etc/passwd file.
Procedure:
# ls -lL /etc/passwd
If /etc/passwd has a mode more permissive than 0644, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN001390The /etc/passwd file must not have an extended ACL.<VulnDiscussion>File system ACLs can provide access to files beyond what is allowed by the mode numbers of the files. The /etc/passwd file contains the list of local system accounts. It is vital to system security and must be protected from unauthorized modification.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22334SV-26429CCI-000366Remove the extended ACL from the file.
# chmod A- /etc/passwd
Verify /etc/passwd has no extended ACL.
# ls -l /etc/passwd
If the permissions include a "+", the file has an extended ACL, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN001391The /etc/group file must be owned by root.<VulnDiscussion>The /etc/group file is critical to system security and must be owned by a privileged user. The group file contains a list of system groups and associated information.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22335SV-26431CCI-000366Change the owner of the /etc/group file to root.
# chown root /etc/groupVerify the /etc/group file is owned by root.
Procedure:
# ls -l /etc/group
If the file is not owned by root, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN001392The /etc/group file must be group-owned by root, bin, or sys.<VulnDiscussion>The /etc/group file is critical to system security and must be protected from unauthorized modification. The group file contains a list of system groups and associated information.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22336SV-39899CCI-000366Change the group owner of the /etc/group file.
Procedure:
# chgrp root /etc/groupCheck the group ownership of the /etc/group file.
Procedure:
# ls -lL /etc/group
If the file is not group-owned by root, bin, or sys, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN001393The /etc/group file must have mode 0644 or less permissive.<VulnDiscussion>The /etc/group file is critical to system security and must be protected from unauthorized modification. The group file contains a list of system groups and associated information.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22337SV-26433CCI-000366Change the mode of the /etc/group file to 0644 or less permissive.
# chmod 0644 /etc/groupCheck the mode of the /etc/group file.
Procedure:
# ls -l /etc/group
If the file mode is more permissive than 0644, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN001394The /etc/group file must not have an extended ACL.<VulnDiscussion>The /etc/group file is critical to system security and must be protected from unauthorized modification. The group file contains a list of system groups and associated information.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22338SV-26436CCI-000366Remove the extended ACL from the file.
# chmod A- /etc/groupVerify /etc/group has no extended ACL.
# ls -l /etc/group
If the permissions include a "+", the file has an extended ACL and this is a finding.SRG-OS-000312<GroupDescription></GroupDescription>GEN001400The /etc/shadow (or equivalent) file must be owned by root.<VulnDiscussion>The /etc/shadow file contains the list of local system accounts. It is vital to system security and must be protected from unauthorized modification. Failure to give ownership of sensitive files or utilities to root provides the designated owner and unauthorized users with the potential to access sensitive information or change the system configuration which could weaken the system's security posture.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-797SV-39826CCI-002165Change the ownership of the /etc/shadow file.
# chown root /etc/shadowCheck the ownership of the /etc/shadow file.
# ls -lL /etc/shadow
If the /etc/shadow file is not owned by root, this is a finding.
SRG-OS-000480<GroupDescription></GroupDescription>GEN001410The /etc/shadow file (or equivalent) must be group-owned by root, bin, or sys.<VulnDiscussion>The /etc/shadow file contains the list of local system accounts. It is vital to system security and must be protected from unauthorized modification. The file also contains password hashes which must not be accessible to users other than root.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22339SV-39900CCI-000366Change the group owner of the /etc/shadow file.
Procedure:
# chgrp root /etc/shadowCheck the ownership of the /etc/shadow file.
Procedure:
# ls -lL /etc/shadow
If the file is not group-owned by root, bin, or sys, this is a finding.SRG-OS-000312<GroupDescription></GroupDescription>GEN001420The /etc/shadow (or equivalent) file must have mode 0400.<VulnDiscussion>The /etc/shadow file contains the list of local system accounts. It is vital to system security and must be protected from unauthorized modification. The file also contains password hashes which must not be accessible to users other than root.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-800SV-800CCI-002165Change the mode of the /etc/shadow (or equivalent) file.
# chmod <mode> <file>Check the mode of the /etc/shadow file.
# ls -lL /etc/shadow
If the /etc/shadow file has a mode more permissive than 0400, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN001430The /etc/shadow file must not have an extended ACL.
<VulnDiscussion>The /etc/shadow file contains the list of local system accounts. It is vital to system security and must be protected from unauthorized modification. The file also contains password hashes which must not be accessible to users other than root.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22340SV-26440CCI-000366Remove the extended ACL from the file.
# chmod A- /etc/shadowVerify /etc/shadow has no extended ACL.
# ls -lL /etc/shadow
If the permissions include a '+', the file has an extended ACL and this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN001440All interactive users must be assigned a home directory in the /etc/passwd file.<VulnDiscussion>If users do not have a valid home directory, there is no place for the storage and control of files they own.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-899SV-27184CCI-000366Assign a home directory to any user without one. Use pwck to verify home directory assignments are present.
# pwck
If any user is not assigned a home directory, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN001460All interactive user home directories defined in the /etc/passwd file must exist.<VulnDiscussion>If a user has a home directory defined that does not exist, the user may be given the / directory, by default, as the current working directory upon logon. This could create a Denial of Service because the user would not be able to perform useful tasks in this location.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-900SV-27192CCI-000366If a user has no home directory, determine why. If possible, delete accounts that have no home directory. If the account is valid, then create the home directory using the appropriate system administration utility or manually.
For instance: mkdir directoryname; copy the skeleton files into the directory; chown accountname for the new directory and the skeleton files. Document all changes.
Update the sixth field in the /etc/passwd file to reflect the user's home directory.
# usermod -d
OR
# vi /etc/passwdUse pwck to verify assigned home directories exist.
# pwck
If any user's assigned home directory does not exist, this is a finding.
SRG-OS-000073<GroupDescription></GroupDescription>GEN001470The /etc/passwd file must not contain password hashes.<VulnDiscussion>If password hashes are readable by non-administrators, the passwords are subject to attack through lookup tables or cryptographic weaknesses in the hashes.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22347SV-26467CCI-000196Migrate /etc/passwd password hashes to /etc/shadow.
# pwconv Verify no password hashes are present in /etc/passwd.
# cut -d : -f 2 /etc/passwd | grep -v '^x$'
If any password hashes are returned, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN001475The /etc/group file must not contain any group password hashes.<VulnDiscussion>Group passwords are typically shared and should not be used. Additionally, if password hashes are readable by non-administrators, the passwords are subject to attack through lookup tables or cryptographic weaknesses in the hashes.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22348SV-26447CCI-000366Edit /etc/group and change the password field to an exclamation point (!) to lock the group password.Check the /etc/group file for password hashes.
Procedure:
# cut -d : -f 2 /etc/group | egrep -v '^(x|!)$'
If any password hashes are returned, this is a finding.
If no password hashes are returned, there is no finding.SRG-OS-000312<GroupDescription></GroupDescription>GEN001480All users' home directories must have mode 0750 or less permissive.<VulnDiscussion>Excessive permissions on home directories allow unauthorized access to user's files.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-901SV-901CCI-002165Change the mode of users' home directories to 0750 or less permissive.
Procedure (example):
# chmod 0750 <home directory>Check the home directory mode of each user in /etc/passwd.
Procedure:
# cut -d : -f 6 /etc/passwd | xargs -n1 ls -ld | more
If a user's home directory's mode is more permissive than 0750, this is a finding.
NOTE: Application directories are allowed and may need 0755 permissions (or greater) for correct operation.SRG-OS-000480<GroupDescription></GroupDescription>GEN001490User's home directories must not have extended ACLs.<VulnDiscussion>Excessive permissions on home directories allow unauthorized access to user's files.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22350SV-26451CCI-000366Remove the extended ACL from the file.
# chmod A- [user home directory with extended ACL]Verify user's home directories have no extended ACLs.
# cut -d : -f 6 /etc/passwd | xargs -n1 ls -ld
If the permissions include a "+", the file has an extended ACL, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN001540All files and directories contained in interactive user's home directories must be owned by the home directory's owner.<VulnDiscussion>If users do not own the files in their directories, unauthorized users may be able to access them. Additionally, if files are not owned by the user, this could be an indication of system compromise.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-914SV-39836CCI-000366Change the ownership of files and directories in user's home directories to the owner of the home directory.
Procedure:
# chown accountowner filename
OR
# find /<usershomedirectory> ! -fstype nfs ! -user <username> ! /( -name .login -o -name .cshrc -o -name .logout -o -name .profile -o -name .bash_profile -o -name .bashrc -o -name .env -o -name .dtprofile -o -name .dispatch -o -name .emacs -o -name .exrc \) -exec chown <username> {} \;For each user in the /etc/passwd file, check for the presence of files and directories within the user's home directory not owned by the home directory owner or root.
Procedure:
# cut -d : -f 6 /etc/passwd | xargs -n1 -IDIR ls -alLR DIR | more
OR
# find /<usershomedirectory> ! -fstype nfs ! -user <username> -exec ls -ld {} \; | more
If user's home directories contain files or directories not owned by the home directory owner or root, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN001550All files and directories contained in user home directories must be group-owned by a group of which the home directory's owner is a member.<VulnDiscussion>If a user's files are group-owned by a group of which the user is not a member, unintended users may be able to access them.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22351SV-39877CCI-000366Change the group of a file not group-owned by a group where the home directory's owner is a member.
# chgrp < user's primary group > <file with bad group ownership >Check the contents of user home directories for files group-owned by a group of which the home directory's owner is not a member.
1. List the user accounts.
# cut -d : -f 1/etc/passwd
2. For each user account, get a list of GIDs for files in the user's home directory.
# find < users home directory > -exec ls -lLd \;
3. Obtain the list of GIDs associated with the user's account.
# id < user name >
4. Check the GID lists. If there are GIDs in the file list not present in the user list, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN001560All files and directories contained in user's home directories must have mode 0750 or less permissive.<VulnDiscussion>Excessive permissions allow unauthorized access to user's files.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-915SV-39840CCI-000366Change the mode of files and directories within user's home directories to 0750.
Procedure:
# chmod 0750 filename
Document all changes. For each user in the /etc/passwd file, check for files and directories with a mode more permissive than 0750.
Procedure:
# find /<usershomedirectory> ! -fstype nfs \( -perm -0001 -o -perm -0002 -o -perm -0004 -o -perm -0020 -o -perm -2000 -o -perm -4000 \) -exec ls -ld {} \;
If user's home directories contain files or directories more permissive than 0750, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN001570All files and directories contained in user home directories must not have extended ACLs.<VulnDiscussion>Excessive permissions allow unauthorized access to user files.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22352SV-26456CCI-000366Remove the extended ACL from the file.
# chmod A- [user file with extended ACL]Check the contents of interactive user's home directories (99 < UID < 60000) for files with extended ACLs.
# ls -alLR < users home dir >
If the permissions include a "+", the file has an extended ACL and this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN001580All run control scripts must have mode 0755 or less permissive.<VulnDiscussion>If the startup files are writable by other users, they could modify the startup files to insert malicious commands into the startup files.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-906SV-27199CCI-000366Ensure all system startup files have mode 0755 or less permissive. Examine the rc files, and all files in the rc1.d (rc2.d, and so on) directories, and in the /etc/init.d and /lib/svc/method directories to ensure they are not world-writable. If they are world-writable, use the chmod command to correct the vulnerability and to research why.
Procedure:
# chmod go-w <startupfile>Check run control script modes.
# ls -lL /etc/rc* /etc/init.d /lib/svc/method
If any run control script has a mode more permissive than 0755, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN001590All run control scripts must have no extended ACLs.<VulnDiscussion>If the startup files are writable by other users, they could modify the startup files to insert malicious commands into the startup files.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22353SV-26460CCI-000366Remove the extended ACL from the file.
# chmod A- [run control script with extended ACL]Verify run control scripts have no extended ACLs.
# ls -lL /etc/rc* /etc/init.d
If the permissions include a "+", the file has an extended ACL and this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN001600Run control scripts executable search paths must contain only authorized paths.<VulnDiscussion>The executable search path (typically the PATH environment variable) contains a list of directories for the shell to search to find executables. If this path includes the current working directory or other relative paths, executables in these directories may be executed instead of system commands. This variable is formatted as a colon-separated list of directories. If there is an empty entry, such as a leading or trailing colon, two consecutive colons, or a single period, this is interpreted as the current working directory. Paths starting with a slash (/) are absolute paths.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-907SV-39837CCI-000366Edit the run control script and remove the relative path entries from the executable search path variable that are not documented with the ISSO.
Edit the run control script and remove any empty entry that is defined.
Verify run control scripts' executable search paths.
Procedure:
# find /etc/rc* /etc/init.d /lib/svc/method -type f -print | xargs grep -w PATH
This variable is formatted as a colon-separated list of directories.
Relative path entries must be document with the ISSO.
If there is an empty entry, such as a leading or trailing colon or two consecutive colons, this is a finding.
If an entry begins with a character other than a slash (/), or has not been documented with the ISSO, this is a finding.
SRG-OS-000480<GroupDescription></GroupDescription>GEN001605Run control scripts lists of preloaded libraries must contain only authorized paths.<VulnDiscussion>The library preload list environment variable contains a list of libraries for the dynamic linker to load before loading the libraries required by the binary. If this list contains paths to libraries to the current working directory that have not been authorized, unintended libraries may be preloaded. This variable is formatted as a space-separated list of libraries. Paths starting with a slash (/) are absolute paths.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22354SV-26462CCI-000366Edit the run control script and remove the relative path entry from the library preload variables that are not documented with the ISSO.
Edit the run control script and remove any empty entry that is defined.
Verify run control scripts' library preload list.
Procedure:
# find /etc/rc* /etc/init.d -type f -print | xargs grep LD_PRELOAD
This variable is formatted as a colon-separated list of paths.
If there is an empty entry, such as a leading or trailing colon, or two consecutive colons, this is a finding.
If an entry begins with a character other than a slash (/), or has not been documented with the ISSO, this is a finding.
SRG-OS-000480<GroupDescription></GroupDescription>GEN001610Run control scripts lists of preloaded libraries must contain only authorized paths.<VulnDiscussion>The library preload list environment variable contains a list of libraries for the dynamic linker to load before loading the libraries required by the binary. If this list contains paths to libraries to the current working directory that have not been authorized, unintended libraries may be preloaded. This variable is formatted as a space-separated list of libraries. Paths starting with a slash (/) are absolute paths.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22355SV-26464CCI-000366Edit the run control script and remove the relative path entry from the library preload variables that are not documented with the ISSO.
Edit the run control script and remove any empty entry that is defined.
Verify run control scripts' library preload list.
Procedure:
# find /etc/rc* /etc/init.d -type f -print | xargs grep LD_PRELOAD
This variable is formatted as a colon-separated list of paths.
If there is an empty entry, such as a leading or trailing colon, or two consecutive colons, this is a finding.
If an entry begins with a character other than a slash (/), or has not been documented with the ISSO, this is a finding.
SRG-OS-000480<GroupDescription></GroupDescription>GEN001640Run control scripts must not execute world-writable programs or scripts.
<VulnDiscussion>World-writable files could be modified accidentally or maliciously to compromise system integrity.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-910SV-39810CCI-000366Remove the world-writable permission from programs or scripts executed by run control scripts.
Procedure:
# chmod o-w <program or script executed from run control script> Check the permissions on the files or scripts executed from system startup scripts to see if they are world-writable.
Create a list of all potential run command level scripts.
# ls -l /etc/init.d/* | tr '\011' ' ' | tr -s ' ' | cut -f 9,9 -d " "
OR
# ls -l /sbin/init.d/* | tr '\011' ' ' | tr -s ' ' | cut -f 9,9 -d " "
Create a list of world writeable files.
# find / -perm -002 -type f >> worldWriteableFileList
Determine if any of the world writeable files in worldWriteableFileList are called from the run command level scripts. Note: Depending upon the number of scripts vs world writeable files, it may be easier to inspect the scripts manually.
# more `ls -l /etc/init.d/* | tr '\011' ' ' | tr -s ' ' | cut -f 9,9 -d " "`
OR
# more `ls -l /sbin/init.d/* | tr '\011' ' ' | tr -s ' ' | cut -f 9,9 -d " "`
If any system startup script executes any file or script that is world-writable, this is a finding.
SRG-OS-000480<GroupDescription></GroupDescription>GEN001660All system start-up files must be owned by root.<VulnDiscussion>System start-up files not owned by root could lead to system compromise by allowing malicious users or applications to modify them for unauthorized purposes. This could lead to system and network compromise.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-4089SV-27207CCI-000366Change the ownership of the run control script(s) with incorrect ownership.
# chown root <run control script>Check run control scripts' ownership.
# ls -lL /etc/rc* /etc/init.d
If any run control script is not owned by root, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN001680All system start-up files must be group-owned by root, sys, or bin.<VulnDiscussion>If system start-up files do not have a group owner of root or a system group, the files may be modified by malicious users or intruders.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-4090SV-27213CCI-000366Change the group ownership of the run control script(s) with incorrect group ownership.
Procedure:
# chgrp root <run control script>Check run control scripts' group ownership.
Procedure:
# ls -lL /etc/rc* /etc/init.d
If any run control script is not group-owned by root, sys, or bin, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN001700System start-up files must only execute programs owned by a privileged UID or an application.<VulnDiscussion>System start-up files executing programs owned by other than root (or another privileged user) or an application indicates the system may have been compromised.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-4091SV-27219CCI-000366Change the ownership of the file executed from system startup scripts to root, bin, or sys.
# chown root <executed file>Determine the programs executed by system start-up files. Determine the ownership of the executed programs.
# cat /etc/rc* /etc/init.d/* | more
Check the ownership of every program executed by the system start-up files.
# ls -l <executed program>
If any executed program is not owned by root, sys, bin, or in rare cases, an application account, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN001730All global initialization files must not have extended ACLs.<VulnDiscussion>Global initialization files are used to configure the user's shell environment upon login. Malicious modification of these files could compromise accounts upon logon.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22356SV-26471CCI-000366Remove the extended ACL from the file.
# chmod A- [global initialization file with extended ACL]Check global initialization files for extended ACLs.
# ls -lL /etc/profile /etc/bashrc /etc/csh.login /etc/csh.cshrc /etc/environment /etc/.login /etc/security/environ
If the permissions on an existing file include a "+", the file has an extended ACL, this is a finding.SRG-OS-000312<GroupDescription></GroupDescription>GEN001800All skeleton files (typically those in /etc/skel) must have mode 0644 or less permissive.<VulnDiscussion>If the skeleton files are not protected, unauthorized personnel could change user startup parameters and possibly jeopardize user files.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-788SV-788CCI-002165Change the mode of skeleton files with incorrect mode.
# chmod 0644 <skeleton file>Check skeleton files permissions.
# ls -alL /etc/skel
If a skeleton file has a mode more permissive than 0644, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN001810Skeleton files must not have extended ACLs.<VulnDiscussion>If the skeleton files are not protected, unauthorized personnel could change user's startup parameters and possibly jeopardize user's files.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22357SV-26475CCI-000366Remove the extended ACL from the file.
# chmod A- [skeleton file with extended ACL]Check skeleton files for extended ACLs.
# ls -alL /etc/skel
If the permissions include a "+", the file has an extended ACL and this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN001820All skeleton files and directories (typically in /etc/skel) must be owned by root.<VulnDiscussion>If the skeleton files are not protected, unauthorized personnel could change user startup parameters and possibly jeopardize user files. Failure to give ownership of sensitive files or utilities to root provides the designated owner and unauthorized users with the potential to access sensitive information or change the system configuration which could weaken the system's security posture.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-11984SV-12485CCI-000366Change the ownership of skeleton files with incorrect mode.
# chown root <skeleton file>Check skeleton files ownership.
# ls -alL /etc/skel
If a skeleton file is not owned by root, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN001830All skeleton files (typically in /etc/skel) must be group-owned by root, bin, or sys.<VulnDiscussion>If the skeleton files are not protected, unauthorized personnel could change user startup parameters and possibly jeopardize user files.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22358SV-39901CCI-000366Change the group owner of the skeleton file to root.
Procedure:
# chgrp <group> /etc/skel/[skeleton file] Verify the skeleton files are group-owned by root, bin, or sys.
Procedure:
# ls -alL /etc/skel
If a skeleton file is not group-owned by root, bin, or sys, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN001840All global initialization files executable search paths must contain only authorized paths.<VulnDiscussion>The executable search path (typically the PATH environment variable) contains a list of directories for the shell to search to find executables. If this path includes the current working directory or other relative paths, executables in these directories may be executed instead of system commands. This variable is formatted as a colon-separated list of directories. If there is an empty entry, such as a leading or trailing colon, two consecutive colons, or a single period, this is interpreted as the current working directory. Paths starting with a slash (/) are absolute paths.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-11985SV-12486CCI-000366Edit the global initialization file(s) with PATH variables containing relative paths and remove any relative path form the PATH variables that have not been documented with the ISSO.
Edit the global initialization file(s) and remove any empty entry that is defined.Check the global initialization files' executable search paths.
Procedure:
# grep -i PATH /etc/profile /etc/bashrc /etc/csh.login /etc/csh.cshrc /etc/environment /etc/.login /etc/security/environ
This variable is formatted as a colon-separated list of directories.
If there is an empty entry, such as a leading or trailing colon, or two consecutive colons, this is a finding.
If an entry begins with a character other than a slash (/), or has not been documented with the ISSO, this is a finding.
SRG-OS-000480<GroupDescription></GroupDescription>GEN001845Global initialization files library search paths must contain only authorized paths.<VulnDiscussion>The library search path environment variable(s) contain a list of directories for the dynamic linker to search to find libraries. If this path includes the current working directory or other relative paths, libraries in these directories may be loaded instead of system libraries. This variable is formatted as a colon-separated list of directories. If there is an empty entry, such as a leading or trailing colon, two consecutive colons, or a single period, this is interpreted as the current working directory. Paths starting with a slash (/) are absolute paths.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22359SV-26478CCI-000366Edit the global initialization file and remove the relative path entries from the library search path variables that have not been documented with the ISSO.
Edit the global initialization file(s) and remove any empty entry that is defined.
Check the global initialization files' library search paths.
# grep LD_LIBRARY_PATH /etc/profile /etc/bashrc /etc/csh.login /etc/csh.cshrc /etc/environment /etc/.login /etc/security/environ
This variable is formatted as a colon-separated list of directories.
If there is an empty entry, such as a leading or trailing colon, or two consecutive colons, this is a finding.
If an entry begins with a character other than a slash (/), or has not been documented with the ISSO, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN001850Global initialization files lists of preloaded libraries must contain only authorized paths.<VulnDiscussion>The library preload list environment variable contains a list of libraries for the dynamic linker to load before loading the libraries required by the binary. If this list contains paths to libraries to the current working directory that have not been authorized, unintended libraries may be preloaded. This variable is formatted as a space-separated list of libraries. Paths starting with a slash (/) are absolute paths.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22360SV-39839CCI-000366Edit the global initialization file(s) and remove the relative path entry from the library preload list variables that have not been documented with the ISSO.
Edit the global initialization file(s) and remove any empty entry that is defined.
Check the global initialization files' library preload list.
Procedure:
# grep LD_PRELOAD /etc/profile /etc/bashrc /etc/csh.login /etc/csh.cshrc /etc/environment /etc/.login /etc/security/environ
This variable is formatted as a colon-separated list of paths.
If there is an empty entry, such as a leading or trailing colon, or two consecutive colons, this is a finding.
If an entry begins with a character other than a slash (/), or has not been documented with the ISSO, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN001860All local initialization files must be owned by the user or root.<VulnDiscussion>Local initialization files are used to configure the user's shell environment upon login. Malicious modification of these files could compromise accounts upon logon.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-904SV-904CCI-000366Change the ownership of the startup and login files in the user's directory to the user or root, as appropriate. Examine each user's home directory and verify all file names beginning with "." are owned by the owner of the directory or root. If they are not, use the chown command to change the owner to the user and research the reasons why the owners were not assigned as required.
Procedure:
# chown username .filename
Document all changes.NOTE: The following commands must be run in the BASH shell.
Check the ownership of local initialization files.
Procedure (using a shell that supports ~USER as USER's home directory):
# cut -d : -f 1 /etc/passwd | xargs -n1 -IUSER sh -c "ls -l ~USER/.[a-z]*"
# cut -d : -f 1 /etc/passwd | xargs -n1 -IUSER find ~USER/.dt ! -fstype nfs ! -user USER -exec ls -ld {} \;
If local initialization files are not owned by the home directory's user, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN001880All local initialization files must have mode 0740 or less permissive.<VulnDiscussion>Local initialization files are used to configure the user's shell environment upon login. Malicious modification of these files could compromise accounts upon logon.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-905SV-905CCI-000366Ensure user startup files have permissions of 0740 or more restrictive. Examine each user's home directory and verify all file names beginning with "." have access permissions of 0740 or more restrictive. If they do not, use the chmod command to correct the vulnerability.
Procedure:
# chmod 0740 .filename
NOTE: The period is part of the file name and is required.Check the modes of local initialization files.
Procedure:
# ls -al /<usershomedirectory>/.login
# ls -al /<usershomedirectory>/.cshrc
# ls -al /<usershomedirectory>/.logout
# ls -al /<usershomedirectory>/.profile
# ls -al /<usershomedirectory>/.bash_profile
# ls -al /<usershomedirectory>/.bashrc
# ls -al /<usershomedirectory>/.bash_logout
# ls -al /<usershomedirectory>/.env
# ls -al /<usershomedirectory>/.dtprofile (permissions should be 0755)
# ls -al /<usershomedirectory>/.dispatch
# ls -al /<usershomedirectory>/.emacs
# ls -al /<usershomedirectory>/.exrc
# find /<usershomedirectory>/.dt ! -fstype nfs \( -perm -0002 -o -perm -0020 \) -exec ls -ld {} \; (permissions not to be more
permissive than 0755)
If local initialization files are more permissive than 0740, the .dt directory or the .dtprofile file is more permissive than 0755, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN001890Local initialization files must not have extended ACLs.<VulnDiscussion>Local initialization files are used to configure the user's shell environment upon login. Malicious modification of these files could compromise accounts upon logon.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22362SV-26484CCI-000366Remove the extended ACL from the file.
# chmod A- [local initialization file with extended ACL]Check user home directories for local initialization files with extended ACLs.
# cut -d : -f 6 /etc/passwd | xargs -n1 -IDIR ls -alL DIR/.login DIR/.cshrc DIR/.logout DIR/.profile DIR/.bash_profile DIR/.bashrc DIR/.bash_logout DIR/.env DIR/.dtprofile DIR/.dispatch DIR/.emacs DIR/.exrc
If the permissions include a "+", the file has an extended ACL, this is a finding.
SRG-OS-000480<GroupDescription></GroupDescription>GEN001900All local initialization files executable search paths must contain only authorized paths.<VulnDiscussion>The executable search path (typically the PATH environment variable) contains a list of directories for the shell to search to find executables. If this path includes the current working directory or other relative paths, executables in these directories may be executed instead of system commands. This variable is formatted as a colon-separated list of directories. If there is an empty entry, such as a leading or trailing colon, two consecutive colons, or a single period, this is interpreted as the current working directory. Paths starting with a slash (/) are absolute paths.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-11986SV-12487CCI-000366Edit the local initialization file(s) and remove the relative path entries from the PATH variable that have not been documented with the ISSO.
Edit the local initialization file(s) and remove any empty entry that is defined.
NOTE: The following must be done in the BASH shell.
Examine the PATH variable contained in any user's local initialization files using a command shell that supports the use of ~USER as USER's home directory.
# cat /etc/passwd | cut -f 1,1 -d ":" | xargs -n1 -IUSER sh -c 'grep -i PATH ~USER/.*'
The PATH variable is a colon-delimited directory list.
If there is an empty entry, such as a leading or trailing colon, or two consecutive colons, this is a finding.
If an entry begins with a character other than a slash (/), or has not been documented with the ISSO, this is a finding.
SRG-OS-000480<GroupDescription></GroupDescription>GEN001901Local initialization files library search paths must contain only authorized paths.<VulnDiscussion>The library search path environment variable(s) contain a list of directories for the dynamic linker to search to find libraries. If this path includes the current working directory or other relative paths, libraries in these directories may be loaded instead of system libraries. This variable is formatted as a colon-separated list of directories. If there is an empty entry, such as a leading or trailing colon, two consecutive colons, or a single period, this is interpreted as the current working directory. Paths starting with a slash (/) are absolute paths.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22363SV-26486CCI-000366Edit the local initialization file and remove the relative path entries from the library search path variables that have not been documented with the ISSO.
Edit the local initialization file and remove any empty entry that is defined.
NOTE: This command should be used in the BASH shell.
Verify local initialization files have library search path containing only authorized paths.
# cut -d : -f 1 /etc/passwd | xargs -n1 -IUSER sh -c 'grep -l LD_LIBRARY_PATH ~USER/.*'
This variable is formatted as a colon-separated list of directories.
If there is an empty entry, such as a leading or trailing colon, or two consecutive colons, this is a finding.
If an entry begins with a character other than a slash (/), or has not been documented with the ISSO, this is a finding.
SRG-OS-000480<GroupDescription></GroupDescription>GEN001902Local initialization files lists of preloaded libraries must contain only authorized paths.<VulnDiscussion>The library preload list environment variable contains a list of libraries for the dynamic linker to load before loading the libraries required by the binary If this list contains paths to libraries to the current working directory that have not been authorized, unintended libraries may be preloaded. This variable is formatted as a space-separated list of libraries. Paths starting with a slash (/) are absolute paths.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22364SV-26488CCI-000366Edit the local initialization file and remove the relative path entries from the library preload variables that have not been documented with the ISSO.
Edit the local initialization file(s) and remove any empty entry that is defined.
NOTE: The following must be done in the BASH shell
Verify local initialization files have library preload list containing only authorized paths.
# cut -d : -f 1 /etc/passwd | xargs -n1 -IUSER sh -c 'grep -l LD_PRELOAD ~USER/.*'
This variable is formatted as a colon-separated list of paths.
If there is an empty entry, such as a leading or trailing colon, or two consecutive colons, this is a finding.
If an entry begins with a character other than a slash (/), or has not been documented with the ISSO, this is a finding.
SRG-OS-000480<GroupDescription></GroupDescription>GEN001940User start-up files must not execute world-writable programs.<VulnDiscussion>If start-up files execute world-writable programs, especially in unprotected directories, they could be maliciously modified to become Trojans destroying user files or otherwise compromising the system at the user, or higher, level. If the system is compromised at the user level, it is much easier to eventually compromise the system at the root and network level.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-4087SV-39812CCI-000366Remove the world-writable permission of files referenced by local initialization scripts, or remove the references to these files in the local initialization scripts.Check local initialization files for any executed world-writable programs or scripts.
Procedure:
# find / -perm -002 -type f | egrep -v '^(/proc|/system/contract)' > wwlist
# fgrep -f wwlist /<usershomedirectory>/.*
If any local initialization file executes a world-writable program or script, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN001980The .rhosts, .shosts, hosts.equiv, shosts.equiv, /etc/passwd, /etc/shadow, and/or /etc/group files must not contain a plus (+) without defining entries for NIS+ netgroups.<VulnDiscussion>A plus (+) in system accounts' files causes the system to lookup the specified entry using NIS. If the system is not using NIS, no such entries should exist.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-11987SV-12488CCI-000366Edit the .rhosts, .shosts, hosts.equiv, shosts.equiv, /etc/passwd, /etc/shadow, and/or /etc/group files and remove entries containing a plus (+).
Check system configuration files for plus (+) entries.
Procedure:
# find / -name .rhosts -exec grep + {} \;
# find / -name .shosts -exec grep + {} \;
# find / -name hosts.equiv -exec grep + {} \;
# find / -name shosts.equiv -exec grep + {} \;
# grep + /etc/passwd
# grep + /etc/shadow
# grep + /etc/group
If the .rhosts, .shosts, hosts.equiv, shosts.equiv, /etc/passwd, /etc/shadow, and/or /etc/group files contain a plus (+) and do not define entries for NIS+ netgroups, this is a finding.
SRG-OS-000073<GroupDescription></GroupDescription>GEN002000There must be no .netrc files on the system.
<VulnDiscussion>Unencrypted passwords for remote FTP servers may be stored in .netrc files. Policy requires passwords be encrypted in storage and not used in access scripts.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-913SV-913CCI-000196Remove the .netrc file(s).
Procedure:
# rm .netrcCheck the system for the existence of any .netrc files.
Procedure:
# find / -name .netrc
If any .netrc file exists, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN002020All .rhosts, .shosts, or host.equiv files must only contain trusted host-user pairs.<VulnDiscussion>If these files are not properly configured, they could allow malicious access by unknown malicious users from untrusted hosts who could compromise the system.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-4427SV-40331CCI-000366If possible, remove the .rhosts, .shosts, hosts.equiv, and shosts.equiv files. If the files are required, remove any content from the files except for necessary host-user pairs.Locate and examine all .rhosts, .shosts, hosts.equiv, and shosts.equiv files. The .rhosts and .shosts files are stored in home directories. (If a user does not have a home directory assigned in /etc/passwd, the root directory (/) is assigned as a default home directory.)
Procedure:
# for i in `cut -d: -f6 /etc/passwd | awk '$1 == "" {$1 = "/"} {print $1}'`; do more $i/.rhosts; more $i/.shosts; done
# more /etc/hosts.equiv
# more /etc/ssh/shosts.equiv
If any .rhosts, .shosts, hosts.equiv, or shosts.equiv file contains other than host-user pairs, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN002040There must be no .rhosts, .shosts, hosts.equiv, or shosts.equiv files on the system.<VulnDiscussion>The .rhosts, .shosts, hosts.equiv, and shosts.equiv files are used to configure host-based authentication for individual users or the system. Host-based authentication is not sufficient for preventing unauthorized access to the system.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-11988SV-40332CCI-000366Remove the .rhosts, .shosts, hosts.equiv, and/or shosts.equiv files.
Check for the existence of the files. The .rhosts and .shosts files are stored in home directories. (If a user does not have a home directory assigned in /etc/passwd, the root directory (/) is assigned as a default home directory.)
Procedure (the first command is five lines long):
# for homedir in `cut -d: -f6 /etc/passwd | awk '$1 == "" {$1 = "/"} {print $1}'`;
do
ls -l $homedir/.rhosts;
ls -l $homedir/.shosts;
done
# ls -l /etc/hosts.equiv
# ls -l /etc/ssh/shosts.equiv
If .rhosts, .shosts, hosts.equiv, or shosts.equiv are found, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN002060All .rhosts, .shosts, .netrc, or hosts.equiv files must be accessible by only root or the owner.<VulnDiscussion>If these files are accessible by users other than root or the owner, they could be used by a malicious user to set up a system compromise.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-4428SV-40341CCI-000366Ensure the permission for these files is set at 600 or less and the owner is the owner of the home directory that it is in. These files, outside of home directories (other than hosts.equiv in /etc and shosts.equiv in /etc/ssh; both are owned by root), have no meaning.# for i in `cut -d: -f6 /etc/passwd | awk '$1 == "" {$1 = "/"} {print $1}'`; do ls -l $i/.rhosts $i/.shosts $i/.netrc; done
# ls -l /etc/hosts.equiv
# ls -l /etc/ssh/shosts.equiv
If the .netrc, .rhosts, .shosts, hosts.equiv, or shosts.equiv files have permissions greater than 600, then this is a finding. (If a password entry has no home directory assigned, the root directory (/) is used as a default.)SRG-OS-000480<GroupDescription></GroupDescription>GEN002100The .rhosts file must not be supported in PAM.<VulnDiscussion>The .rhosts files are used to specify a list of hosts that are permitted remote access to a particular account without authenticating. The use of such a mechanism defeats strong identification and authentication requirements.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-11989SV-40334CCI-000366Edit /etc/pam.conf and remove the reference(s) to the rhosts_auth module.
Check the PAM configuration for rhosts_auth.
Procedure:
# grep rhosts_auth /etc/pam.conf
If a rhosts_auth entry is found that is not commented out, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN002120The /etc/shells (or equivalent) file must exist.<VulnDiscussion>The shells file (or equivalent) lists approved default shells. It helps provide layered defense to the security approach by ensuring users cannot change their default shell to an unauthorized shell that may not be secure.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-916SV-40806CCI-000366Create a /etc/shells file containing a list of valid system shells. The list below contains the default shells from the shells(4) man page.
Procedure (the command is 24 lines long):
cat >/etc/shells <<EOF
/bin/bash
/bin/csh
/bin/jsh
/bin/ksh
/bin/pfcsh
/bin/pfksh
/bin/pfsh
/bin/sh
/bin/tcsh
/bin/zsh
/sbin/jsh
/sbin/sh
/usr/bin/bash
/usr/bin/csh
/usr/bin/jsh
/usr/bin/ksh
/usr/bin/pfcsh
/usr/bin/pfksh
/usr/bin/pfsh
/usr/bin/sh
/usr/bin/tcsh
/usr/bin/zsh
EOFVerify /etc/shells exists.
# ls -l /etc/shells
If the file does not exist, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN002140All shells referenced in /etc/passwd must be listed in the /etc/shells file, except any shells specified for the purpose of preventing logins.<VulnDiscussion>The shells file lists approved default shells. It helps provide layered defense to the security approach by ensuring users cannot change their default shell to an unauthorized shell that may not be secure.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-917SV-917CCI-000366Use the chsh utility or edit the /etc/passwd file and correct the error by changing the default shell of the account in error to an acceptable shell name contained in the /etc/shells file.Confirm the login shells referenced in the /etc/passwd file are listed in the /etc/shells file.
Procedure:
# more /etc/passwd
# more /etc/shells
The /usr/bin/false, /bin/false, /dev/null, /sbin/nologin, (and equivalents), and sdshell will be considered valid shells for use in the /etc/passwd file, but will not be listed in the /etc/shells file.
If a shell referenced in /etc/passwd is not listed in the shells file, excluding the above mentioned shells, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN002200All shell files must be owned by root or bin.<VulnDiscussion>If shell files are owned by users other than root or bin, they could be modified by intruders or malicious users to perform unauthorized actions.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-921SV-921CCI-000366Change the ownership of the shell with incorrect ownership.
# chown root <shell>Check the ownership of the system shells.
# cat /etc/shells | xargs -n1 ls -lL
If any shell is not owned by root or bin, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN002210All shell files must be group-owned by root, bin, or sys.<VulnDiscussion>If shell files are group-owned by users other than root or a system group, they could be modified by intruders or malicious users to perform unauthorized actions.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22365SV-39902CCI-000366Change the group-owner of the shell to root, bin, or sys.
Procedure:
# chgrp root <shell>If /etc/shells exists, check the group ownership of each shell referenced.
Procedure:
# cat /etc/shells | xargs -n1 ls -lL
Otherwise, check any shells found on the system.
Procedure:
# find / -name "*sh" | xargs -n1 ls -lL
If a shell is not group-owned by root, bin, or sys, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN002220All shell files must have mode 0755 or less permissive.<VulnDiscussion>Shells with world/group-write permissions give the ability to maliciously modify the shell to obtain unauthorized access.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-922SV-922CCI-000366Change the mode of the shell.
# chmod 0755 <shell>If /etc/shells exists, check the group ownership of each shell referenced.
# cat /etc/shells | xargs -n1 ls -lL
Otherwise, check any shells found on the system.
# find / -name "*sh" | xargs -n1 ls -lL
If a shell has a mode more permissive than 0755, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN002230All shell files must not have extended ACLs.<VulnDiscussion>Shells with world/group write permissions give the ability to maliciously modify the shell to obtain unauthorized access.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22366SV-26492CCI-000366Remove the extended ACL from the file.
# chmod A- [shell]If /etc/shells exists, check the permissions of each shell referenced.
# cat /etc/shells | xargs -n1 ls -lL
Otherwise, check any shells found on the system.
# find / -name "*sh" | xargs -n1 ls -lL
If the permissions include a "+", the file has an extended ACL, this is a finding.SRG-OS-000363<GroupDescription></GroupDescription>GEN002260The system must be checked for extraneous device files at least weekly.<VulnDiscussion>If an unauthorized device is allowed to exist on the system, there is the possibility the system may perform unauthorized operations.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-923SV-923CCI-001744Establish a weekly automated or manual process to create a list of device files on the system and determine if any files have been added, moved, or deleted since the last list was generated.
Generate a list of device files.
# find / -type b -o -type c > device-file-listCheck the system for an automated job, or check with the SA, to determine if the system is checked for extraneous device files on a weekly basis. If no automated or manual process is in place, this is a finding.
SRG-OS-000480<GroupDescription></GroupDescription>GEN002280Device files and directories must only be writable by users with a system account or as configured by the vendor.<VulnDiscussion>System device files in writable directories could be modified, removed, or used by an unprivileged user to control system hardware.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-924SV-924CCI-000366Remove the world-writable permission from the device file(s).
Procedure:
# chmod o-w <device file>
Document all changes.Find all device files existing anywhere on the system.
Procedure:
# find / -type b -print > devicelist
# find / -type c -print >> devicelist
Check the permissions on the directories above subdirectories containing device files.
The following list of device files are intended to be world-writable and if present are not a finding.
/dev/arp
/dev/conslog
/dev/crypto
/dev/dtrace/dtrace
/dev/dtrace/helper
/dev/dtrace/provider/fasttrap
/dev/fd/*
/dev/kstat
/dev/null
/dev/poll
/dev/pool
/dev/ptmx
/dev/sad/user
/dev/tcp
/dev/tcp6
/dev/ticlts
/dev/ticots
/dev/ticotsord
/dev/tty
/dev/udp
/dev/udp6
/dev/zero
/dev/zfs
If any device file or their parent directory is world-writable and it is not intended to be world-writable, this is a finding.
SRG-OS-000480<GroupDescription></GroupDescription>GEN002300Device files used for backup must only be readable and/or writable by root or the backup user.<VulnDiscussion>System backups could be accidentally or maliciously overwritten and destroy the ability to recover the system if a compromise should occur. Unauthorized users could also copy system files.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-925SV-925CCI-000366Use the chmod command to remove the world-writable bit from the backup device files.
Procedure:
# chmod o-w backdevicefilename
Document all changes.Check the system for world-writable device files.
Procedure:
# find / -perm -2 -a \( -type b -o -type c \) -exec ls -ld {} \;
If any device file(s) used for backup are writable by users other than root, this is a finding.SRG-OS-000312<GroupDescription></GroupDescription>GEN002320Audio devices must have mode 0660 or less permissive.<VulnDiscussion>Globally accessible audio and video devices have proven to be security hazards. There is software that can activate system microphones and video devices connected to user workstations and/or X terminals. Once the microphone has been activated, it is possible to eavesdrop on otherwise private conversations without the victim being aware of it. This action effectively changes the user's microphone to a bugging device.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-1048SV-27241CCI-002165Change the mode of the audio device.
# chmod -R 0660 /dev/audioCheck the mode of audio devices.
# ls -lL /dev/audio
If the mode of audio devices are more permissive than 0660, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN002330Audio devices must not have extended ACLs.<VulnDiscussion>File system ACLs can provide access to files beyond what is allowed by the mode numbers of the files.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22367SV-26496CCI-000366Remove the extended ACL from the file.
# chmod A- /dev/audioCheck the permissions of audio devices.
# ls -lL /dev/audio
If the permissions include a "+", the file has an extended ACL and this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN002340Audio devices must be owned by root.<VulnDiscussion>Globally Accessible audio and video devices have proven to be security hazards. There is software that can activate system microphones and video devices connected to user workstations and/or X terminals. Once the microphone has been activated, it is possible to eavesdrop on otherwise private conversations without the victim being aware of it. This action effectively changes the user's microphone to a bugging device.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-1049SV-27246CCI-000366Change the owner of the audio device.
# chown root <audio device>Check the owner of audio devices.
# ls -lL /dev/audio
If the owner of any audio device file is not root, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN002360Audio devices must be group-owned by root, sys, or bin.<VulnDiscussion>Without privileged group owners, audio devices will be vulnerable to being used as eaves-dropping devices by malicious users or intruders to possibly listen to conversations containing sensitive information.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-1061SV-27251CCI-000366Change the group owner of the audio device.
Procedure:
# chgrp system <audio device>Check the group-owner of audio devices.
Procedure:
# ls -lL /dev/audio
If the group-owner of an audio device is not root, sys, or bin, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN002380The owner, group owner, mode, ACL, and location of files with the setuid bit set must be documented using site-defined procedures.<VulnDiscussion>All files with the setuid bit set will allow anyone running these files to be temporarily assigned the UID of the file. While many system files depend on these attributes for proper operation, security problems can result if setuid is assigned to programs that allow reading and writing of files, or shell escapes. Only default vendor-supplied executables should have the setuid bit set.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-801SV-801CCI-000366Document the files with the setuid bit set or unset the setuid bit on the executable.Files with the setuid bit set will allow anyone running these files to be temporarily assigned the user or group ID of the file. If an executable with setuid allows shell escapes, the user can operate on the system with the effective permission rights of the user or group owner.
List all setuid files on the system.
Procedure:
# find / -perm -4000 -exec ls -l {} \; | more
NOTE: Executing these commands may result in large listings of files; the output may be redirected to a file for easier analysis.
Ask the SA or IAO if files with the setuid bit set have been documented. If any undocumented file has its setuid bit set, this is a finding.SRG-OS-000363<GroupDescription></GroupDescription>GEN002400The system must be checked weekly for unauthorized setuid files, as well as, unauthorized modification to authorized setuid files.<VulnDiscussion>Files with the setuid bit set will allow anyone running these files to be temporarily assigned the UID of the file. While many system files depend on these attributes for proper operation, security problems can result if setuid is assigned to programs that allow reading and writing of files, or shell escapes.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-803SV-803CCI-001744Establish a weekly automated or manual process to generate a list of setuid files on the system and compare it with the prior list. To create a list of setuid files use the following command.
# find / -perm -4000 > setuid-file-listDetermine if a weekly automated or manual process is used to generate a list of setuid files on the system and compare it with the prior list. If no such process is in place, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN002440The owner, group-owner, mode, ACL, and location of files with the setgid bit set must be documented using site-defined procedures.<VulnDiscussion>All files with the setgid bit set will allow anyone running these files to be temporarily assigned the GID of the file. While many system files depend on these attributes for proper operation, security problems can result if setgid is assigned to programs that allow reading and writing of files, or shell escapes.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-802SV-802CCI-000366All files with the setgid bit set will be documented in the system baseline and authorized by the Information Systems Security Officer. Locate all setgid files with the following command.
find / -perm -2000 -exec ls -lLd {} \;
Ensure setgid files are part of the operating system software, documented application software, documented utility software, or documented locally developed software. Ensure none are text files or shell programs.Locate all setgid files on the system.
Procedure:
# find / -perm -2000
If the ownership, permissions, location, and ACLs of all files with the setgid bit set are not documented, this is a finding.SRG-OS-000363<GroupDescription></GroupDescription>GEN002460The system must be checked weekly for unauthorized setgid files, as well as, unauthorized modification to authorized setgid files.<VulnDiscussion>Files with the setgid bit set will allow anyone running these files to be temporarily assigned the group id of the file. While many system files depend on these attributes for proper operation, security problems can result if setgid is assigned to programs that allow reading and writing of files, or shell escapes.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-804SV-804CCI-001744Establish a weekly automated or manual process to generate a list of setgid files on the system and compare it with the prior list. To create a list of setgid files use the following command.
# find / -perm -2000 > setgid-file-listDetermine if a weekly automated or manual process is used to generate a list of setgid files on the system and compare it with the prior list. If no such process is in place, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN002480Public directories must be the only world-writable directories and world-writable files must be located only in public directories.<VulnDiscussion>World-writable files and directories make it easy for a malicious user to place potentially compromising files on the system.
The only authorized public directories are those temporary directories supplied with the system or those designed to be temporary file repositories. The setting is normally reserved for directories used by the system and by users for temporary file storage (e.g., /tmp) and for directories requiring global read/write access.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-1010SV-1010CCI-000366Remove or change the mode for any world-writable file or directory on the system that is not required to be world-writable.
Procedure:
# chmod o-w <file/directory>
Document all changes.Check the system for world-writable files and directories.
Procedure:
# find / -perm -2 -a \( -type d -o -type f \) -exec ls -ld {} \;
If any world-writable files or directories are located, except those required for proper system or application operation, such as /tmp and /dev/null, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN002500The sticky bit must be set on all public directories.<VulnDiscussion>Failing to set the sticky bit on the public directories allows unauthorized users to delete files in the directory structure.
The only authorized public directories are those temporary directories supplied with the system or those designed to be temporary file repositories. The setting is normally reserved for directories used by the system and by users for temporary file storage (e.g., /tmp) and for directories requiring global read/write access.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-806SV-806CCI-000366Set the sticky bit on all public directories.
Procedure:
# chmod 1777 /tmp
(Replace /tmp with the public directory missing the sticky bit, if necessary.)Verify all world-writable directories have the sticky bit set.
Procedure:
# find / -type d -perm -002 ! -perm -1000 > wwlist
If the sticky bit is not set on a world-writable directory, this is a finding.SRG-OS-000312<GroupDescription></GroupDescription>GEN002520All public directories must be owned by root or an application account.<VulnDiscussion>If a public directory has the sticky bit set and is not owned by a privileged UID, unauthorized users may be able to modify files created by others.
The only authorized public directories are those temporary directories supplied with the system or those designed to be temporary file repositories. The setting is normally reserved for directories used by the system and by users for temporary file storage (e.g., /tmp) and for directories requiring global read/write access.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-807SV-807CCI-002165Change the owner of public directories to root or an application account.
Procedure:
# chown root /tmp
(Replace root with an application user and/or /tmp with another public directory as necessary.) Check the ownership of all public directories.
Procedure:
# find / -type d -perm -1002 -exec ls -ld {} \;
If any public directory is not owned by root or an application user, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN002540All public directories must be group-owned by root or an application group.<VulnDiscussion>If a public directory has the sticky bit set and is not group-owned by a system GID, unauthorized users may be able to modify files created by others.
The only authorized public directories are those temporary directories supplied with the system or those designed to be temporary file repositories. The setting is normally reserved for directories used by the system and by users for temporary file storage (e.g., /tmp) and for directories requiring global read/write access.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-11990SV-12491CCI-000366Change the group ownership of the public directory.
Procedure:
# chgrp root /tmp
(Replace root with a different system group and/or /tmp with a different public directory as necessary.)Check the group ownership of public directories.
Procedure:
# find / -type d -perm -1002 -exec ls -ld {} \;
If any public directory is not group-owned by root, sys, bin, or an application group (such as mail), this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN002560The system and user default umask must be 077.<VulnDiscussion>The umask controls the default access mode assigned to newly created files. An umask of 077 limits new files to mode 700 or less permissive. Although umask can be represented as a 4-digit number, the first digit representing special access modes is typically ignored or required to be 0. This requirement applies to the globally configured system defaults and the user defaults for each account on the system.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-808SV-28641CCI-000366Edit the /etc/default/login file for Solaris. Set the variable UMASK=077.
Edit local and global initialization files containing "umask" and change them to use "077".NOTE: The following commands must be run in the BASH shell.
Check global configuration:
# find /etc -type f | xargs grep -i umask
Check local initialization files:
# cut -d: -f6 /etc/passwd | xargs -n1 -iHOMEDIR sh -c "grep umask HOMEDIR/.*"
If the system and user default umask is not 077, this a finding.
Note: If the default umask is 000 or allows for the creation of world writable files this becomes a CAT I finding..SRG-OS-000095<GroupDescription></GroupDescription>GEN002640Default system accounts must be disabled or removed.<VulnDiscussion>Vendor accounts and software may contain backdoors allowing unauthorized access to the system. These backdoors are common knowledge and present a threat to system security if the account is not disabled.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-810SV-39834CCI-000381Lock the default system account(s).
# passwd -l <user>
Determine if default system accounts (such as, those for sys, bin, uucp, nuucp, daemon, smtp, gdm, lp, nobody) have been disabled.
# cat /etc/shadow
If an account's password field is "*", "*LK*", "NP", or is prefixed with a "!", the account is locked or disabled.
If any default system account is not locked and its use is not justified and documented with the ISSO, this is a finding.SRG-OS-000062<GroupDescription></GroupDescription>GEN002660Auditing must be implemented.<VulnDiscussion>Without auditing, individual system accesses cannot be tracked and malicious activity cannot be detected and traced back to an individual account. </VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-811SV-27266CCI-000169Use /etc/security/bsmconv to enable auditing on the system.Determine the type of zone that you are currently securing.
# zonename
If the output of "zonename" is "global", then auditing must be enabled.
Determine if auditing is enabled.
# ps -ef |grep auditd
If the auditd process is not found, this is a finding.
If the output of "zonename" is not "global", then the "perzone" policy must be determined.
# auditconfig --getpolicy
audit policies = cnt,perzone
If "perzone" is not listed then this requirement is not applicable. If "perzone" is listed then determine if auditing is enabled.
# ps -ef |grep auditd
If the auditd process is not found, this is a finding.SRG-OS-000057<GroupDescription></GroupDescription>GEN002680System audit logs must be owned by root.<VulnDiscussion>Failure to give ownership of system audit log files to root provides the designated owner and unauthorized users with the potential to access sensitive information.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-812SV-27271CCI-000162Change the ownership of the audit log file(s).
Procedure:
# chown root <audit log file>Perform the following to determine the location of audit logs and then check the ownership.
# more /etc/security/audit_control
# ls -lLa <audit log dir>
If any audit log file is not owned by root, this is a finding.SRG-OS-000057<GroupDescription></GroupDescription>GEN002690System audit logs must be group-owned by root, bin, or sys.<VulnDiscussion>Sensitive system and user information could provide a malicious user with enough information to penetrate further into the system.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22702SV-27277CCI-000162CCI-000163Change the group ownership of the audit log file(s).
Procedure:
# chgrp root <audit log file>Determine the location of audit logs and then check the group-ownership.
Procedure:
# more /etc/security/audit_control
# ls -lLd <audit log dir>
If any audit log file is not group-owned by root, bin, or sys, this is a finding.SRG-OS-000058<GroupDescription></GroupDescription>GEN002700System audit logs must have mode 0640 or less permissive.<VulnDiscussion>If a user can write to the audit logs, audit trails can be modified or destroyed and system intrusion may not be detected. System audit logs are those files generated from the audit system and do not include activity, error, or other log files created by application software.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-813SV-27282CCI-000163Change the mode of the audit log directories/files.
# chmod 0750 <audit directory>
# chmod 0640 <audit file>
Perform the following to determine the location of audit logs and then check the mode of the files.
# more /etc/security/audit_control
# ls -lLa <audit log dir>
If the audit log directory has a mode more permissive than 0750 or any audit log file has a mode more permissive than 0640, this is a finding.SRG-OS-000058<GroupDescription></GroupDescription>GEN002710All system audit files must not have extended ACLs.<VulnDiscussion>If a user can write to the audit logs, then audit trails can be modified or destroyed and system intrusion may not be detected.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22369SV-26502CCI-000163Remove the extended ACL from the file.
# chmod A- [audit file]Check the audit configuration to determine the location of the system audit log files.
# more /etc/security/audit_control
Check the system audit log files for extended ACLs.
# ls -la [audit log dir]
If the permissions include a "+", the file has an extended ACL and this is a finding.SRG-OS-000256<GroupDescription></GroupDescription>GEN002715System audit tool executables must be owned by root.<VulnDiscussion>To prevent unauthorized access or manipulation of system audit logs, the tools for manipulating those logs must be protected.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22370SV-26505CCI-001493Change the owner of the audit tool executable to root.
# chown root [audit tool executable]Verify the audit tool executables are owned by root.
# ls -l /usr/sbin/auditd /usr/sbin/audit /usr/sbin/bsmrecord /usr/sbin/auditreduce /usr/sbin/praudit /usr/sbin/auditconfig
If any listed file is not owned by root, this is a finding.
SRG-OS-000256<GroupDescription></GroupDescription>GEN002716System audit tool executables must be group-owned by root, bin, or sys.<VulnDiscussion>To prevent unauthorized access or manipulation of system audit logs, the tools for manipulating those logs must be protected.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22371SV-26508CCI-001493Change the group-owner of the audit tool executable to root, bin, or sys.
Procedure:
# chgrp root <audit tool executable>Verify the audit tool executables are group-owned by root, bin, or sys.
Procedure:
# ls -lL /usr/sbin/auditd /usr/sbin/audit /usr/sbin/bsmrecord /usr/sbin/auditreduce /usr/sbin/praudit /usr/sbin/auditconfig
If any listed file is not group-owned by root, bin, or sys, this is a finding.SRG-OS-000256<GroupDescription></GroupDescription>GEN002717System audit tool executables must have mode 0750 or less permissive.<VulnDiscussion>To prevent unauthorized access or manipulation of system audit logs, the tools for manipulating those logs must be protected.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22372SV-26511CCI-001493Change the mode of the audit tool executable to 0750, or less permissive.
# chmod 0750 [audit tool executable]Check the mode of audit tool executables.
# ls -l /usr/sbin/auditd /usr/sbin/audit /usr/sbin/bsmrecord /usr/sbin/auditreduce /usr/sbin/praudit /usr/sbin/auditconfig
If any listed file has a mode more permissive than 0750, this is a finding.SRG-OS-000256<GroupDescription></GroupDescription>GEN002718System audit tool executables must not have extended ACLs.<VulnDiscussion>To prevent unauthorized access or manipulation of system audit logs, the tools for manipulating those logs must be protected.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22373SV-26515CCI-001493Remove the extended ACL from the file.
# chmod A- [audit file]Check the permissions of audit tool executables.
# ls -l /usr/sbin/auditd /usr/sbin/audit /usr/sbin/bsmrecord /usr/sbin/auditreduce /usr/sbin/praudit /usr/sbin/auditconfig
If the permissions include a "+", the file has an extended ACL and this is a finding.SRG-OS-000046<GroupDescription></GroupDescription>GEN002719The audit system must alert the SA in the event of an audit processing failure.<VulnDiscussion>An accurate and current audit trail is essential for maintaining
a record of system activity. If the system fails, the SA must be notified and must take prompt
action to correct the problem.
Minimally, the system must log this event and the SA will receive this notification during the
daily system log review. If feasible, active alerting (such as email or paging) should be
employed consistent with the site's established operations management systems and procedures.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22374SV-40562CCI-000139Add an audit_warn alias to /etc/mail/aliases that will forward to designated system administrator(s).
# vi /etc/mail/aliases
Put the updated aliases file into service.
# newaliasesVerify the presence of an audit_warn entry in /etc/mail/aliases.
# grep audit_warn /etc/mail/aliases
If there is no audit_warn entry in /etc/mail/aliases, this is a finding.SRG-OS-000064<GroupDescription></GroupDescription>GEN002720The audit system must be configured to audit failed attempts to access files and programs.<VulnDiscussion>If the system is not configured to audit certain activities and write them to an audit log, it is more difficult to detect and track system compromises and damages incurred during a system compromise.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-814SV-27287CCI-000172Edit /etc/security/audit_control and add the fr or -fr flags to the flags list.
Load the new audit configuration.
# auditconfig -confCheck the system audit configuration to determine if failed attempts to access files and programs are audited.
# more /etc/security/audit_control
If flags -fr or fr are not configured, this is a finding.SRG-OS-000343<GroupDescription></GroupDescription>GEN002730The audit system must alert the SA when the audit storage volume approaches its capacity.<VulnDiscussion>An accurate and current audit trail is essential for maintaining a record of system activity. If the system fails, the SA must be notified and must take prompt action to correct the problem.
Minimally, the system must log this event and the SA will receive this notification during the daily system log review. If feasible, active alerting (such as email or paging) should be employed consistent with the site's established operations management systems and procedures.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22375SV-40564CCI-001855If necessary, add an audit_warn alias to /etc/mail/aliases that will forward to designated system administrator(s).
# vi /etc/mail/aliases
Put the updated aliases file into service.
# newaliases
If necessary, add or update the minfree: parameter in /etc/security/audit_control.
# vi /etc/security/audit_control
Ensure the minfree value is greater than zero and less than 100.Verify the presence of an audit_warn entry in /etc/mail/aliases.
# grep audit_warn /etc/mail/aliases
If there is no audit_warn entry in /etc/mail/aliases, this is a finding.
Verify the minfree parameter in /etc/security/audit_control.
# egrep '^minfree:' /etc/security/audit_control
If the minfree parameter is set to zero or not set at all, this is a finding.SRG-OS-000062<GroupDescription></GroupDescription>GEN002740The audit system must be configured to audit file deletions.<VulnDiscussion>If the system is not configured to audit certain activities and write them to an audit log, it is more difficult to detect and track system compromises and damages incurred during a system compromise.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-815SV-27292CCI-000169Edit /etc/security/audit_control and add the fd to the flags list.
Load the new audit configuration.
# auditconfig -conf# grep flags /etc/security/audit_control
Confirm flags fd or +fd and -fd are configured.SRG-OS-000004<GroupDescription></GroupDescription>GEN002750The audit system must be configured to audit account creation.<VulnDiscussion>If the system is not configured to audit certain activities and write them to an audit log, it is more difficult to detect and track system compromises, and damages incurred during a system compromise.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22376SV-40605CCI-000018Edit /etc/security/audit_control and add ua to the flags list and naflags list.
Refresh auditd.
# svcadm refresh auditdCheck the system's audit configuration.
# grep ua /etc/security/audit_control
If the ua flag is not set, and both the +ua and -ua flags are not set, this is a finding.
If the ua naflag is not set, and both the +ua and -ua naflags are not set, this is a finding.SRG-OS-000239<GroupDescription></GroupDescription>GEN002751The audit system must be configured to audit account modification.<VulnDiscussion>If the system is not configured to audit certain activities and write them to an audit log, it is more difficult to detect and track system compromises and damages incurred during a system compromise.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22377SV-40607CCI-001403Edit /etc/security/audit_control and add ua to the flags list and naflags list.
Refresh auditd.
# svcadm refresh auditdCheck the system's audit configuration.
# grep ua /etc/security/audit_control
If the ua flag is not set, and both the +ua and -ua flags are not set, this is a finding.
If the ua naflag is not set, and both the +ua and -ua naflags are not set, this is a finding.SRG-OS-000240<GroupDescription></GroupDescription>GEN002752The audit system must be configured to audit account disabling.<VulnDiscussion>If the system is not configured to audit certain activities and write them to an audit log, it is more difficult to detect and track system compromises and damages incurred during a system compromise.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22378SV-40610CCI-001404Edit /etc/security/audit_control and add ua to the flags list and naflags list.
Refresh auditd.
# svcadm refresh auditdCheck the system's audit configuration.
# grep ua /etc/security/audit_control
If the ua flag is not set, and both the +ua and -ua flags are not set, this is a finding.
If the ua naflag is not set, and both the +ua and -ua naflags are not set, this is a finding.SRG-OS-000241<GroupDescription></GroupDescription>GEN002753The audit system must be configured to audit account termination.<VulnDiscussion>If the system is not configured to audit certain activities and write them to an audit log, it is more difficult to detect and track system compromises and damages incurred during a system compromise.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22382SV-40611CCI-001405Edit /etc/security/audit_control and add ua to the flags list and naflags list.
Refresh auditd.
# svcadm refresh auditdCheck the system's audit configuration.
# grep ua /etc/security/audit_control
If the ua flag is not set, and both the +ua and -ua flags are not set, this is a finding.
If the ua naflag is not set, and both the +ua and -ua naflags are not set, this is a finding.SRG-OS-000062<GroupDescription></GroupDescription>GEN002760The audit system must be configured to audit all administrative, privileged, and security actions.<VulnDiscussion>If the system is not configured to audit certain activities and write them to an audit log, it is more difficult to detect and track system compromises and damages incurred during a system compromise.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061SV-27298V-816CCI-000169Edit /etc/security/audit_control and add am to the flags list.
Load the new audit configuration.
# auditconfig -confCheck the auditing configuration of the system.
# grep flags /etc/security/audit_control
If the am flag is not present, and either of the -am or +am flags is not present, this is a finding.
SRG-OS-000470<GroupDescription></GroupDescription>GEN002800The audit system must be configured to audit login, logout, and session initiation.<VulnDiscussion>If the system is not configured to audit certain activities and write them to an audit log, it is more difficult to detect and track system compromises and damages incurred during a system compromise.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-818SV-27303CCI-000172Edit /etc/security/audit_control and add lo to the flags list and naflags list.
Load the new audit configuration.
# auditconfig -confCheck the system's audit configuration.
# grep lo /etc/security/audit_control
If the lo flag is not set, and both the +lo and -lo flags are not set, this is a finding.
If the lo naflag is not set, and both the +lo and -lo naflags are not set, this is a finding.SRG-OS-000064<GroupDescription></GroupDescription>GEN002820The audit system must be configured to audit all discretionary access control permission modifications.<VulnDiscussion>If the system is not configured to audit certain activities and write them to an audit log, it is more difficult to detect and track system compromises and damages incurred during a system compromise.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-819SV-27309CCI-000172Edit /etc/security/audit_control and add fm to the flags list.
Load the new audit configuration.
# auditconfig -confCheck the system's audit configuration.
# grep flags /etc/security/audit_control
Confirm flags fm or +fm and -fm are configured.
SRG-OS-000062<GroupDescription></GroupDescription>GEN002825The audit system must be configured to audit the loading and unloading of dynamic kernel modules.<VulnDiscussion>Actions concerning dynamic kernel modules must be recorded as they are substantial events. Dynamic kernel modules can increase the attack surface of a system. A malicious kernel module can be used to substantially alter the functioning of a system, often with the purpose of hiding a compromise from the SA.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22383SV-26524CCI-000169Edit /etc/security/audit_control and add the as flag to the flag parameter.Check /etc/security/audit_control file.
# grep flags /etc/security/audit_control
If the as element is missing from the flags line, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN002860Audit logs must be rotated daily.<VulnDiscussion>Rotate audit logs daily to preserve audit file system space and to conform to the DoD/DISA requirement. If it is not rotated daily and moved to another location, then there is more of a chance for the compromise of audit data by malicious users.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-4357SV-4357CCI-000366Configure a cron job or other automated process to rotate the audit logs on a daily basis.Check for any crontab entries that rotate audit logs.
Procedure:
# crontab -l
If such a cron job is found, this is not a finding.
Otherwise, query the SA. If there is a process automatically rotating audit logs, this is not a finding. If the SA manually rotates audit logs, this is still a finding, because if the SA is not there, it will not be accomplished. If the audit output is not archived daily, to tape or disk, this is a finding. This can be ascertained by looking at the audit log directory and, if more than one file is there, or if the file does not have today's date, this is a finding.SRG-OS-000215<GroupDescription></GroupDescription>GEN002870The system must be configured to send audit records to a remote audit server.<VulnDiscussion>Audit records contain evidence that can be used in the investigation of compromised systems. To prevent this evidence from compromise, it must be sent to a separate system continuously. Methods for sending audit records include, but are not limited to, system audit tools used to send logs directly to another host or through the system's syslog service to another host.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-24357SV-39881CCI-001348Update the /etc/security/audit_control file to save audit records to a remote NFS mount.
dir:<remote NFS directory>
OR
If the /usr/lib/security/audit_syslog.so* exists, update the /etc/security/audit_control file to send all audit records to syslog and update /etc/syslog.conf to send all audit messages to a remote server.
/etc/security/audit_control:
plugin:name=audit_syslog.so.1; p_flags=all
/etc/syslog.conf:
audit.* @<remote syslog server>Audit records may be sent to a remote server in two ways, via an NFS mount of the audit directory, or via the audit_syslog plugin (if available).
NFS:
Check the "dir" parameter in /etc/security/audit_control. If the directory is on an NFS mount to a remote server, there is no finding.
SYSLOG:
Check the "plugin" parameter in /etc/security/audit_control. Confirm that the audit_syslog.so* plugin is listed with "p_flags=all".
# grep audit_syslog.so /etc/security/audit_control
Check that syslogd is sending messages to a remote server (GEN005450):
# grep '@' /etc/syslog.conf | grep -v '^#'
If both auditd is configured to send audit records to syslog, and syslogd is configured to send messages to a remote server, there is no finding.
If auditd is saving audit records on a local directory, and audit records are not being sent to a remote server via syslog, this is a finding. SRG-OS-000480<GroupDescription></GroupDescription>GEN002960Access to the cron utility must be controlled using the cron.allow and/or cron.deny file(s).<VulnDiscussion>The cron facility allows users to execute recurring jobs on a regular and unattended basis. The cron.allow file designates accounts allowed to enter and execute jobs using the cron facility. If neither cron.allow nor cron.deny exists, then any account may use the cron facility. This may open the facility up for abuse by system intruders and malicious users.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-974SV-27317CCI-000366Create /etc/cron.d/cron.allow and/or /etc/cron.d/cron.deny with appropriate content.Check for the existence of the cron.allow and cron.deny files.
# ls -lL /etc/cron.d/cron.allow
# ls -lL /etc/cron.d/cron.deny
If neither file exists, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN002980The cron.allow file must have mode 0600 or less permissive.<VulnDiscussion>A cron.allow file that is readable and/or writable by other than root could allow potential intruders and malicious users to use the file contents to help discern information, such as who is allowed to execute cron programs, which could be harmful to overall system and network security.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-975SV-27323CCI-000366Change the mode of the cron.allow file to 0600.
Procedure:
# chmod 0600 /etc/cron.d/cron.allowCheck mode of the cron.allow file.
Procedure:
# ls -lL /etc/cron.d/cron.allow
If either file has a mode more permissive than 0600, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN002990The cron.allow file must not have an extended ACL.<VulnDiscussion>A cron.allow file that is readable and/or writable by other than root could allow potential intruders and malicious users to use the file contents to help discern information, such as who is allowed to execute cron programs, which could be harmful to overall system and network security.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22384SV-26528CCI-000366Remove the extended ACL from the file.
# chmod A- /etc/cron.allowCheck the permissions of the cron.allow file.
# ls -l /etc/cron.allow
If the permissions include a "+", the file has an extended ACL and this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN003000Cron must not execute group-writable or world-writable programs.<VulnDiscussion>If cron executes group-writable or world-writable programs, there is a possibility that unauthorized users could manipulate the programs with malicious intent. This could compromise system and network security.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-976SV-27329CCI-000366Remove the world-writable and group-writable permissions from the cron program file(s) identified.
# chmod go-w <cron program file>List all cronjobs on the system.
Procedure:
# ls /var/spool/cron/crontabs/
If cron jobs exist under any of the above directories search for programs executed by cron.
Procedure:
# more <cron job file>
Determine if the file is group-writable or world-writable.
Procedure:
# ls -la <cron program file>
If cron executes group-writable or world-writable files, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN003020Cron must not execute programs in, or subordinate to, world-writable directories.<VulnDiscussion>If cron programs are located in or subordinate to world-writable directories, they become vulnerable to removal and replacement by malicious users or system intruders.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-977SV-27331CCI-000366Remove the world-writable permission from the cron program directories identified.
Procedure:
# chmod o-w <cron program directory>List all cronjobs on the system.
Procedure:
# ls /var/spool/cron/crontabs/
If cron jobs exist under any of the above directories search for programs executed by cron.
Procedure:
# more <cron job file>
Determine if the directory containing programs executed from cron is world-writable.
Procedure:
# ls -ld <cron program directory>
If cron executes programs in world-writable directories, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN003040Crontabs must be owned by root or the crontab creator.<VulnDiscussion>To protect the integrity of scheduled system jobs and prevent malicious modification to these jobs, crontab files must be secured.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-11994SV-27333CCI-000366Change the crontab owner to root or the crontab creator.
# chown root <crontab file>List all crontabs on the system.
# ls -lL /var/spool/cron/crontabs/
If any crontab is not owned by root or the creating user, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN003050Crontab files must be group-owned by root, sys, or the crontab creator's primary group.<VulnDiscussion>To protect the integrity of scheduled system jobs and prevent malicious modification to these jobs, crontab files must be secured.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22385SV-41044CCI-000366Change the group owner of the crontab file to root, sys, or the crontab's primary group.
Procedure:
# chgrp root [crontab file]Check the group ownership of the crontab files.
# ls -lL /var/spool/cron/crontabs/
If the group owner is not root, sys, or the crontab owner's primary group, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN003060Default system accounts (with the exception of root) must not be listed in the cron.allow file or must be included in the cron.deny file, if cron.allow does not exist.<VulnDiscussion>To centralize the management of privileged account crontabs, of the default system accounts, only root may have a crontab.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-11995SV-27335CCI-000366Remove default system accounts (such as bin, sys, adm, or others) from the cron.allow file if it exists, or add those accounts to the cron.deny file.Check the cron.allow and cron.deny files for the system.
# more /etc/cron.d/cron.allow
# more /etc/cron.d/cron.deny
If a default system account (such as bin, sys, adm, or others) is listed in the cron.allow file, or not listed in the cron.deny file if no cron.allow file exists, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN003080Crontab files must have mode 0600 or less permissive.<VulnDiscussion>To protect the integrity of scheduled system jobs and prevent malicious modification to these jobs, crontab files must be secured.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-978SV-27340CCI-000366Change the mode of the crontab files.
# chmod 0600 /var/spool/cron/crontabs/*Check the mode of the crontab files.
# ls -lL /var/spool/cron/crontabs/
If any crontab file has a mode more permissive than 0600, this is a finding.
SRG-OS-000480<GroupDescription></GroupDescription>GEN003090Crontab files must not have extended ACLs.<VulnDiscussion>To protect the integrity of scheduled system jobs and to prevent malicious modification to these jobs, crontab files must be secured. ACLs on crontab files may provide unauthorized access to the files.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22386SV-26534CCI-000366Remove the extended ACL from the file.
# chmod A- [crontab file]Check the permissions of the crontab files.
# ls -lL /var/spool/cron/crontabs/
If the permissions include a "+", the file has an extended ACL and this is a finding.
SRG-OS-000480<GroupDescription></GroupDescription>GEN003100Cron and crontab directories must have mode 0755 or less permissive.<VulnDiscussion>To protect the integrity of scheduled system jobs and to prevent malicious modification to these jobs, crontab files must be secured.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-979SV-27342CCI-000366Change the mode of the crontab directory.
# chmod 0755 /var/spool/cron/crontabsCheck the mode of the crontab directory.
# ls -ld /var/spool/cron/crontabs
If the mode of the crontab directory is more permissive than 0755, this is a finding.
SRG-OS-000480<GroupDescription></GroupDescription>GEN003110Cron and crontab directories must not have extended ACLs.<VulnDiscussion>To protect the integrity of scheduled system jobs and to prevent malicious modification to these jobs, crontab files must be secured. ACLs on cron and crontab directories may provide unauthorized access to these directories. Unauthorized modifications to these directories or their contents may result in the addition of unauthorized cron jobs or deny service to authorized cron jobs.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22387SV-26538CCI-000366Remove the extended ACL from the directory.
# chmod A- /var/spool/cron/crontabs/Check the permissions of the crontab directories.
# ls -ld /var/spool/cron/crontabs/
If the permissions include a "+", the directory has an extended ACL and this is a finding.
SRG-OS-000480<GroupDescription></GroupDescription>GEN003120Cron and crontab directories must be owned by root or bin.<VulnDiscussion>Incorrect ownership of the cron or crontab directories could permit unauthorized users the ability to alter cron jobs and run automated jobs as privileged users. Failure to give ownership of cron or crontab directories to root or to bin provides the designated owner and unauthorized users with the potential to access sensitive information or change the system configuration which could weaken the system's security posture.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-980SV-27345CCI-000366Change the owner of the crontab directory.
# chown root /var/spool/cron/crontabsCheck the owner of the crontab directory.
# ls -ld /var/spool/cron/crontabs
If the owner of the crontab directory is not root or bin, this is a finding.
SRG-OS-000480<GroupDescription></GroupDescription>GEN003140Cron and crontab directories must be group-owned by root, sys, or bin.<VulnDiscussion>To protect the integrity of scheduled system jobs and to prevent malicious modification to these jobs, crontab files must be secured. Failure to give group-ownership of cron or crontab directories to a system group provides the designated group and unauthorized users with the potential to access sensitive information or change the system configuration which could weaken the system's security posture.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-981SV-27347CCI-000366Change the group owner of the crontab directories to root, sys, or bin.
Procedure:
# chgrp root /var/spool/cron/crontabsCheck the group owner of the crontab directories.
Procedure:
# ls -ld /var/spool/cron/crontabs
If the directory is not group-owned by root, sys, or bin, this is a finding.SRG-OS-000470<GroupDescription></GroupDescription>GEN003160Cron logging must be implemented.<VulnDiscussion>Cron logging can be used to trace the successful or unsuccessful execution of cron jobs. It can also be used to spot intrusions into the use of the cron facility by unauthorized and malicious users.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-982SV-27349CCI-000172Edit /etc/default/cron and set CRONLOG=YES.# ls -lL /var/cron/log
If this file does not exist, or is older than the last cron job, this is a finding.
# more /etc/default/cron
If a CRONLOG=YES line does not exist, this is a finding.SRG-OS-000057<GroupDescription></GroupDescription>GEN003180The cronlog file must have mode 0600 or less permissive.<VulnDiscussion>Cron logs contain reports of scheduled system activities and must be protected from unauthorized access or manipulation.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-983SV-27354CCI-000162Change the mode of the cron log file.
# chmod 0600 /var/cron/log
Check the mode of the cron log file.
# ls -lL /var/cron/log
If the mode is more permissive than 0600, this is a finding.
SRG-OS-000480<GroupDescription></GroupDescription>GEN003190The cron log files must not have extended ACLs.<VulnDiscussion>Cron logs contain reports of scheduled system activities and must be protected from unauthorized access or manipulation.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22388SV-26542CCI-000366Remove the extended ACL from the file.
# chmod A- /var/cron/logCheck the permissions of the file.
# ls -lL /var/cron/log
If the permissions include a "+", the file has an extended ACL and this is a finding.SRG-OS-000312<GroupDescription></GroupDescription>GEN003200The cron.deny file must have mode 0600 or less permissive.<VulnDiscussion>If file permissions for cron.deny are more permissive than 0600, sensitive information could be viewed or edited by unauthorized users.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-4358SV-27359CCI-002165Change the mode of the cron.deny file.
# chmod 0600 /etc/cron.d/cron.denyCheck the mode of the cron.deny file.
# ls -lL /etc/cron.d/cron.deny
If the cron.deny file is more permissive than 0600, this is a finding.
SRG-OS-000480<GroupDescription></GroupDescription>GEN003210The cron.deny file must not have an extended ACL.<VulnDiscussion>If file permissions for cron.deny are more permissive than 0700, sensitive information could be viewed or edited by unauthorized users.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22389SV-26546CCI-000366Remove the extended ACL from the file.
# chmod A- /etc/cron.d/cron.denyCheck the permissions of the file.
# ls -lL /etc/cron.d/cron.deny
If the permissions include a "+", the file has an extended ACL and this is a finding.SRG-OS-000312<GroupDescription></GroupDescription>GEN003220Cron programs must not set the umask to a value less restrictive than 077.<VulnDiscussion>The umask controls the default access mode assigned to newly created files. An umask of 077 limits new files to mode 700 or less permissive. Although umask is often represented as a 4-digit octal number, the first digit representing special access modes is typically ignored or required to be 0.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-4360SV-27364CCI-002165Edit cron script files and modify the umask to 077.Determine if there are any crontabs by viewing a long listing of the directory. If there are crontabs, examine them to determine what cron jobs exist. Check for any programs specifying an umask.
# ls -lL /var/spool/cron/crontabs
# cat <crontab file>
# grep umask <cron program>
If there are no cron jobs present, this vulnerability is not applicable. If any cron job contains an umask value more permissive than 077, this is a finding.
Severity Override Guidance:
If a cron program sets the umask to 000 or does not restrict the world-writable permission, this becomes a CAT I finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN003240The cron.allow file must be owned by root, bin, or sys.<VulnDiscussion>If the owner of the cron.allow file is not set to root, bin, or sys, the possibility exists for an unauthorized user to view or to edit sensitive information.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-4361SV-27366CCI-000366# chown root /etc/cron.d/cron.allow# ls -lL /etc/cron.d/cron.allow
If the cron.allow file is not owned by root, sys, or bin, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN003245The at.allow file must not have an extended ACL.<VulnDiscussion>File system extended ACLs provide access to files beyond what is allowed by the mode numbers of the files. Unauthorized modification of the at.allow file could result in Denial of Service to authorized at users and the granting of the ability to run at jobs to unauthorized users.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22390SV-26550CCI-000366Remove the extended ACL from the file.
# chmod A- /etc/cron.d/at.allowCheck the permissions of the file.
# ls -lL /etc/cron.d/at.allow
If the permissions include a "+", the file has an extended ACL and this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN003250The cron.allow file must be group-owned by root, bin, or sys.<VulnDiscussion>If the group of the cron.allow is not set to root, bin, or sys, the possibility exists for an unauthorized user to view or edit the list of users permitted to use cron. Unauthorized modification of this file could cause Denial of Service to authorized cron users or provide unauthorized users with the ability to run cron jobs.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22391SV-26553CCI-000366Change the group ownership of the file.
Procedure:
# chgrp root /etc/cron.d/cron.allowCheck the group ownership of the file.
Procedure:
# ls -lL /etc/cron.d/cron.allow
If the file is not group-owned by root, bin, or sys, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN003252The at.deny file must have mode 0600 or less permissive.<VulnDiscussion>The at daemon control files restrict access to scheduled job manipulation and must be protected. Unauthorized modification of the at.deny file could result in Denial of Service to authorized at users or provide unauthorized users with the ability to run at jobs.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22392SV-26556CCI-000366Change the mode of the file.
# chmod 0600 /etc/cron.d/at.denyCheck the permissions of the file.
# ls -lL /etc/cron.d/at.deny
If the file has a mode more permissive than 0600, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN003255The at.deny file must not have an extended ACL.<VulnDiscussion>The "at" daemon control files restrict access to scheduled job manipulation and must be protected. Unauthorized modification of the at.deny file could result in Denial of Service to authorized "at" users or provide unauthorized users with the ability to run "at" jobs.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22393SV-26560CCI-000366Remove the extended ACL from the file.
# chmod A- /etc/cron.d/at.denyCheck the permissions of the file.
# ls -lL /etc/cron.d/at.deny
If the permissions include a "+", the file has an extended ACL and this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN003260The cron.deny file must be owned by root, bin, or sys.<VulnDiscussion>Cron daemon control files restrict the scheduling of automated tasks and must be protected.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-4430SV-27371CCI-000366Change the ownership of the cron.deny file to root, sys, or bin.
# chown root /etc/cron.d/cron.deny
Check the ownership of the cron.deny file.
# ls -lL /etc/cron.d/cron.deny
If the cron.deny file is not owned by root, sys, or bin, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN003270The cron.deny file must be group-owned by root, bin, or sys.<VulnDiscussion>Cron daemon control files restrict the scheduling of automated tasks and must be protected. Unauthorized modification of the cron.deny file could result in Denial of Service to authorized cron users or could provide unauthorized users with the ability to run cron jobs.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22394SV-26563CCI-000366Change the group ownership of the file to root, sys, or bin.
Procedure:
# chgrp root /etc/cron.d/cron.denyCheck the group ownership of the file.
Procedure:
# ls -lL /etc/cron.d/cron.deny
If the file is not group-owned by root, bin, or sys, this is a finding.SRG-OS-000312<GroupDescription></GroupDescription>GEN003280Access to the at utility must be controlled via the at.allow and/or at.deny file(s).<VulnDiscussion>The at facility selectively allows users to execute jobs at deferred times. It is usually used for one-time jobs. The at.allow file selectively allows access to the at facility. If there is no at.allow file, there is no ready documentation of who is allowed to submit at jobs.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-984SV-27376CCI-002165Create at.allow and/or at.deny files containing appropriate lists of users to be allowed or denied access to the "at" daemon. Check for the existence of at.allow and at.deny files.
# ls -lL /etc/cron.d/at.allow
# ls -lL /etc/cron.d/at.deny
If neither file exists, this is a finding.
SRG-OS-000480<GroupDescription></GroupDescription>GEN003300The at.deny file must not be empty if it exists.<VulnDiscussion>On some systems, if there is no at.allow file and there is an empty at.deny file, then the system assumes everyone has permission to use the at facility. This could create an insecure setting in the case of malicious users or system intruders.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-985SV-27380CCI-000366Add appropriate users to the at.deny file, or remove the empty at.deny file if an at.allow file exists.# more /etc/cron.d/at.deny
If the at.deny file exists and is empty, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN003320Default system accounts (with the exception of root) must not be listed in the at.allow file or must be included in the at.deny file if the at.allow file does not exist.<VulnDiscussion>Default accounts, such as bin, sys, adm, uucp, daemon, and others, should never have access to the at facility. This would create a possible vulnerability open to intruders or malicious users.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-986SV-27384CCI-000366Remove the default accounts (such as bin, sys, adm, and others) from the at.allow file.# more /etc/cron.d/at.allow
If default accounts (such as bin, sys, adm, and others) are listed in the at.allow file, this is a finding.
SRG-OS-000312<GroupDescription></GroupDescription>GEN003340The at.allow file must have mode 0600 or less permissive.<VulnDiscussion>Permissions more permissive than 0600 (read and write for the owner) may allow unauthorized or malicious access to the at.allow and/or at.deny files.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-987SV-27388CCI-002165Change the mode of the at.allow file.
# chmod 0600 /etc/cron.d/at.allowCheck the mode of the at.allow file.
# ls -lL /etc/cron.d/at.allow
If the at.allow file has a mode more permissive than 0600, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN003360The "at" daemon must not execute group-writable or world-writable programs.<VulnDiscussion>If the "at" facility executes world-writable or group-writable programs, it is possible for the programs to be accidentally or maliciously changed or replaced without the owner's intent or knowledge. This would cause a system security breach.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-988SV-40411CCI-000366Remove group-write and world-write permissions from files executed by "at" jobs.
Procedure:
# chmod go-w <file>List the "at" jobs on the system.
Procedure:
# ls -la /var/spool/cron/atjobs
For each "at" job file, determine which programs are executed.
Procedure:
# more <at job file>
Check each program executed by "at" for group- or world-writable permissions.
Procedure:
# ls -la <at program file>
If "at" executes group- or world-writable programs, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN003380The "at" daemon must not execute programs in, or subordinate to, world-writable directories.<VulnDiscussion>If "at" programs are located in or subordinate to world-writable directories, they become vulnerable to removal and replacement by malicious users or system intruders.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-989SV-40412CCI-000366Remove the world-writable permission from directories containing programs executed by "at".
Procedure:
# chmod o-w <at program directory>List any "at" jobs on the system.
Procedure:
# ls /var/spool/cron/atjobs
For each "at" job, determine which programs are executed.
Procedure:
# more <at job file>
Check the directory containing each program executed by "at" for world-writable permissions.
Procedure:
# ls -la <at program file directory>
If "at" executes programs in world-writable directories, this is a finding.SRG-OS-000312<GroupDescription></GroupDescription>GEN003400The "at" directory must have mode 0755 or less permissive.<VulnDiscussion>If the "at" directory has a mode more permissive than 0755, unauthorized users could be allowed to view or to edit files containing sensitive information within the "at" directory. Unauthorized modifications could result in Denial of Service to authorized "at" jobs.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-4364SV-40391CCI-002165Change the mode of the "at" directory to 0755.
Procedure:
# chmod 0755 < at directory > Check the mode of the "at" directory.
Procedure:
# ls -ld /var/spool/cron/atjobs
If the directory mode is more permissive than 0755, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN003410The "at" directory must not have an extended ACL.<VulnDiscussion>If the "at" directory has an extended ACL, unauthorized users could be allowed to view or to edit files containing sensitive information within the "at" directory. Unauthorized modifications could result in Denial of Service to authorized "at" jobs.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22395SV-26566CCI-000366Remove the extended ACL from the file.
# chmod A- /var/spool/cron/atjobsCheck the permissions of the directory.
# ls -lLd /var/spool/cron/atjobs
If the permissions include a "+", the directory has an extended ACL and this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN003420The "at" directory must be owned by root, bin, or sys.<VulnDiscussion>If the owner of the "at" directory is not root, bin, or sys, unauthorized users could be allowed to view or edit files containing sensitive information within the directory.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-4365SV-39886CCI-000366Change the owner of the "at" directory to root, bin, or sys.
Procedure:
# chown root /var/spool/cron/atjobsCheck the ownership of the "at" directory.
Procedure:
# ls -ld /var/spool/cron/atjobs
If the directory is not owned by root, sys, or bin, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN003430The "at" directory must be group-owned by root, bin, or sys.<VulnDiscussion>If the "at" directory's group owner is not root, bin, or sys, unauthorized users could be allowed to view or edit files containing sensitive information within the directory.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22396SV-40414CCI-000366Change the group ownership of the "at" directory to root, bin, or sys.
Procedure:
# chgrp sys /var/spool/cron/atjobs Check the group ownership of the "at" directory.
Procedure:
# ls -lLd /var/spool/cron/atjobs
If the "at" directory is not group-owned by root, bin, or sys, this is a finding.SRG-OS-000312<GroupDescription></GroupDescription>GEN003440"At" jobs must not set the umask to a value less restrictive than 077.<VulnDiscussion>The umask controls the default access mode assigned to newly created files. An umask of 077 limits new files to mode 700 or less permissive. Although umask is often represented as a 4-digit number, the first digit representing special access modes is typically ignored or required to be 0.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-4366SV-40416CCI-002165Edit "at" jobs or referenced scripts to remove umask commands setting umask to a value less restrictive than 077.Determine what "at" jobs exist on the system.
Procedure:
# ls /var/spool/cron/atjobs
If there are no "at" jobs present, this is not applicable.
Determine if any of the "at" jobs or any scripts referenced execute the umask command. Check for any umask setting more permissive than 077.
# grep umask <at job or referenced script>
If any "at" job or referenced script sets umask to a value more permissive than 077, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN003460The at.allow file must be owned by root, bin, or sys.<VulnDiscussion>If the owner of the at.allow file is not set to root, bin, or sys, unauthorized users could be allowed to view or edit sensitive information contained within the file.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-4367SV-27392CCI-000366Change the owner of the at.allow file.
# chown root /etc/cron.d/at.allow# ls -lL /etc/cron.d/at.allow
If the at.allow file is not owned by root, sys, or bin, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN003470The at.allow file must be group-owned by root, bin, or sys.<VulnDiscussion>If the group owner of the at.allow file is not set to root, bin, or sys, unauthorized users could be allowed to view or edit the list of users permitted to run at jobs. Unauthorized modification could result in Denial of Service to authorized at users or provide unauthorized users with the ability to run at jobs.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22397SV-26570CCI-000366Change the group ownership of the file.
Procedure:
# chgrp root /etc/cron.d/at.allowCheck the group ownership of the file.
Procedure:
# ls -lL /etc/cron.d/at.allow
If the file is not group-owned by root, bin, or sys, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN003480The at.deny file must be owned by root, bin, or sys.<VulnDiscussion>If the owner of the at.deny file is not set to root, bin, or sys, unauthorized users could be allowed to view or edit sensitive information contained within the file.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-4368SV-27396CCI-000366Change the owner of the at.deny file.
# chown root /etc/cron.d/at.deny# ls -lL /etc/cron.d/at.deny
If the at.deny file is not owned by root, sys, or bin, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN003490The at.deny file must be group-owned by root, bin, or sys.<VulnDiscussion>If the group owner of the at.deny file is not set to root, bin, or sys, unauthorized users could be allowed to view or edit sensitive information contained within the file. Unauthorized modification could result in Denial of Service to authorized "at" users or provide unauthorized users with the ability to run "at" jobs.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22398SV-26573CCI-000366Change the group ownership of the at.deny file to root, bin, or sys.
Procedure:
# chgrp root /etc/cron.d/at.denyCheck the group ownership of the file.
Procedure:
# ls -lL /etc/cron.d/at.deny
If the file is not group-owned by root, bin, or sys, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN003500Process core dumps must be disabled unless needed.<VulnDiscussion>Process core dumps contain the memory in use by the process when it crashed. Process core dump files can be of significant size and their use can result in file systems filling to capacity, which may result in Denial of Service. Process core dumps can be useful for software debugging. </VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-11996SV-27400CCI-000366Change the process core dump configuration.
# coreadm -d global
# coreadm -d process
# coreadm -d global-setid
# coreadm -d proc-setid
# coreadm -d log
Edit /etc/system and remove the coredumpsize parameter.Check the process core dump configuration.
# coreadm |grep enabled
OR
# egrep "COREADM_.*_ENABLED" /etc/coreadm.conf.
If any lines are returned by coreadm or if any lines are not set to no in /etc/coreadm.conf, this is a finding.
# grep coredumpsize /etc/system
If the value is 1, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN003501The system must be configured to store any process core dumps in a specific, centralized directory.<VulnDiscussion>Specifying a centralized location for core file creation allows for the centralized protection of core files. Process core dumps contain the memory in use by the process when it crashed. Any data the process was handling may be contained in the core file, and it must be protected accordingly. If process core dump creation is not configured to use a centralized directory, core dumps may be created in a directory that does not have appropriate ownership or permissions configured, which could result in unauthorized access to the core dumps.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061SV-26576V-22399CCI-000366Change the core file pattern.
# coreadm -g /var/core/core.%f.%p
Then:
# coreadm -u
In order to force a reload of the configuration.Verify a directory is defined for process core dumps.
# grep COREADM_GLOB_PATTERN /etc/coreadm.conf
If the parameter is not an absolute path (does not start with a slash [/]), this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN003502The centralized process core dump data directory must be owned by root.<VulnDiscussion>Process core dumps contain the memory in use by the process when it crashed. Any data the process was handling may be contained in the core file, and it must be protected accordingly. If the centralized process core dump data directory is not owned by root, the core dumps contained in the directory may be subject to unauthorized access.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061SV-26579V-22400CCI-000366Change the owner of the core file directory.
# chown root [core file directory]Check the defined directory for process core dumps.
# coreadm | grep "global core file pattern"
OR
# grep COREADM_GLOB_PATTERN /etc/coreadm.conf
Check the ownership of the directory.
# ls -lLd [core file directory]
If the directory is not owned by root, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN003503The centralized process core dump data directory must be group-owned by root, bin, or sys.<VulnDiscussion>Process core dumps contain the memory in use by the process when it crashed. Any data the process was handling may be contained in the core file, and it must be protected accordingly. If the centralized process core dump data directory is not group-owned by a system group, the core dumps contained in the directory may be subject to unauthorized access.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22401SV-26582CCI-000366Change the group-owner of the core file directory to root, bin, or sys.
Example: # chgrp root [core file directory]Check the defined directory for process core dumps.
# coreadm | grep "global core file pattern"
OR
# grep COREADM_GLOB_PATTERN /etc/coreadm.conf
Check the group ownership of the directory.
# ls -lLd [core file directory]
If the directory is not group-owned by root, bin, or sys, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN003504The centralized process core dump data directory must have mode 0700 or less permissive.<VulnDiscussion>Process core dumps contain the memory in use by the process when it crashed. Any data the process was handling may be contained in the core file, and it must be protected accordingly. If the process core dump data directory has a mode more permissive than 0700, unauthorized users may be able to view or to modify sensitive information contained any process core dumps in the directory.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061SV-26596V-22402CCI-000366Change the mode of the core file directory.
# chmod 0700 [core file directory]Check the defined directory for process core dumps.
# coreadm | grep "global core file pattern"
OR
# grep COREADM_GLOB_PATTERN /etc/coreadm.conf
Check the permissions of the directory.
# ls -lLd [core file directory]
If the directory has a mode more permissive than 0700, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN003505The centralized process core dump data directory must not have an extended ACL.<VulnDiscussion>Process core dumps contain the memory in use by the process when it crashed. Any data the process was handling may be contained in the core file, and it must be protected accordingly. If the process core dump data directory has an extended ACL, unauthorized users may be able to view or to modify sensitive information contained any process core dumps in the directory.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061SV-26602V-22403CCI-000366Remove the extended ACL from the directory.
# chmod A- [core file directory]Check the defined directory for process core dumps.
# coreadm | grep "global core file pattern"
OR
# grep COREADM_GLOB_PATTERN /etc/coreadm.conf
Check the permissions of the directory.
# ls -lLd [core file directory]
If the permissions include a "+", the file has an extended ACL and this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN003510Kernel core dumps must be disabled unless needed.<VulnDiscussion>Kernel core dumps may contain the full contents of system memory at the time of the crash. Kernel core dumps may consume a considerable amount of disk space and may result in Denial of Service by exhausting the available space on the target file system. The kernel core dump process may increase the amount of time a system is unavailable due to a crash. Kernel core dumps can be useful for kernel debugging.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22404SV-26605CCI-000366Disable savecore.
# dumpadm -nVerify savecore is not used.
# dumpadm | grep 'Savecore enabled'
If the value is true, this is a finding.
OR
# grep DUMPADM_ENABLE /etc/dumpadm.conf
If the value is yes, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN003520The kernel core dump data directory must be owned by root.<VulnDiscussion>Kernel core dumps may contain the full contents of system memory at the time of the crash. As the system memory may contain sensitive information, it must be protected accordingly. If the kernel core dump data directory is not owned by root, the core dumps contained in the directory may be subject to unauthorized access.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-11997SV-27407CCI-000366Change the owner of the kernel core dump data directory to root.
# chown root /var/crashCheck the ownership of the kernel core dump data directory.
# ls -ld /var/crash
OR
# ls -ld `grep DUMPADM_SAVDIR /etc/dumpadm.conf | cut -d= -f2`
If the kernel core dump data directory is not owned by root, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN003521The kernel core dump data directory must be group-owned by root.<VulnDiscussion>Kernel core dumps may contain the full contents of system memory at the time of the crash. As the system memory may contain sensitive information, it must be protected accordingly. If the kernel core dump data directory is not group-owned by a system group, the core dumps contained in the directory may be subject to unauthorized access.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22405SV-26610CCI-000366Change the group-owner of the kernel core dump data directory.
# chgrp root [kernel core dump data directory]Determine the kernel core dump data directory.
# dumpadm | grep "Savecore directory"
OR
# grep DUMPADM_SAVDIR /etc/dumpadm.conf
Check ownership of the core dump data directory.
# ls -l [savecore directory]
If the directory is not group-owned by root, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN003522The kernel core dump data directory must have mode 0700 or less permissive.<VulnDiscussion>Kernel core dumps may contain the full contents of system memory at the time of the crash. As the system memory may contain sensitive information, it must be protected accordingly. If the mode of the kernel core dump data directory is more permissive than 0700, unauthorized users may be able to view or to modify kernel core dump data files.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22406SV-26614CCI-000366Change the group-owner of the kernel core dump data directory.
# chmod 0700 [kernel core dump data directory]Determine the kernel core dump data directory.
# dumpadm | grep "Savecore directory"
OR
# grep DUMPADM_SAVDIR /etc/dumpadm.conf
Check the permissions of the kernel core dump data directory.
# ls -l [savecore directory]
If the directory has a mode more permissive than 0700, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN003523The kernel core dump data directory must not have an extended ACL.<VulnDiscussion>Kernel core dumps may contain the full contents of system memory at the time of the crash. As the system memory may contain sensitive information, it must be protected accordingly. If there is an extended ACL for the kernel core dump data directory, unauthorized users may be able to view or to modify kernel core dump data files.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22407SV-26618CCI-000366Remove the extended ACL from the file.
# chmod A- [kernel core dump directory]Determine the kernel core dump data directory.
# dumpadm | grep "Savecore directory"
OR
# grep DUMPADM_SAVDIR /etc/dumpadm.conf
Check the kernel core dump data directory permissions.
# ls -ld [savecore directory]
If the permissions include a "+", the file has an extended ACL and this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN003540The system must implement non-executable program stacks.<VulnDiscussion>A common type of exploit is the stack buffer overflow. An application receives, from an attacker, more data than it is prepared for and stores this information on its stack, writing beyond the space reserved for it. This can be designed to cause execution of the data written on the stack. One mechanism to mitigate this vulnerability is for the system to not allow the execution of instructions in sections of memory identified as part of the stack.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-11999SV-27412CCI-000366This action applies to the global zone only. Determine the type of zone that you are currently securing.
# zonename
If the command output is "global", this action applies.
Edit /etc/system and set the noexec_user_stack parameter to 1. Restart the system for the setting to take effect.This check applies to the global zone only. Determine the type of zone that you are currently securing.
# zonename
If the command output is "global", this check applies.
Determine if the system implements non-executable program stacks.
# grep noexec_user_stack /etc/system
If the noexec_user_stack is not set to 1, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN003580The system must use initial TCP sequence numbers most resistant to sequence number guessing attacks.<VulnDiscussion>One use of initial TCP sequence numbers is to verify bidirectional communication between two hosts, which provides some protection against spoofed source addresses being used by the connection originator. If the initial TCP sequence numbers for a host can be determined by an attacker, it may be possible to establish a TCP connection from a spoofed source address without bidirectional communication.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061SV-27416V-12001CCI-000366Edit /etc/default/inetinit and set the TCP_STRONG_ISS parameter to 2.# grep "TCP_STRONG_ISS=2" /etc/default/inetinit
If this variable is not set, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN003600The system must not forward IPv4 source-routed packets.<VulnDiscussion>Source-routed packets allow the source of the packet to suggest that routers forward the packet along a different path than configured on the router, which can be used to bypass network security measures. This requirement applies only to the forwarding of source-routed traffic, such as when IPv4 forwarding is enabled and the system is functioning as a router.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-12002SV-27420CCI-000366Configure the system to not forward IPv4 source-routed packets.
Procedure:
# ndd /dev/ip ip_forward_src_routed 0
This command must also be added to a system startup script.Determine the type of zone that you are currently securing.
# zonename
If the zone is not the global zone, determine if any interfaces are exclusive to the zone:
# dladm show-link
If the output indicates "insufficient privileges" then this requirement is not applicable.
If the zone is the global zone or the non-global zone has exclusive interfaces verify the network settings:
# ndd /dev/ip ip_forward_src_routed
If the returned value is not 0, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN003601TCP backlog queue sizes must be set appropriately.<VulnDiscussion>To provide some mitigation to TCP DoS attacks, the TCP backlog queue sizes must be set to at least 1280 or in accordance with product-specific guidelines.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-23741SV-28639CCI-000366Procedure:
# ndd -set /dev/tcp tcp_conn_req_max_q0 1280
# ndd -set /dev/tcp tcp_conn_req_max_q 1024
Ensure these commands are also present in system startup scripts.Determine the type of zone that you are currently securing.
# zonename
If the zone is not the global zone, determine if any interfaces are exclusive to the zone:
# dladm show-link
If the output indicates "insufficient privileges" then this requirement is not applicable.
If the zone is the global zone or the non-global zone has exclusive interfaces determine the network settings.
Procedure:
# ndd /dev/tcp tcp_conn_req_max_q0
If the returned value is not 1280 or greater, this is a finding.
Procedure:
# ndd /dev/tcp tcp_conn_req_max_q
If the returned value is not 1024, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN003602The system must not process ICMP timestamp requests.<VulnDiscussion>The processing of Internet Control Message Protocol (ICMP) timestamp requests increases the attack surface of the system.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22409SV-26621CCI-000366Disable ICMP timestamp responses on the system.
# ndd -set /dev/ip ip_respond_to_timestamp 0
Also add this command to a system startup script.Determine the type of zone that you are currently securing.
# zonename
If the zone is not the global zone, determine if any interfaces are exclusive to the zone:
# dladm show-link
If the output indicates "insufficient privileges" then this requirement is not applicable.
If the zone is the global zone or the non-global zone has exclusive interfaces verify the system does not respond to ICMP timestamp requests.
# ndd /dev/ip ip_respond_to_timestamp
If the result is not 0, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN003603The system must not respond to ICMPv4 echoes sent to a broadcast address.<VulnDiscussion>Responding to broadcast Internet Control Message Protocol (ICMP) echoes facilitates network mapping and provides a vector for amplification attacks.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22410SV-26622CCI-000366Configure the system to not respond to ICMP ECHO_REQUESTs sent to broadcast addresses.
# ndd -set /dev/ip ip_respond_to_echo_broadcast 0
Also add this command to a system startup script.Determine the type of zone that you are currently securing.
# zonename
If the zone is not the global zone, determine if any interfaces are exclusive to the zone:
# dladm show-link
If the output indicates "insufficient privileges" then this requirement is not applicable.
If the zone is the global zone or the non-global zone has exclusive interfaces verify the system does not respond to ICMP ECHO_REQUESTs set to broadcast addresses.
# ndd /dev/ip ip_respond_to_echo_broadcast
If the result is not 0, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN003604The system must not respond to ICMP timestamp requests sent to a broadcast address.<VulnDiscussion>The processing of Internet Control Message Protocol (ICMP) timestamp requests increases the attack surface of the system. Responding to broadcast ICMP timestamp requests facilitates network mapping and provides a vector for amplification attacks.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22411SV-26624CCI-000366Configure the system to not respond to ICMP timestamp requests sent to broadcast addresses.
# ndd -set /dev/ip ip_respond_to_echo_broadcast 0
Also add this command to a system startup script.Determine the type of zone that you are currently securing.
# zonename
If the zone is not the global zone, determine if any interfaces are exclusive to the zone:
# dladm show-link
If the output indicates "insufficient privileges" then this requirement is not applicable.
If the zone is the global zone or the non-global zone has exclusive interfaces verify the system does not respond to ICMP timestamp requests set to broadcast addresses.
# ndd /dev/ip ip_respond_to_echo_broadcast
If the result is not 0, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN003605The system must not apply reversed source routing to TCP responses.<VulnDiscussion>Source-routed packets allow the source of the packet to suggest that routers forward the packet along a different path than configured on the router, which can be used to bypass network security measures.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061SV-26626V-22412CCI-000366Configure the system to not apply reversed source routing to TCP responses.
# ndd -set /dev/tcp tcp_rev_src_routes 0
Also add this command to a system startup script.Determine the type of zone that you are currently securing.
# zonename
If the zone is not the global zone, determine if any interfaces are exclusive to the zone:
# dladm show-link
If the output indicates "insufficient privileges" then this requirement is not applicable.
If the zone is the global zone or the non-global zone has exclusive interfaces verify the system does not apply reversed source routing to TCP responses.
# ndd /dev/tcp tcp_rev_src_routes
If the result is not 0, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN003606The system must prevent local applications from generating source-routed packets.<VulnDiscussion>Source-routed packets allow the source of the packet to suggest that routers forward the packet along a different path than configured on the router, which can be used to bypass network security measures.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061SV-29709V-22413CCI-000366Edit /etc/ipf/ipf.conf and add rules to block outgoing source-routed packets, such as:
block out log quick all with opt lsrr
block out log quick all with opt ssrr
Reload the IPF rules.
Procedure:
# ipf -Fa -A -f /etc/ipf/ipf.confCheck the system for an IPF rule blocking outgoing source-routed packets.
Procedure:
# ipfstat -o
Examine the list for rules such as:
block out log quick all with opt lsrr
block out log quick all with opt ssrr
If the listed rules do not block both lsrr and ssrr options, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN003607The system must not accept source-routed IPv4 packets.<VulnDiscussion>Source-routed packets allow the source of the packet to suggest that routers forward the packet along a different path than configured on the router, which can be used to bypass network security measures. This requirement applies only to the handling of source-routed traffic destined to the system itself, not to traffic forwarded by the system to another, such as when IPv4 forwarding is enabled and the system is functioning as a router.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22414SV-29711CCI-000366Edit /etc/ipf/ipf.conf and add rules to block incoming source-routed packets, such as:
block in log quick all with opt lsrr
block in log quick all with opt ssrr
Reload the IPF rules.
Procedure:
# ipf -Fa -A -f /etc/ipf/ipf.confDetermine the type of zone that you are currently securing.
# zonename
If the zone is not the global zone, determine if any interfaces are exclusive to the zone:
# dladm show-link
If the output indicates "insufficient privileges" then this requirement is not applicable.
If the zone is the global zone or the non-global zone has exclusive interfaces check the system for an IPF rule blocking incoming source-routed packets.
Procedure: # ipfstat -i
Examine the list for rules such as:
block in log quick all with opt lsrr
block in log quick all with opt ssrr
If the listed rules do not block incoming traffic with both lsrr and ssrr options, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN003608Proxy ARP must not be enabled on the system.<VulnDiscussion>Proxy ARP allows a system to respond to ARP requests on one interface on behalf of hosts connected to another interface. If this function is enabled when not required, addressing information may be leaked between the attached network segments.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22415SV-29603CCI-000366Remove non-local published ARP entries from the system.
Procedure:
# arp -d <host>
Check system initialization files for any commands creating published ARP entries (such as "arp -s <host> <ether> pub" or "arp -f") and removing them.Determine if the system has non-local published ARP entries.
Procedure:
# arp -a
If any entries have the flag P and no flag L, they are non-local published entries, and this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN003609The system must ignore IPv4 ICMP redirect messages.<VulnDiscussion>ICMP redirect messages are used by routers to inform hosts that a more direct route exists for a particular destination. These messages modify the host's route table and are unauthenticated. An illicit ICMP redirect message could result in a man-in-the-middle attack.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22416SV-26630CCI-000366Configure the system to not accept IPv4 ICMP redirect messages.
Procedure:
# ndd -set /dev/ip ip_ignore_redirect 1
This command must also be added to a system startup script.Determine the type of zone that you are currently securing.
# zonename
If the zone is not the global zone, determine if any interfaces are exclusive to the zone:
# dladm show-link
If the output indicates "insufficient privileges" then this requirement is not applicable.
If the zone is the global zone or the non-global zone has exclusive interfaces verify the system does not accept IPv4 ICMP redirect messages.
Procedure:
# ndd -get /dev/ip ip_ignore_redirect
If the result is not 1, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN003610The system must not send IPv4 ICMP redirects.<VulnDiscussion>ICMP redirect messages are used by routers to inform hosts that a more direct route exists for a particular destination. These messages contain information from the system's route table that could reveal portions of the network topology.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22417SV-26632CCI-000366Configure the system to not send IPv4 ICMP redirect messages.
Procedure:
# ndd -set /dev/ip ip_send_redirects 0
Also add this command to a system startup script.Determine the type of zone that you are currently securing.
# zonename
If the zone is not the global zone, determine if any interfaces are exclusive to the zone:
# dladm show-link
If the output indicates "insufficient privileges" then this requirement is not applicable.
If the zone is the global zone or the non-global zone has exclusive interfaces verify the system does not send IPv4 ICMP redirect messages.
Procedure:
# ndd /dev/ip ip_send_redirects
If the result is not 0, this is a finding.SRG-OS-000062<GroupDescription></GroupDescription>GEN003611The system must log martian packets.<VulnDiscussion>Martian packets are packets containing addresses known by the system to be invalid. Logging these messages allows the SA to identify misconfigurations or attacks in progress.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22418SV-29773CCI-000169Configure the system to log martian packets using IPF. Add rules logging inbound traffic containing invalid source addresses, which minimally include the system's own addresses and broadcast addresses for attached subnets.
For example, consider a system with a single network connection having IP address 192.168.1.10 with a local subnet broadcast address of 192.168.1.255. Packets with source addresses of 192.168.1.10 and 192.168.1.255 must be logged if received by the system from the network connection.
Edit /etc/ipf/ipf.conf and add the following rules, substituting local addresses and interface names:
block in log quick on ce0 from 192.168.1.10 to any
block in log quick on ce0 from 192.168.1.255 to any
Reload the IPF rules.
Procedure:
# ipf -Fa -A -f /etc/ipf/ipf.confIf the system is not a global zone, this vulnerability is not applicable.
Determine if the system is configured to log martian packets. Examine the IPF rules on the system.
Procedure:
# ipfstat -i
There must be rules logging inbound traffic containing invalid source addresses, which minimally include the system's own addresses and broadcast addresses for attached subnets. If such rules do not exist, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN003620A separate file system must be used for user home directories (such as /home or equivalent).<VulnDiscussion>The use of separate file systems for different paths can protect the system from failures resulting from a file system becoming full or failing.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-12003SV-28618CCI-000366Migrate the /export/home path onto a separate file system.Determine if the /export/home path is a separate file system.
# grep /export/home /etc/vfstab
If no result is returned, /export/home is not on a separate file system and this is a finding.
If ZFS is used for home directories, this is not applicable.SRG-OS-000480<GroupDescription></GroupDescription>GEN003623The system must use a separate file system for the system audit data path.<VulnDiscussion>The use of separate file systems for different paths can protect the system from failures resulting from a file system becoming full or failing.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-23738SV-28628CCI-000366Migrate the system audit data path onto a separate file system.Determine the audit log data path.
# grep "^dir:" /etc/security/audit_control
Determine if the audit log data path is a separate filesystem.
# df -h <audit data path>
If the returned mount point is "/" this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN003624The system must use a separate filesystem for /tmp (or equivalent).<VulnDiscussion>The use of separate filesystems for different paths can protect the system from failures resulting from a filesystem becoming full or failing.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-23739SV-28632CCI-000366Migrate the /tmp path onto a separate file system.Determine if the /tmp path is a separate file system.
# grep /tmp /etc/vfstab
If no result is returned, /tmp is not on a separate file system, this is a finding.
If the returned result indicates that /tmp is mounted on a memory or swap based file system, this is not a finding
SRG-OS-000480<GroupDescription></GroupDescription>GEN003640The root file system must employ journaling or another mechanism ensuring file system consistency.<VulnDiscussion>File system journaling, or logging, can allow reconstruction of file system data after a system crash, thus, preserving the integrity of data that may have otherwise been lost. Journaling file systems typically do not require consistent checks upon booting after a crash, which can improve system availability. Some file systems employ other mechanisms to ensure consistency which also satisfy this requirement.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-4304SV-40021CCI-000366Implement file system journaling for the root file system, or use a file system using other mechanisms to ensure consistency. If the root file system supports journaling, enable it. If the file system does not support journaling or another mechanism to ensure consistency, a migration to a different file system will be necessary.Logging should be enabled for those types of files systems that do not turn on logging by default.
Procedure:
# mount -v
UFS, JFS, VXFS, HFS, XFS, reiserfs, EXT3 and EXT4 all turn logging on by default and will not be a finding. The ZFS file system uses other mechanisms to provide for file system consistency, and will not be a finding. For other file systems types, if the root file system does not have the 'logging' option, this is a finding. If the 'nolog' option is set on the root file system, this is a finding.
SRG-OS-000480<GroupDescription></GroupDescription>GEN003650All local file systems must employ journaling or another mechanism ensuring file system consistency.<VulnDiscussion>File system journaling, or logging, can allow reconstruction of file system data after a system crash, thus preserving the integrity of data that may have otherwise been lost. Journaling file systems typically do not require consistent checks upon booting after a crash, which can improve system availability. Some file systems employ other mechanisms to ensure consistency which also satisfy this requirement.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22422SV-26638CCI-000366Convert local file systems to use journaling or another mechanism ensuring file system consistency.Verify local file systems use journaling or another mechanism ensuring file system consistency.
Procedure:
# mount -v | grep '^/dev/' | egrep -v '(logging|vxfs|zfs|devfs)' | grep -v /dev/fd
If a mount is listed, this is a finding.SRG-OS-000062<GroupDescription></GroupDescription>GEN003660The system must log authentication informational data.<VulnDiscussion>Monitoring and recording successful and unsuccessful logins assists in tracking unauthorized access to the system.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-12004SV-12505CCI-000169Edit /etc/syslog.conf and add local log destinations for auth.* or both auth.notice and auth.info.Check /etc/syslog.conf and verify the auth facility is logging both the notice and info level messages by using one of the procedures below.
# grep "auth.notice" /etc/syslog.conf
# grep "auth.info" /etc/syslog.conf
OR
# grep 'auth.*' /etc/syslog.conf
If auth.* is not found, and either auth.notice or auth.info is not found, this is a finding.SRG-OS-000095<GroupDescription></GroupDescription>GEN003700Inetd and xinetd must be disabled or removed if no network services utilizing them are enabled.<VulnDiscussion>Unnecessary services should be disabled to decrease the attack surface of the system.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-12005SV-27426CCI-000381Disable the inetd service.
Procedure:
# svcadm disable inetdDetermine if inetd is running,
# svcs -a | grep inetd
If inetd is not running, this check is not a finding.
# inetadm | grep -v disabled
If no enabled/online services are found, yet the inetd daemon is running, this is a finding.SRG-OS-000312<GroupDescription></GroupDescription>GEN003720The inetd.conf file must be owned by root or bin.<VulnDiscussion>Failure to give ownership of sensitive files or utilities to root provides the designated owner and unauthorized users with the potential to access sensitive information or change the system configuration which could weaken the system's security posture.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-821SV-39883CCI-002165Change the ownership of the inetd.conf file to root or bin.
Procedure:
# chown root /etc/inet/inetd.confCheck the ownership of inetd.conf file.
Procedure:
# ls -lL /etc/inet/inetd.conf
This is a finding if any of the above files or directories are not owned by root or bin.SRG-OS-000480<GroupDescription></GroupDescription>GEN003730The inetd.conf file must be group-owned by root, bin, or sys.<VulnDiscussion>Failure to give ownership of sensitive files or utilities to system groups may provide unauthorized users with the potential to access sensitive information or change the system configuration which could weaken the system's security posture.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22423SV-39884CCI-000366Change the group ownership of the inetd.conf file.
Procedure:
# chgrp sys /etc/inet/inetd.confCheck the group ownership of the inetd.conf file.
Procedure:
# ls -alL /etc/inet/inetd.conf
If the file is not group-owned by root, bin, or sys, this is a finding.SRG-OS-000312<GroupDescription></GroupDescription>GEN003740The inetd.conf file must have mode 0440 or less permissive.<VulnDiscussion>The Internet service daemon configuration files must be protected as malicious modification could cause Denial of Service or increase the attack surface of the system.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-822SV-39885CCI-002165Change the mode of the inetd.conf file.
# chmod 0440 /etc/inet/inetd.confCheck the mode of inetd.conf file.
# ls -lL /etc/inet/inetd.conf
If the mode of the file is more permissive than 0440, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN003745The inetd.conf file must not have extended ACLs.<VulnDiscussion>The Internet service daemon configuration files must be protected as malicious modification could cause Denial of Service or increase the attack surface of the system.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22424SV-26653CCI-000366Remove the extended ACL from the file.
# chmod A- /etc/inet/inetd.confCheck the permissions of the inetd configuration file.
# ls -lL /etc/inet/inetd.conf
If the permissions include a "+", the file has an extended ACL and this is a finding.SRG-OS-000312<GroupDescription></GroupDescription>GEN003760The services file must be owned by root or bin.<VulnDiscussion>Failure to give ownership of sensitive files or utilities to root or bin provides the designated owner and unauthorized users with the potential to access sensitive information or change the system configuration which could weaken the system's security posture.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-823SV-823CCI-002165Change the ownership of the services file to root or bin.
Procedure:
# chown root /etc/servicesCheck the ownership of the services file.
Procedure:
# ls -lL /etc/services
If the services file is not owned by root or bin, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN003770The services file must be group-owned by root, bin, or sys.<VulnDiscussion>Failure to give ownership of system configuration files to root or a system group provides the designated owner and unauthorized users with the potential to change the system configuration which could weaken the system's security posture.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22427SV-39903CCI-000366Change the group-owner of the services file.
Procedure:
# chgrp root /etc/servicesCheck the group ownership of the services file.
Procedure:
# ls -lL /etc/services
If the file is not group-owned by root, bin, or sys, this is a finding.SRG-OS-000312<GroupDescription></GroupDescription>GEN003780The services file must have mode 0444 or less permissive.<VulnDiscussion>The services file is critical to the proper operation of network services and must be protected from unauthorized modification. Unauthorized modification could result in the failure of network services.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-824SV-824CCI-002165Change the mode of the services file to 0444 or less permissive.
Procedure:
# chmod 0444 /etc/servicesCheck the mode of the services file.
Procedure:
# ls -lL /etc/services
If the services file has a mode more permissive than 0444, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN003790The services file must not have an extended ACL.<VulnDiscussion>The services file is critical to the proper operation of network services and must be protected from unauthorized modification. If the services file has an extended ACL, it may be possible for unauthorized users to modify the file. Unauthorized modification could result in the failure of network services.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22428SV-26660CCI-000366Remove the extended ACL from the file.
# chmod A- /etc/servicesCheck the permissions of the /etc/services file.
# ls -lL /etc/services
If the permissions include a "+", the file has an extended ACL, this is a finding.SRG-OS-000041<GroupDescription></GroupDescription>GEN003800Inetd or xinetd logging/tracing must be enabled.<VulnDiscussion>Inetd or xinetd logging and tracing allows the system administrators to observe the IP addresses connecting to their machines and to observe what network services are being sought. This provides valuable information when trying to find the source of malicious users and potential malicious users.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-1011SV-27430CCI-000134Enable logging or tracing for inetd.
Procedure:
# inetadm -M tcp_trace=TRUE
Set the tcp_trace inet service property to the default for all enabled inetd-managed services.
# inetadm | grep enabled | awk '{print $NF}' | xargs -I X inetadm -m X tcp_trace=
(Note: The trailing '=' instructs inetd to use the default value for tcp_trace.)Verify the default value of the inet service property tcp_trace.
# inetadm -p |grep tcp_trace
If the tcp_trace inet service property is not set or is set to FALSE, this is a finding.
Verify that all enabled inetd-managed processes have the tcp_trace inet service property set to the default value or TRUE.
# inetadm | grep enabled | awk '{print $NF}' | xargs inetadm -l | more
If any enabled inetd-managed processes have the tcp_trace inet service property set to FALSE, this is a finding.SRG-OS-000095<GroupDescription></GroupDescription>GEN003815The portmap or rpcbind service must not be installed unless needed.<VulnDiscussion>The portmap and rpcbind services increase the attack surface of the system and should only be used when needed. The portmap or rpcbind services are used by a variety of services using Remote Procedure Calls (RPCs).</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22430SV-40810CCI-000381Remove all permissions from the rpcbind file.
Procedure:
# chmod 0000 /usr/sbin/rpcbindIf the system needs the portmap service to operate, this is not applicable. The rpcbind program is part of a core Solaris package and cannot be removed. Verify the permissions on the rpcbind file.
# ls -lL /usr/sbin/rpcbind
If the rpcbind service is not required and the rpcbind file has non-zero permissions, this is a finding.SRG-OS-000095<GroupDescription></GroupDescription>GEN003825The rshd service must not be installed.<VulnDiscussion>The rshd process provides a typically unencrypted, host-authenticated remote access service. SSH should be used in place of this service.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22431SV-26668CCI-000381Remove the SUNWrcmdr package.
Procedure:
# pkgrm SUNWrcmdrCheck if the SUNWrcmdr package is installed.
Procedure:
# pkginfo SUNWrcmdr
If the package is installed, this is a finding.SRG-OS-000095<GroupDescription></GroupDescription>GEN003835The rlogind service must not be installed.<VulnDiscussion>The rlogind process provides a typically unencrypted, host-authenticated remote access service. SSH should be used in place of this service.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22433SV-26670CCI-000381Remove the SUNWrcmdr package.
Procedure:
# pkgrm SUNWrcmdrCheck if the SUNWrcmdr package is installed.
Procedure:
# pkginfo SUNWrcmdr
If the package is installed, this is a finding.SRG-OS-000095<GroupDescription></GroupDescription>GEN003840The rexec daemon must not be running.<VulnDiscussion>The rexecd process provides a typically unencrypted, host-authenticated remote access service. SSH should be used in place of this service.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-4688SV-27438CCI-000381# svcadm disable rexec
# svcadm refresh inetd
# svcs rexec
If the service is enabled, this is a finding.SRG-OS-000095<GroupDescription></GroupDescription>GEN003845The rexecd service must not be installed.<VulnDiscussion>The rexecd process provides a typically unencrypted, host-authenticated remote access service. SSH should be used in place of this service.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22434SV-26674CCI-000381Remove the SUNWrcmdr package.
Procedure:
# pkgrm SUNWrcmdrCheck if the SUNWrcmdr package is installed.
Procedure:
# pkginfo SUNWrcmdr
If the package is installed, this is a finding.SRG-OS-000074<GroupDescription></GroupDescription>GEN003850The telnet daemon must not be running.<VulnDiscussion>The telnet daemon provides a typically unencrypted remote access service which does not provide for the confidentiality and integrity of user passwords or the remote session. If a privileged user were to log on using this service, the privileged user password could be compromised.
Satisfies: SRG-OS-000074, SRG-OS-000520</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-24386SV-39864CCI-000197Disable the telnet daemon.
# svcadm disable telnet
# svcadm refresh inetd
Determine if the telnet daemon is running.
# svcs telnet
If the telnet service is enabled, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN003860The system must not have the finger service active.<VulnDiscussion>The finger service provides information about the system's users to network clients. This information could expose information that could be used in subsequent attacks.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-4701SV-27441CCI-000366Disable the finger service and restart inetd.
Procedure:
# svcadm disable finger
# svcadm refresh inetdIf the "SUNWrcmds" package, containing the finger service executable, is not installed, this is not applicable.
# svcs finger
If the finger service is not disabled, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN003900The hosts.lpd file (or equivalent) must not contain a "+" character.<VulnDiscussion>Having the "+" character in the hosts.lpd (or equivalent) file allows all hosts to use local system print resources.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-827SV-40457CCI-000366Configure IPP to use only the localhost or specified remote hosts.
Procedure:
Modify the /etc/apache/httpd-standalone-ipp.conf file to "Listen" only to the local machine or a known set of hosts (i.e., Listen localhost:631).
Modify the /etc/apache/httpd-standalone-ipp.conf file "<Location />" element to "Deny From All" and "Allow from 127.0.0.1" or allowed host addresses.
Restart the IPP service:
# svcadm restart ipp-listenerSolaris uses the "IPP" print service and can also use the Samba print service. Verify remote host access is limited.
Procedure:
# grep -i Listen /etc/apache/httpd-standalone-ipp.conf
The /etc/apache/httpd-standalone-ipp.conf file must not contain a Listen *:<port> or equivalent line.
If the network address of the "Listen" line is unrestricted, this is a finding.
# grep -i "Allow From" /etc/apache/httpd-standalone-ipp.conf
The "Allow From" line within the "<Location />" element should limit access to the printers to @LOCAL and specific hosts.
If the "Allow From" line contains "All", this is a finding.
Verify guest access to printers shared via Samba is restricted according to GEN006235.SRG-OS-000312<GroupDescription></GroupDescription>GEN003920The hosts.lpd (or equivalent) file must be owned by root.<VulnDiscussion>Failure to give ownership of the hosts.lpd file to root provides the designated owner, and possible unauthorized users, with the potential to modify the hosts.lpd file. Unauthorized modifications could disrupt access to local printers from authorized remote hosts or permit unauthorized remote access to local printers.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-828SV-37455CCI-002165Change the owner of the print service configuration files.
Procedure:
# chown root /etc/apache/httpd-standalone-ipp.conf /etc/printers.conf /etc/sfw/smb.confCheck the owner of the print service configuration files.
Procedure:
# ls -lL /etc/apache/httpd-standalone-ipp.conf /etc/printers.conf /etc/smb.conf /etc/sfw/smb.conf /etc/samba/smb.conf /etc/sfw/samba/smb.conf
If the owner of any of the print service configuration files is not root, this is a finding.SRG-OS-000312<GroupDescription></GroupDescription>GEN003940The hosts.lpd (or equivalent) must have mode 0644 or less permissive.<VulnDiscussion>Excessive permissions on the hosts.lpd (or equivalent) file may permit unauthorized modification. Unauthorized modifications could disrupt access to local printers from authorized remote hosts or permit unauthorized remote access to local printers.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-829SV-37457CCI-002165Change the mode of the print service configuration files to 0644 or less permissive.
Procedure:
# chmod 0644 /etc/apache/httpd-standalone-ipp.conf /etc/printers.conf /etc/smb.conf /etc/sfw/smb.conf /etc/samba/smb.conf /etc/sfw/samba/smb.confCheck the mode of the print service configuration files.
Procedure:
# ls -lL /etc/apache/httpd-standalone-ipp.conf /etc/printers.conf /etc/smb.conf /etc/sfw/smb.conf /etc/samba/smb.conf /etc/sfw/samba/smb.conf
If the mode of any of the print service configuration file is more permissive than 0644, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN003950The hosts.lpd (or equivalent) file must not have an extended ACL.<VulnDiscussion>Excessive permissions on the hosts.lpd (or equivalent) file may permit unauthorized modification. Unauthorized modifications could disrupt access to local printers from authorized remote hosts or permit unauthorized remote access to local printers.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22436SV-26678CCI-000366Remove the extended ACLs from the files.
# chmod A- /etc/apache/httpd-standalone-ipp.conf /etc/printers.conf /etc/smb.conf /etc/sfw/smb.conf /etc/samba/smb.conf /etc/sfw/samba/smb.conf
Check the permissions of the print service configuration files.
Procedure:
# ls -lL /etc/apache/httpd-standalone-ipp.conf /etc/printers.conf /etc/smb.conf /etc/sfw/smb.conf /etc/samba/smb.conf /etc/sfw/samba/smb.conf
If the permissions on any file include a '+', the file has an extended ACL and this is a finding.
SRG-OS-000480<GroupDescription></GroupDescription>GEN003960The traceroute command owner must be root.<VulnDiscussion>If the traceroute command owner has not been set to root, an unauthorized user could use this command to obtain knowledge of the network topology inside the firewall. This information may allow an attacker to determine trusted routers and other network information possibly leading to system and network compromise.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-4369SV-28392CCI-000366Change the owner of the traceroute command to root.
Example procedure:
# chown root /usr/sbin/traceroute
# ls -lL /usr/sbin/traceroute
If the traceroute command is not owned by root, this is a finding.
SRG-OS-000480<GroupDescription></GroupDescription>GEN003980The traceroute command must be group-owned by sys, bin, or root.<VulnDiscussion>If the group owner of the traceroute command has not been set to a system group, unauthorized users could have access to the command and use it to gain information regarding a network's topology inside of the firewall. This information may allow an attacker to determine trusted routers and other network information possibly leading to system and network compromise.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-4370SV-28395CCI-000366Change the group-owner of the traceroute command to root.
Procedure:
# chgrp root /usr/sbin/tracerouteCheck the group ownership of the traceroute file.
Procedure:
# ls -lL /usr/sbin/traceroute
If the traceroute command is not group-owned by root, sys, or bin, this is a finding.SRG-OS-000312<GroupDescription></GroupDescription>GEN004000The traceroute file must have mode 0700 or less permissive.<VulnDiscussion>If the mode of the traceroute executable is more permissive than 0700, malicious code could be inserted by an attacker and triggered whenever the traceroute command is executed by authorized users. Additionally, if an unauthorized user is granted executable permissions to the traceroute command, it could be used to gain information about the network topology behind the firewall. This information may allow an attacker to determine trusted routers and other network information that may lead to system and network compromise.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-4371SV-28399CCI-002165Change the mode of the traceroute command.
# chmod 0700 /usr/sbin/traceroute
# ls -lL /usr/sbin/traceroute
If the traceroute command has a mode more permissive than 0700, this is a finding.
SRG-OS-000480<GroupDescription></GroupDescription>GEN004010The traceroute file must not have an extended ACL.<VulnDiscussion>If an extended ACL exists on the traceroute executable file, it may provide unauthorized users with access to the file. Malicious code could be inserted by an attacker and triggered whenever the traceroute command is executed by authorized users. Additionally, if an unauthorized user is granted executable permissions to the traceroute command, it could be used to gain information about the network topology behind the firewall. This information may allow an attacker to determine trusted routers and other network information possibly leading to system and network compromise.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22437SV-26682CCI-000366Remove the extended ACL from the file.
# chmod A- /usr/sbin/tracerouteCheck the permissions of the /usr/sbin/traceroute file.
# ls -lL /usr/contrib/bin/traceroute
If the permissions include a "+", the file has an extended ACL and this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN004220Administrative accounts must not run a web browser, except as needed for local service administration.<VulnDiscussion>If a web browser flaw is exploited while running as a privileged user, the entire system could be compromised.
Specific exceptions for local service administration should be documented in site-defined policy. These exceptions may include HTTP(S)-based tools used for the administration of the local system, services, or attached devices. Examples of possible exceptions are HP's System Management Homepage (SMH), the CUPS administrative interface, and Sun's StorageTek Common Array Manager (CAM) when these services are running on the local system.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-4382SV-4382CCI-000366Enforce policy requiring administrative accounts use web browsers only for local service administration.Look in the root account home directory for a .netscape or a .mozilla directory. If none exists, this is not a finding. If there is one, verify with the root users and the IAO what the intent of the browsing is. Some evidence may be obtained by using the browser to view cached pages under the .netscape directory.SRG-OS-000312<GroupDescription></GroupDescription>GEN004360The alias file must be owned by root.<VulnDiscussion>If the alias file is not owned by root, an unauthorized user may modify the file to add aliases to run malicious code or redirect email.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-831SV-40493CCI-002165Change the owner of the /etc/mail/aliases file (or equivalent, such as /usr/lib/aliases) to root.
Procedure:
# chown root /etc/mail/aliasesFind the alias file on the system.
Procedure:
# egrep '^O(A| AliasFile)' /etc/mail/sendmail.cf
If the "alias file" is an NIS or LDAP map, this check is not applicable. The default location is /etc/mail/aliases.
Check the ownership of the alias file.
Procedure:
# ls -lL <alias file>
If the alias file is not owned by root, this is a finding.SRG-OS-000312<GroupDescription></GroupDescription>GEN004380The alias file must have mode 0644 or less permissive.<VulnDiscussion>Excessive permissions on the aliases file may permit unauthorized modification. If the alias file is modified by an unauthorized user, they may modify the file to run malicious code or redirect email.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-832SV-40651CCI-002165Change the mode of the /etc/mail/aliases files (or equivalent, such as /usr/lib/aliases) to 0644.
Procedure:
# chmod 0644 /etc/mail/aliases /etc/mail/aliases.dbFind the alias files on the system.
Procedure:
# egrep '^O(A| AliasFile)' /etc/mail/sendmail.cf
If the alias file is an NIS or LDAP map, this check is not applicable. The default location is /etc/mail/aliases.
Check the permissions of the alias file and the hashed version of it used by sendmail.
Procedure:
# ls -lL /etc/mail/aliases /etc/mail/aliases.db
If the alias files have a mode more permissive than 0644, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN004390The alias file must not have an extended ACL.<VulnDiscussion>Excessive permissions on the aliases file may permit unauthorized modification. If the alias file is modified by an unauthorized user, they may modify the file to run malicious code or redirect email.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22439SV-26687CCI-000366Remove the extended ACL from the files.
# chmod A- /etc/mail/aliases /etc/mail/aliases.dbFind the alias files on the system.
Procedure:
# egrep '^O(A| AliasFile)' /etc/mail/sendmail.cf
If the "alias file" is an NIS or LDAP map, this check is not applicable. The default location is /etc/mail/aliases.
Check the permissions of the alias file and the hashed version of it used by sendmail.
Procedure:
# ls -lL /etc/mail/aliases /etc/mail/aliases.db
If the permissions include a "+", the file has an extended ACL and this is a finding.SRG-OS-000312<GroupDescription></GroupDescription>GEN004400Files executed through a mail aliases file must be owned by root and must reside within a directory owned and writable only by root.<VulnDiscussion>If a file executed through a mail aliases file is not owned and writable only by root, it may be subject to unauthorized modification. Unauthorized modification of files executed through aliases may allow unauthorized users to attain root privileges.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-833SV-833CCI-002165Edit the /etc/mail/aliases file (alternatively, /usr/lib/sendmail.cf). Locate the entries executing a program. They will appear similar to the following line.
Aliasname: : /usr/local/bin/ls (or some other program name)
Ensure root owns the programs and the directory(ies) they reside in by using the chown command to change owner to root.
Procedure:
# chown root filenameFind the aliases file on the system.
Procedure:
# find / -name aliases -depth -print
# more < aliases file location >
Examine the aliases file for any directories or paths that may be utilized.
Procedure:
# ls -lL < path >
Check if the file or parent directory is owned by root. If not, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN004410Files executed through a mail aliases file must be group-owned by root, bin, or sys, and must reside within a directory group-owned by root, bin, or sys.<VulnDiscussion>If a file executed through a mail aliases file is not group-owned by root or a system group, it may be subject to unauthorized modification. Unauthorized modification of files executed through aliases may allow unauthorized users to attain root privileges.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22440SV-39904CCI-000366Change the group ownership of the file referenced from /etc/mail/aliases.
Procedure:
# chgrp root <file referenced from aliases>Examine the contents of the /etc/mail/aliases file.
For each file referenced, check the group ownership of the file.
Procedure:
# ls -lL <file referenced from aliases>
If the group owner of any file is not root, bin, or sys, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN004430Files executed through a mail aliases file must not have extended ACLs.<VulnDiscussion>Excessive permissions on files executed through a mail alias file could result in modification by an unauthorized user, execution of malicious code, and/or system compromise.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22441SV-26696CCI-000366Remove the extended ACL from the file.
# chmod A- [file referenced from aliases]Examine the contents of the /etc/mail/aliases file.
For each file referenced, check the permissions of the file.
# ls -lL [file referenced from aliases]
If the permissions include a "+", the file has an extended ACL and this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN004440Sendmail logging must not be set to less than nine in the sendmail.cf file.<VulnDiscussion>If Sendmail is not configured to log at level 9, system logs may not contain the information necessary for tracking unauthorized use of the Sendmail service.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-835SV-835CCI-000366Edit the sendmail.conf file, locate the "O L" or LogLevel entry and change it to 9. Check if Sendmail logging is set to level 9.
Procedure:
# grep "O L" /etc/mail/sendmail.cf
OR
# grep LogLevel /etc/mail/sendmail.cf
If logging is set to less than 9, this is a finding.SRG-OS-000062<GroupDescription></GroupDescription>GEN004460The system syslog service must log informational and more severe SMTP service messages.<VulnDiscussion>If informational and more severe SMTP service messages are not logged, malicious activity on the system may go unnoticed.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-836SV-41546CCI-000169Edit the syslog.conf file and add a configuration line specifying an appropriate destination for mail.crit syslogs. Check the syslog configuration file for mail.crit logging configuration.
Procedure:
# more /etc/syslog.conf
Verify a line similar to one of the following lines is present in syslog.conf is configured so that critical mail log data is logged. (Critical log data may also be captured by a remote log host in accordance with GEN005460.)
mail.crit /var/adm/messages
*.crit /var/log/messages
Less severe syslog levels (err, warning, info, and debug) may be substituted for crit, since they will also capture crit level syslog messages. If syslog is not configured to log critical Sendmail messages, this is a finding.SRG-OS-000312<GroupDescription></GroupDescription>GEN004480The SMTP service log file must be owned by root.<VulnDiscussion>If the SMTP service log file is not owned by root, then unauthorized personnel may modify or delete the file to hide a system compromise.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-837SV-837CCI-002165Change the ownership of the Sendmail log file.
# chown root <sendmail log file> Locate any mail log files by checking the syslog configuration file.
Procedure:
# more /etc/syslog.conf
Identify any log files configured for the mail service at any severity level, or those configured for all services. Check the ownership of these log files.
Procedure:
# ls -lL <file location>
If any mail log file is not owned by root, this is a finding.SRG-OS-000312<GroupDescription></GroupDescription>GEN004500The SMTP service log file must have mode 0644 or less permissive.<VulnDiscussion>If the SMTP service log file is more permissive than 0644, unauthorized users may be allowed to change the log file.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-838SV-838CCI-002165Change the mode of the SMTP service log file.
Procedure:
# chmod 0644 <sendmail log file>Check the mode of the SMTP service log file.
Procedure:
# more /etc/syslog.conf
Check the configuration to determine which log files contain logs for mail.crit, mail.debug, or *.crit.
Procedure:
# ls -lL <file location>
If the log file permissions are greater than 0644, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN004510The SMTP service log file must not have an extended ACL.<VulnDiscussion>If the SMTP service log file has an extended ACL, unauthorized users may be allowed to access or to modify the log file.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22442SV-26700CCI-000366Remove the extended ACL from the file.
# chmod A- [log file]Examine /etc/syslog.conf and determine the log file(s) receiving logs for mail.crit, mail.debug, mail.*, or *.crit.
Check the permissions on these log files.
# ls -lL [log file]
If the permissions include a "+", the file has an extended ACL and this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN004660The SMTP service must not have the EXPN feature active.<VulnDiscussion>The SMTP EXPN function allows an attacker to determine if an account exists on a system, providing significant assistance to a brute-force attack on user accounts. EXPN may also provide additional information concerning users on the system, such as the full names of account owners.
False Positives:
False positives may occur with the SMTP EXPN check. According to RFC821, it is acceptable for a server to respond with a 250 (success) or 550 (failure) when the server supports the EXPN command. For example, some servers return "550 EXPN command not available", meaning the command is not supported and the machine is not vulnerable. However, a result of "550 That is a mailing list, not a user" would be a failure code, but not an indication of an error, and the machine would be vulnerable. If false positive is suspected, check the log file for the response from the server.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-4692SV-4692CCI-000366Edit the sendmail.cf file and add Opnoexpn option.
Restart the Sendmail service. Determine if EXPN is disabled.
Procedure:
# telnet localhost 25
expn root
If the command does not return a 500 error code of command unrecognized, this is a finding.
OR
Locate the sendmail.cf configuration file.
Procedure:
# find / -name sendmail.cf -print
# grep -v "^#" <sendmail.cf location> | egrep -i "(goaway|noexpn)"
Verify the EXPN command is disabled with an entry in the sendmail.cf file that reads as one of the following:
Opnoexpn
O PrivacyOptions=noexpn
Opgoaway
O PrivacyOptions=goaway
(Other privacy options, such as novrfy or noetrn, may be included in the same line, separated by commas. The goaway option encompasses a number of privacy options, including noexpn.) If the EXPN command is not disabled, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN004680The SMTP service must not have the VRFY feature active.<VulnDiscussion>The VRFY (Verify) command allows an attacker to determine if an account exists on a system, providing significant assistance to a brute-force attack on user accounts. VRFY may provide additional information about users on the system, such as the full names of account owners.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-4693SV-4693CCI-000366If Sendmail is running, add the line Opnovrfy to the Sendmail configuration file, usually located in /etc/sendmail.cf. For other mail servers, contact the vendor for information on how to disable the verify command. Newer versions of Sendmail are available at http://www.sendmail.org or from ftp://ftp.cs.berkeley.edu/ucb/sendmail.Determine if VRFY is disabled.
Procedure:
# telnet localhost 25
vrfy root
If the command does not return a 500 error code of command unrecognized, this is a finding.
OR
Locate the sendmail.cf configuration file.
Procedure:
# find / -name sendmail.cf -print
# grep -v "^#" <sendmail.cf location> |grep -i "(goaway|vrfy)"
Verify the VRFY command is disabled with an entry in the sendmail.cf file that reads as one of the following:
Opnovrfy
O PrivacyOptions=novrfy
Opgoaway
O PrivacyOptions=goaway
(Other privacy options, such as noexpn or noetrn, may be included in the same line, separated by commas. The goaway option encompasses a number of privacy options, including novrfy.) If the VRFY command is not disabled, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN004700The Sendmail service must not have the wizard backdoor active.<VulnDiscussion>Very old installations of the Sendmail mailing system contained a feature whereby a remote user connecting to the SMTP port can enter the WIZ command and be given an interactive shell with root privileges.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-4694SV-4694CCI-000366If the WIZ command is enabled on Sendmail, it should be disabled by adding this line to the sendmail.cf configuration file (it must be typed in uppercase).
OW*
For the change to take effect, kill the Sendmail process, refreeze the sendmail.cf file, and restart the Sendmail process.Locate the sendmail.cf configuration file and check for wiz configuration.
Procedure:
# find / -name sendmail.cf -print
# grep -v "^#" <sendmail.cf location> |grep -i wiz
If an entry is found for wiz, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN004710Mail relaying must be restricted.<VulnDiscussion>If unrestricted mail relaying is permitted, unauthorized senders could use this host as a mail relay for the purpose of sending SPAM or other unauthorized activity.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-23952SV-28908CCI-000366If the system uses Sendmail, edit the sendmail.mc file and remove the promiscuous_relay configuration. Rebuild the sendmail.cf file from the modified sendmail.mc and restart the service. If the system does not need to receive mail from external hosts, add one or more DaemonPortOptions lines referencing system loopback addresses (such as "O DaemonPortOptions=Addr=127.0.0.1,Port=smtp,Name=MTA") and remove lines containing non-loopback addresses. Restart the service.
If the system uses Postfix, edit the main.cf file and add or edit the smtpd_client_restrictions line to have contents permit mynetworks, reject or a similarly restrictive rule. If the system does not need to receive mail from external hosts, add or edit the inet_interfaces line to have contents loopback-only or a set of loopback addresses for the system. Restart the service.
If the system is using other SMTP software, consult the software's documentation for procedures to restrict mail relaying.If the system uses Sendmail, locate the sendmail.cf file.
Procedure:
# find / -name sendmail.cf
Determine if Sendmail only binds to loopback addresses by examining the DaemonPortOptions configuration options.
Procedure:
# grep -i "O DaemonPortOptions" </path/to/sendmail.cf>
If there are uncommented DaemonPortOptions lines, and all such lines specify system loopback addresses, this is not a finding.
Otherwise, determine if Sendmail is configured to allow open relay operation.
Procedure:
# find / -name sendmail.mc
# grep -i promiscuous_relay </path/to/sendmail.mc>
If the promiscuous relay feature is enabled, this is a finding.
If the system uses Postfix, locate the main.cf file.
Procedure:
# find / -name main.cf
Determine if Postfix only binds to loopback addresses by examining the inet_interfaces line.
Procedure:
# grep inet_interfaces </path/to/main.cf>
If inet_interfaces is set to loopback-only or contains only loopback addresses, such as 127.0.0.1 and [::1], Postfix is not listening on external network interfaces, this is not a finding.
Otherwise, determine if Postfix is configured to restrict clients permitted to relay mail by examining the smtpd_client_restrictions line.
Procedure:
# grep smtpd_client_restrictions </path/to/main.cf>
If the smtpd_client_restrictions line is missing, or does not contain reject, this is a finding. If the line contains permit before reject, this is a finding.
If the system is using other SMTP software, consult the software's documentation for procedures to verify mail relaying is restricted.SRG-OS-000480<GroupDescription></GroupDescription>GEN004800Unencrypted FTP must not be used on the system.<VulnDiscussion>FTP is typically unencrypted and, therefore, presents confidentiality and integrity risks. FTP may be protected by encryption in certain cases, such as when used in a Kerberos environment. SFTP and FTPS are encrypted alternatives to FTP.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-12010SV-28635CCI-000366# svcadm disable ftp
Perform the following to determine if unencrypted FTP is enabled.
# svcs ftp
If FTP is enabled, ask the SA if it is encrypted. If it is not, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN004820Anonymous FTP must not be active on the system unless authorized.<VulnDiscussion>Due to the numerous vulnerabilities inherent in anonymous FTP, it is recommended that it not be used. If anonymous FTP must be used on a system, the requirement must be authorized and approved in the system accreditation package.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-846SV-846CCI-000366Configure the FTP service to not permit anonymous logins. Attempt to log into this host with a user name of anonymous and a password of guest (also try the password of guest@mail.com). If the logon is successful, this is a finding.
Procedure:
# ftp localhost
Name: anonymous
530 Guest login not allowed on this machine.
SRG-OS-000480<GroupDescription></GroupDescription>GEN004840If the system is an anonymous FTP server, it must be isolated to the DMZ network.<VulnDiscussion>Anonymous FTP is a public data service which is only permitted in a server capacity when located on the DMZ network.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-4702SV-4702CCI-000366Move the system to a DMZ network.Use the command ftp to connect the system's FTP service. Attempt to log into this host with a user name of anonymous and a password of guest (also try the password of guest@mail.com). If the logon is not successful, this check is not applicable.
Ask the SA if the system is located on a DMZ network. If the system is not located on a DMZ network, this is a finding.SRG-OS-000312<GroupDescription></GroupDescription>GEN004880The ftpusers file must exist.<VulnDiscussion>The ftpusers file contains a list of accounts not allowed to use FTP to transfer files. If this file does not exist, then unauthorized accounts can utilize FTP.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-840SV-28404CCI-002165Create a /etc/ftpd/ftpusers file containing a list of accounts not authorized for FTP.Check for the existence of the ftpusers file.
# ls -l /etc/ftpd/ftpusers
If the ftpusers file does not exist, this is a finding.SRG-OS-000312<GroupDescription></GroupDescription>GEN004900The ftpusers file must contain account names not allowed to use FTP.<VulnDiscussion>The ftpusers file contains a list of accounts that are not allowed to use FTP to transfer files. If the file does not contain the names of all accounts not authorized to use FTP, then unauthorized use of FTP may take place.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-841SV-28407CCI-002165Add accounts not allowed to use FTP to the /etc/ftpd/ftpusers file.Check the contents of the ftpusers file.
Procedure:
# more /etc/ftpd/ftpusers
If the system has accounts not allowed to use FTP that are not listed in the ftpusers file, this is a finding.SRG-OS-000312<GroupDescription></GroupDescription>GEN004920The ftpusers file must be owned by root.<VulnDiscussion>If the file ftpusers is not owned by root, an unauthorized user may modify the file to allow unauthorized accounts to use FTP.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-842SV-28410CCI-002165Change the owner of the ftpusers file to root.
# chown root /etc/ftpd/ftpusers
Check the ownership of the ftpusers file.
# ls -l /etc/ftpd/ftpusers
If the ftpusers file is not owned by root, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN004930The ftpusers file must be group-owned by root, bin, or sys.<VulnDiscussion>If the ftpusers file is not group-owned by root or a system group, an unauthorized user may modify the file to allow unauthorized accounts to use FTP.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22444SV-39905CCI-000366Change the group owner of the ftpusers file.
Procedure:
# chgrp root /etc/ftpusersCheck the group ownership of the ftpusers file.
Procedure:
# ls -lL /etc/ftpd/ftpusers /etc/vsftpd.ftpusers /etc/vsftpd/ftpusers
If the file is not group-owned by root, bin, or sys, this is a finding.SRG-OS-000312<GroupDescription></GroupDescription>GEN004940The ftpusers file must have mode 0640 or less permissive.<VulnDiscussion>Excessive permissions on the ftpusers file could permit unauthorized modification. Unauthorized modification could result in Denial of Service to authorized FTP users or permit unauthorized users to access the FTP service.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-843SV-28413CCI-002165Change the mode of the ftpusers file to 0640.
# chmod 0640 /etc/ftpd/ftpusersCheck the permissions of the ftpusers file.
# ls -l /etc/ftpd/ftpusers
If the ftpusers file has a mode more permissive than 0640, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN004950The ftpusers file must not have an extended ACL.<VulnDiscussion>Excessive permissions on the ftpusers file could permit unauthorized modification. Unauthorized modification could result in Denial of Service to authorized FTP users or permit unauthorized users to access the FTP service.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22445SV-26707CCI-000366Remove the extended ACL from the file.
# chmod A- /etc/ftpd/ftpusersCheck the permissions of the /etc/ftpd/ftpusers file.
# ls -lL /etc/ftpd/ftpusers
If the permissions include a "+", the file has an extended ACL and this is a finding.SRG-OS-000037<GroupDescription></GroupDescription>GEN004980The FTP daemon must be configured for logging or verbose mode.<VulnDiscussion>The -l option allows basic logging of connections. The verbose (on HP) and the debug (on Solaris) allow logging of what files the FTP session transferred. This extra logging makes it possible to easily track which files are being transferred onto or from a system. If they are not configured, the only option for tracking is the audit files. The audit files are much harder to read. If auditing is not properly configured, then there would be no record at all of the file transfer transactions.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-845SV-40816CCI-000130Add the -l option to the exec name-value pair used by SMF to invoke the FTP daemon.
# inetadm -m ftp exec="/usr/sbin/in.ftpd [other options] -l"
Refresh inetd.
# svcadm refresh inetdVerify the FTP daemon is invoked with the -l option by SMF.
# inetadm -l ftp | grep in.ftpd
If the exec name-value pair does not include the -l option for in.ftpd, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN005000Anonymous FTP accounts must not have a functional shell.<VulnDiscussion>If an anonymous FTP account has been configured to use a functional shell, attackers could gain access to the shell if the account is compromised.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-4387SV-4387CCI-000366Configure anonymous FTP accounts to use a non-functional shell. If necessary, edit the /etc/passwd file to remove any functioning shells associated with the FTP account and replace them with non-functioning shells, such as, /dev/null. Check the shell for the anonymous FTP account.
Procedure:
# grep "^ftp" /etc/passwd
This is a finding if the seventh field is empty (the entry ends with a ':') or if the seventh field does not contain one of the following.
/bin/false
/dev/null
/usr/bin/false
/bin/true
/sbin/nologinSRG-OS-000480<GroupDescription></GroupDescription>GEN005020The anonymous FTP account must be configured to use chroot or a similarly isolated environment.<VulnDiscussion>If an anonymous FTP account does not use a chroot or similarly isolated environment, the system may be more vulnerable to exploits against the FTP service. Such exploits could allow an attacker to gain shell access to the system and view, edit, or remove sensitive files.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061SV-39838V-4388CCI-000366Run the ftpconfig(1M) command to set up a chroot-ed environment for anonymous FTP with appropriate constraints.
# ftpconfig < anonymous FTP home directory>The default Solaris FTP daemon, in.ftpd, uses the ftp user's home directory as the chroot base for anonymous FTP. If any files and directories within the ftp user's home directory are owned by any user other than root, or if any subdirectory other than pub has permissions more permissive than 0111, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN005040All FTP users must have a default umask of 077.<VulnDiscussion>The umask controls the default access mode assigned to newly created files. An umask of 077 limits new files to mode 700 or less permissive. Although umask is stored as a 4-digit number, the first digit representing special access modes is typically ignored or required to be 0.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-12011SV-12512CCI-000366Edit the initialization files for the FTP user and set the umask to 077.Check the umask setting for the FTP user.
Procedure:
# su - ftp
$ umask
If the umask value does not return 077, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN005080The TFTP daemon must operate in secure mode which provides access only to a single directory on the host file system.<VulnDiscussion>Secure mode limits TFTP requests to a specific directory. If TFTP is not running in secure mode, it may be able to write to any file or directory and may seriously impair system integrity, confidentiality, and availability.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-847SV-28419CCI-000366Edit /etc/inet/inetd.conf and add the -s parameter to TFTPD.
# inetconv
OR
Update the SMF entry for the TFTP daemon.
# svccfg -s tftp/udp6 setprop inetd_start/exec = "astring:\"/usr/sbin/in.tftpd -s <other TFTPD options>\""Determine if TFTPD is running in secure mode.
# grep tftp /etc/inet/inetd.conf
OR
# svccfg -s tftp/udp6 listprop |grep in.tftpd |grep exec
If any returned service line does not use the -s parameter to TFTPD, this is a finding. If TFTP is not installed this check is not applicable.SRG-OS-000312<GroupDescription></GroupDescription>GEN005100The TFTP daemon must have mode 0755 or less permissive.<VulnDiscussion>If TFTP runs with the setuid or setgid bit set, it may be able to write to any file or directory and may seriously impair system integrity, confidentiality, and availability.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-848SV-40392CCI-002165Change the mode of the TFTP daemon.
Procedure:
# chmod 0755 /usr/sbin/in.tftpdCheck the mode of the TFTP daemon.
Procedure:
# ls -lL /usr/sbin/in.tftpd
If the mode of the file is more permissive than 0755, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN005140Any active TFTP daemon must be authorized and approved in the system accreditation package.<VulnDiscussion>TFTP is a file transfer protocol often used by embedded systems to obtain configuration data or software. The service is unencrypted and does not require authentication of requests. Data available using this service may be subject to unauthorized access or interception.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-4695SV-28423CCI-000366Disable the TFTP daemon.
# svcadm disable svc:/network/tftp/*
# svcadm refresh inetd
If TFTP is found enabled, it is a finding if it is not documented.Determine if the TFTP daemon is active.
# svcs svc:/network/tftp/*
If TFTP is found enabled, it is a finding if it is not documented using site-defined procedures.SRG-OS-000480<GroupDescription></GroupDescription>GEN005160Any X Windows host must write .Xauthority files.<VulnDiscussion>.Xauthority files ensure the user is authorized to access the specific X Windows host. If .Xauthority files are not used, it may be possible to obtain unauthorized access to the X Windows host.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-850SV-850CCI-000366Ensure the X Windows host is configured to write .Xauthority files into user home directories. Edit the Xaccess file. Ensure the line that writes the .Xauthority file is uncommented.Check for .Xauthority files being utilized by looking for such files in the home directory of a user that uses X.
Procedure:
# cd ~someuser
# ls -la .Xauthority
If the .Xauthority file does not exist, ask the SA if the user is using X Windows. If the user is utilizing X Windows and the .Xauthority file does not exist, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN005180All .Xauthority files must have mode 0600 or less permissive.<VulnDiscussion>.Xauthority files ensure the user is authorized to access the specific X Windows host. Excessive permissions may permit unauthorized modification of these files, which could lead to Denial of Service to authorized access or allow unauthorized access to be obtained.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-12014SV-12515CCI-000366Change the mode of the .Xauthority files.
Procedure:
# chmod 0600 .XauthorityCheck the file permissions for the .Xauthority files in the home directories of users of X.
Procedure:
# cd ~<X user>
# ls -lL .Xauthority
If the file mode is more permissive than 0600, this is finding.
SRG-OS-000480<GroupDescription></GroupDescription>GEN005190The .Xauthority files must not have extended ACLs.<VulnDiscussion>.Xauthority files ensure the user is authorized to access the specific X Windows host. Extended ACLs may permit unauthorized modification of these files, which could lead to Denial of Service to authorized access or allow unauthorized access to be obtained.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22446SV-26711CCI-000366Remove the extended ACL from the file.
# chmod A- .XauthorityCheck the file permissions for the .Xauthority files.
# ls -lL .Xauthority
If the permissions include a "+", the file has an extended ACL and this is a finding.
SRG-OS-000480<GroupDescription></GroupDescription>GEN005200X displays must not be exported to the world.<VulnDiscussion>Open X displays allow an attacker to capture keystrokes and to execute commands remotely. Many users have their X Server set to xhost +, permitting access to the X Server by anyone, from anywhere.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-4697SV-4697CCI-000366If using an xhost-type authentication the xhost - command can be used to remove current trusted hosts and then selectively allow only trusted hosts to connect with xhost + commands. A cryptographically secure authentication, such as provided by the xauth program, is always preferred. Refer to your X11 server's documentation for further security information.If X Windows is not used on the system, this is not applicable.
Check the output of the xhost command from an X terminal.
Procedure:
$ xhost
If the output reports access control is enabled (and possibly lists the hosts that can receive X Window logins), this is not a finding. If the xhost command returns a line indicating access control is disabled, this is a finding.
NOTE: It may be necessary to define the display if the command reports it cannot open the display.
Procedure:
$ DISPLAY=MachineName:0.0; export DISPLAY
MachineName may be replaced with an Internet Protocol Address. Repeat the check procedure after setting the display.SRG-OS-000480<GroupDescription></GroupDescription>GEN005220.Xauthority or X*.hosts (or equivalent) file(s) must be used to restrict access to the X server.<VulnDiscussion>If access to the X server is not restricted, a user's X session may be compromised.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-12016SV-12517CCI-000366Create an X*.hosts file, where * is a display number that may be used to limit X window connections. Add the list of authorized X clients to the file.Determine if the X server is running.
Procedure:
# ps -ef |grep X
Determine if xauth is being used.
Procedure:
# xauth
xauth> list
If the above command sequence does not show any host other than the localhost, then xauth is not being used.
Search the system for an X*.hosts files, where * is a display number that may be used to limit X window connections. If no files are found, X*.hosts files are not being used. If the X*.hosts files contain any unauthorized hosts, this is a finding.
If both xauth and X*.hosts files are not being used, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN005240The .Xauthority utility must only permit access to authorized hosts.<VulnDiscussion>If unauthorized clients are permitted access to the X server, a user's X session may be compromised.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-12017SV-12518CCI-000366Remove unauthorized clients from the xauth configuration.
# xauth remove <display name>Check the X Window system access is limited to authorized clients.
Procedure:
# xauth
xauth> list
Ask the SA if the clients listed are authorized. If any are not, this is a finding.SRG-OS-000095<GroupDescription></GroupDescription>GEN005260X Window System connections that are not required must be disabled.<VulnDiscussion>If unauthorized clients are permitted access to the X server, a user's X session may be compromised.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-12018SV-12519CCI-000381Disable the X Windows server on the system.Determine if the X Window system is running.
Procedure:
# ps -ef |grep X
Ask the SA if the X Window system is an operational requirement. If it is not, this is a finding.SRG-OS-000095<GroupDescription></GroupDescription>GEN005280The system must not have the UUCP service active.<VulnDiscussion>The UUCP utility is designed to assist in transferring files, executing remote commands, and sending email between UNIX systems over phone lines and direct connections between systems. The UUCP utility is a primitive and arcane system with many security issues. There are alternate data transfer utilities/products that can be configured to more securely transfer data by providing for authentication, as well as encryption.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-4696SV-28428CCI-000381# svcadm disable uucp
# svcadm refresh inetd# svcs uucp
If UUCP is found enabled and its use is not justified and documented with the ISSO, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN005300SNMP communities, users, and passphrases must be changed from the default.<VulnDiscussion>Whether active or not, default SNMP passwords, users, and passphrases must be changed to maintain security. If the service is running with the default authenticators, then anyone can gather data about the system and the network and use the information to potentially compromise the integrity of the system or network(s).</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-993SV-40281CCI-000366Change the default passwords. To change them, locate the snmpd.conf file and edit it. Locate the line system-group-read-community which has a default password of public and make the password something more random (less guessable). Make the same changes for the lines that read system-group-write-community, read-community, write-community, trap, and trap-community. Read the information in the file carefully. The trap is defining who to send traps to, for instance, by default. It is not a password, but the name of a host.Check the SNMP configuration for default passwords.
Locate and examine the SNMP configuration.
Procedure:
# more /etc/sma/snmp/snmpd.conf /var/sma_snmp/snmpd.conf /etc/snmp/conf/snmpd.conf /usr/sfw/lib/sma_snmp/snmpd.conf
Identify any community names or user password configuration. If any community name or password is set to a default value, such as public, private, snmp-trap, or password, this is a finding.SRG-OS-000095<GroupDescription></GroupDescription>GEN005305The SNMP service must use only SNMPv3 or its successors.<VulnDiscussion>SNMP Versions 1 and 2 are not considered secure. Without the strong authentication and privacy provided by the SNMP Version 3 User-based Security Model (USM), an attacker or other unauthorized users may gain access to detailed system management information and use the information to launch attacks against the system.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22447SV-26715CCI-000381Edit non-compliant snmpd.conf files and remove references to the v1, v2c, community, or com2sec. Restart the SNMP service.
# svcadm restart svc:/application/management/sma:defaultVerify the SNMP daemon is not configured to use the v1 or v2c security models.
# egrep '(v1|v2c|community|com2sec)' /etc/sma/snmp/snmpd.conf /var/sma_snmp/snmpd.conf /etc/snmp/conf/snmpd.conf /usr/sfw/lib/sma_snmp/snmpd.conf | grep -v '^#'
If any configuration is found, this is a finding.SRG-OS-000312<GroupDescription></GroupDescription>GEN005320The snmpd.conf file must have mode 0600 or less permissive.<VulnDiscussion>The snmpd.conf file contains authenticators and must be protected from unauthorized access and modification.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-994SV-40262CCI-002165Change the mode of the SNMP daemon configuration file to 0600.
Procedure:
# chmod 0600 <snmpd.conf> Check the mode of the SNMP daemon configuration files.
Procedure:
# ls -lL /etc/sma/snmp/snmpd.conf /etc/snmp/conf/snmpd.conf /var/sma_snmp/snmpd.conf /usr/sfw/lib/sma_snmp/snmpd.conf
If any of the snmpd.conf files have a mode more permissive than 0600, this is a finding.SRG-OS-000312<GroupDescription></GroupDescription>GEN005340Management Information Base (MIB) files must have mode 0640 or less permissive.<VulnDiscussion>The ability to read the MIB file could impart special knowledge to an intruder or malicious user about the ability to extract compromising information about the system or network.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-995SV-40817CCI-002165Change the mode of MIB files to 0640.
Procedure:
# chmod 0640 <mib file> Check the modes for all Management Information Base (MIB) files on the system.
# find /etc/sma/snmp/ /etc/snmp/conf/ /var/sma_snmp/ /usr/sfw/lib/sma_snmp/ -type f | grep -i mib | egrep -v '\.conf$' | xargs ls -lL
If any file is returned that does not have mode 0640 or less permissive, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN005350Management Information Base (MIB) files must not have extended ACLs.<VulnDiscussion>The ability to read the MIB file could impart special knowledge to an intruder or malicious user about the ability to extract compromising information about the system or network.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22450SV-26727CCI-000366Remove the extended ACL from the file.
# chmod A- [mib file]Check the modes for all Management Information Base (MIB) files on the system.
# find /etc/sma/snmp/ /etc/snmp/conf/ /var/sma_snmp/ /usr/sfw/lib/sma_snmp/ -type f | grep -i mib | egrep -v '\.conf$' | xargs ls -lL
If the permissions include a "+", the file has an extended ACL, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN005360The snmpd.conf files must be owned by root.<VulnDiscussion>The snmpd.conf files contain authenticators and must be protected from unauthorized access and modification. If the files are not owned by root, they may be subject to access and modification from unauthorized users.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-12019SV-40274CCI-000366Change the owner of the snmpd.conf file to root.
Procedure:
# chown root <snmpd.conf file> Determine the owner of the SNMP configuration files.
Procedure:
# ls -lL /etc/sma/snmp/snmpd.conf /etc/snmp/conf/snmpd.conf /var/sma_snmp/snmpd.conf /usr/sfw/lib/sma_snmp/snmpd.conf
If the snmpd.conf files are not owned by root, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN005365The snmpd.conf file must be group-owned by root, sys, or bin.<VulnDiscussion>The snmpd.conf file contains authenticators and must be protected from unauthorized access and modification. If the file is not group-owned by a system group, it may be subject to access and modification from unauthorized users.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22451SV-26733CCI-000366Change the group ownership of the SNMP configuration file.
Procedure:
# chgrp root /etc/sma/snmp/snmpd.conf /var/sma_snmp/snmpd.conf /etc/snmp/conf/snmpd.conf /usr/sfw/lib/sma_snmp/snmpd.confCheck the group ownership of the SNMP configuration files.
Procedure:
# ls -lL /etc/sma/snmp/snmpd.conf /var/sma_snmp/snmpd.conf /etc/snmp/conf/snmpd.conf /usr/sfw/lib/sma_snmp/snmpd.conf
If the files are not group-owned by root, sys, or bin, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN005375The snmpd.conf file must not have an extended ACL.<VulnDiscussion>The snmpd.conf file contains authenticators and must be protected from unauthorized access and modification.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22452SV-26737CCI-000366Remove the extended ACL from the files.
# chmod A- /etc/sma/snmp/snmpd.conf /var/sma_snmp/snmpd.conf /etc/snmp/conf/snmpd.conf /usr/sfw/lib/sma_snmp/snmpd.confCheck the permissions of the SNMP configuration files.
# ls -lL/etc/sma/snmp/snmpd.conf /var/sma_snmp/snmpd.conf /etc/snmp/conf/snmpd.conf /usr/sfw/lib/sma_snmp/snmpd.conf
If the permissions include a "+", the file has an extended ACL and this is a finding.SRG-OS-000095<GroupDescription></GroupDescription>GEN005380If the system is a Network Management System (NMS) server, it must only run the NMS and any software required by the NMS.<VulnDiscussion>Installing extraneous software on a system designated as a dedicated Network Management System (NMS) server poses a security threat to the system and the network. Should an attacker gain access to the NMS through unauthorized software, the entire network may be susceptible to malicious activity.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-4392SV-4392CCI-000381Ensure only authorized software is loaded on a designated NMS server. Authorized software is limited to the NMS software itself, a database management system for the NMS server if necessary, and network management software.Ask the SA if this is an NMS server. If it is an NMS server, then ask what other applications run on it. If there is anything other than network management software and DBMS software used only for the storage and inquiry of NMS data, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN005390The /etc/syslog.conf file must have mode 0640 or less permissive.<VulnDiscussion>Unauthorized users must not be allowed to access or modify the /etc/syslog.conf file.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22453SV-26740CCI-000366Change the permissions of the syslog configuration file.
# chmod 0640 /etc/syslog.confCheck the permissions of the syslog configuration file.
# ls -lL /etc/syslog.conf
If the mode of the file is more permissive than 0640, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN005395The /etc/syslog.conf file must not have an extended ACL.<VulnDiscussion>Unauthorized users must not be allowed to access or modify the /etc/syslog.conf file.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22454SV-26743CCI-000366Remove the extended ACL from the file.
# chmod A- /etc/syslog.confCheck the permissions of the syslog configuration file.
# ls -lL /etc/syslog.conf
If the permissions include a "+", the file has an extended ACL and this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN005400The /etc/syslog.conf file must be owned by root.<VulnDiscussion>If the /etc/syslog.conf file is not owned by root, unauthorized users could be allowed to view, edit, or delete important system messages handled by the syslog facility.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-4393SV-4393CCI-000366Use the chown command to set the owner to root.
# chown root /etc/syslog.confCheck /etc/syslog.conf ownership.
# ls -lL /etc/syslog.conf
If /etc/syslog.conf is not owned by root, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN005420The /etc/syslog.conf file must be group-owned by root, bin, or sys.<VulnDiscussion>If the group owner of /etc/syslog.conf is not root, bin, or sys, unauthorized users could be permitted to view, edit, or delete important system messages handled by the syslog facility.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-4394SV-39892CCI-000366Change the group owner of the /etc/syslog.conf file to root, bin, or sys.
Procedure:
# chgrp root /etc/syslog.confCheck /etc/syslog.conf group ownership.
Procedure:
# ls -lL /etc/syslog.conf
If /etc/syslog.conf is not group-owned by root, sys, or bin, this is a finding.SRG-OS-000215<GroupDescription></GroupDescription>GEN005450The system must use a remote syslog server (log host).<VulnDiscussion>A syslog server (log host) receives syslog messages from one or more systems. This data can be used as an authoritative log source in the event a system is compromised and its local logs are suspect.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22455SV-26745CCI-001348Edit the syslog configuration file and add an appropriate remote syslog server.Check the syslog configuration file for remote syslog servers.
# grep '@' /etc/syslog.conf | grep -v '^#'
If no line is returned, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN005460The system must only use remote syslog servers (log hosts) justified and documented using site-defined procedures.<VulnDiscussion>If a remote log host is in use and it has not been justified and documented with the IAO, sensitive information could be obtained by unauthorized users without the SA's knowledge. A remote log host is any host to which the system is sending syslog messages over a network.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-4395SV-4395CCI-000366Remove, replace, or document the referenced undocumented log host.Examine the syslog.conf file for any references to remote log hosts.
# grep -v "^#" /etc/syslog.conf | grep '@'
Destination locations beginning with an @ represent log hosts. If the log host name is a local alias, such as log host, consult the /etc/hosts or other name databases as necessary to obtain the canonical name or address for the log host. Determine if the host referenced is a log host documented using site-defined procedures. If an undocumented log host is referenced, this is a finding.SRG-OS-000074<GroupDescription></GroupDescription>GEN005501The SSH client must be configured to only use the SSHv2 protocol.<VulnDiscussion>SSHv1 is not a DoD-approved protocol and has many well-known vulnerability exploits. Exploits of the SSH client could provide access to the system with the privileges of the user running the client.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22456SV-26749CCI-000197Edit the /etc/ssh/ssh_config file and add or edit a Protocol configuration line that does not allow versions less than 2.Check the SSH client configuration for allowed protocol versions.
# grep -i protocol /etc/ssh/ssh_config | grep -v '^#'
If the returned protocol configuration allows versions less than 2, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN005504The SSH daemon must only listen on management network addresses unless authorized for uses other than management.<VulnDiscussion>The SSH daemon should only listen on network addresses designated for management traffic. If the system has multiple network interfaces and SSH listens on addresses not designated for management traffic, the SSH service could be subject to unauthorized access. If SSH is used for purposes other than management, such as providing an SFTP service, the list of approved listening addresses may be documented.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22457SV-26750CCI-000366Edit the SSH daemon configuration to specify listening network addresses designated for management traffic.Check the SSH daemon configuration for listening network addresses.
# grep -i Listen /etc/ssh/sshd_config | grep -v '^#'
If no configuration is returned, or if a returned Listen configuration contains addresses not designated for management traffic, this is a finding.SRG-OS-000033<GroupDescription></GroupDescription>GEN005505The operating system must implement DoD-approved encryption to protect the confidentiality of SSH connections.<VulnDiscussion>DoD information systems are required to use FIPS 140-2 approved ciphers. SSHv2 ciphers meeting this requirement are 3DES and AES.
By specifying a cipher list with the order of ciphers being in a “strongest to weakest” orientation, the system will automatically attempt to use the strongest cipher for securing SSH connections.
Satisfies: SRG-OS-000033, SRG-OS-000505, SRG-OS-000555</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22458SV-41035CCI-000068Edit /etc/ssh/sshd_config and change or set the Ciphers line to the following.
Ciphers aes256-ctr, aes192-ctr, aes128-ctrCheck the SSH daemon configuration for allowed ciphers.
# grep -i ciphers /etc/ssh/sshd_config | grep -v '^#'
Ciphers aes256-ctr,aes192-ctr,aes128-ctr
If any ciphers other than "aes256-ctr", "aes192-ctr", or "aes128-ctr" are listed, the order differs from the example above, the "Ciphers" keyword is missing, or is commented out, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN005506The SSH daemon must be configured to not use Cipher-Block Chaining (CBC) ciphers.<VulnDiscussion>The Cipher-Block Chaining (CBC) mode of encryption as implemented in the SSHv2 protocol is vulnerable to chosen plain text attacks and must not be used.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22459SV-26752CCI-000366Edit /etc/ssh/sshd_config and add or edit the "Ciphers" line. Only include ciphers that start with "3des" or "aes" and do not contain "cbc". For the list of available ciphers for the particular version of your software, consult the sshd_config manpage.
Restart the SSH daemon.Check the SSH daemon configuration for allowed ciphers.
# grep -i ciphers /etc/ssh/sshd_config | grep -v '^#'
If no lines are returned, or the returned ciphers list contains any cipher ending with cbc, this is a finding.
SRG-OS-000250<GroupDescription></GroupDescription>GEN005507The SSH daemon must be configured to only use Message Authentication Codes (MACs) employing FIPS 140-2 approved cryptographic hash algorithms.<VulnDiscussion>DoD information systems are required to use FIPS 140-2 approved cryptographic hash functions.
Satisfies: SRG-OS-000250, SRG-OS-000495, SRG-OS-000500</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22460SV-26753CCI-001453Edit the SSH daemon configuration and remove any MACs that are not hmac-sha1 or a better hmac algorithm that is on the FIPS 140-2 approved list. If necessary, add a MACs line.Check the SSH daemon configuration for allowed MACs.
Procedure:
# grep -i macs /etc/ssh/sshd_config | grep -v '^#'
If no lines are returned, or the returned MACs list contains any MAC that is not hmac-sha1 or a better hmac algorithm that is on the FIPS 140-2 approved list, this is a finding.SRG-OS-000033<GroupDescription></GroupDescription>GEN005510The SSH client must be configured to only use FIPS 140-2 approved ciphers.<VulnDiscussion>DoD information systems are required to use FIPS 140-2 approved ciphers. SSHv2 ciphers meeting this requirement are 3DES and AES.
Satisfies: SRG-OS-000033, SRG-OS-000505, SRG-OS-000555</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22461SV-26754CCI-000068Edit /etc/ssh/ssh_config and add or edit the "Ciphers" line. Only include ciphers that start with "3des" or "aes" and do not contain "cbc". For the list of available ciphers for the particular version of your software, consult the ssh_config manpage.Check the SSH client configuration for allowed ciphers.
# grep -i ciphers /etc/ssh/ssh_config | grep -v '^#'
If no lines are returned, the returned ciphers list contains any cipher not starting with 3des or aes, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN005511The SSH client must be configured to not use CBC-based ciphers.<VulnDiscussion>The Cipher-Block Chaining (CBC) mode of encryption as implemented in the SSHv2 protocol is vulnerable to chosen plain text attacks and must not be used.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22462SV-26755CCI-000366Edit /etc/ssh/ssh_config and add or edit the "Ciphers" line. Only include ciphers that start with "3des" or "aes" and do not contain "cbc". For the list of available ciphers for the particular version of your software, consult the ssh_config manpage.Check the SSH client configuration for allowed ciphers.
# grep -i ciphers /etc/ssh/ssh_config | grep -v '^#'
If no lines are returned, or the returned ciphers list contains any cipher ending with cbc, this is a finding.SRG-OS-000250<GroupDescription></GroupDescription>GEN005512The SSH client must be configured to only use Message Authentication Codes (MACs) employing FIPS 140-2 approved cryptographic hash algorithms.<VulnDiscussion>DoD information systems are required to use FIPS 140-2 approved cryptographic hash functions.
Satisfies: SRG-OS-000250, SRG-OS-000495, SRG-OS-000500</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22463SV-26756CCI-001453Edit the SSH client configuration and remove any MACs that are not hmac-sha1 or a better hmac algorithm that is on the FIPS 140-2 approved list. If necessary, add a MACs line.Check the SSH client configuration for allowed MACs.
Procedure:
# grep -i macs /etc/ssh/ssh_config | grep -v '^#'
If no lines are returned, or the returned MACs list contains any MAC that is not hmac-sha1 or a better hmac algorithm that is on the FIPS 140-2 approved list, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN005521The SSH daemon must restrict login ability to specific users and/or groups.<VulnDiscussion>Restricting SSH logins to a limited group of users, such as system administrators, prevents password-guessing and other SSH attacks from reaching system accounts and other accounts not authorized for SSH access.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22470SV-26763CCI-000366Edit the SSH daemon configuration and add an AllowGroups directive.Check the SSH daemon configuration for the AllowGroups setting.
# grep -i AllowGroups /etc/ssh/sshd_config | grep -v '^#'
If no lines are returned, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN005522The SSH public host key files must have mode 0644 or less permissive.<VulnDiscussion>If a public host key file is modified by an unauthorized user, the SSH service may be compromised.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22471SV-26764CCI-000366Change the permissions for the SSH public host key files.
# chmod 0644 /etc/ssh/*key.pubCheck the permissions for SSH public host key files.
# ls -lL /etc/ssh/*key.pub
If any file has a mode more permissive than 0644, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN005523The SSH private host key files must have mode 0600 or less permissive.<VulnDiscussion>If an unauthorized user obtains the private SSH host key file, the host could be impersonated.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22472SV-26765CCI-000366Change the permissions for the SSH private host key files.
# chmod 0600 /etc/ssh/*keyCheck the permissions for SSH private host key files.
# ls -lL /etc/ssh/*key
If any file has a mode more permissive than 0600, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN005524The SSH daemon must not permit GSSAPI authentication unless needed.<VulnDiscussion>GSSAPI authentication is used to provide additional authentication mechanisms to applications. Allowing GSSAPI authentication through SSH exposes the system’s GSSAPI to remote hosts, increasing the attack surface of the system. GSSAPI authentication must be disabled unless needed.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22473SV-26766CCI-000366Edit the SSH daemon configuration and set (add if necessary) a GSSAPIAuthentication directive set to no.Ask the SA if GSSAPI authentication is used for SSH authentication to the system. If so, this is not applicable.
Check the SSH daemon configuration for the GSSAPI authentication setting.
# grep -i GSSAPIAuthentication /etc/ssh/sshd_config | grep -v '^#'
If no lines are returned, or the setting is set to yes, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN005525The SSH client must not permit GSSAPI authentication unless needed.<VulnDiscussion>GSSAPI authentication is used to provide additional authentication mechanisms to applications. Allowing GSSAPI authentication through SSH exposes the system’s GSSAPI to remote hosts, increasing the attack surface of the system. GSSAPI authentication must be disabled unless needed.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22474SV-26767CCI-000366Edit the SSH client configuration and set (add if necessary) a GSSAPIAuthentication directive set to no.Check the SSH clients configuration for the GSSAPI authentication setting.
# grep -i GSSAPIAuthentication /etc/ssh/ssh_config | grep -v '^#'
If no lines are returned, or the setting is set to yes, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN005536The SSH daemon must perform strict mode checking of home directory configuration files.<VulnDiscussion>If other users have access to modify user-specific SSH configuration files, they may be able to log into the system as another user.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22485SV-40400CCI-000366Edit the SSH daemon configuration and change the StrictModes setting value to yes or remove it entirely. Check the SSH daemon configuration for the StrictModes setting.
# grep -i StrictModes /etc/ssh/sshd_config | grep -v '^#'
If the setting is present and not set to yes, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN005538The SSH daemon must not allow rhosts RSA authentication.
<VulnDiscussion>If SSH permits rhosts RSA authentication, a user may be able to log in based on the keys of the host originating the request and not any user-specific authentication.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22487SV-40396CCI-000366Edit the SSH daemon configuration and change the RhostsRSAAuthentication setting value to no or remove it entirely.Check the SSH daemon configuration for the RhostsRSAAuthentication setting.
# grep -i RhostsRSAAuthentication /etc/ssh/sshd_config | grep -v '^#'
If the setting is set to yes, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN005539The SSH daemon must not allow compression or must only allow compression after successful authentication.<VulnDiscussion>If compression is allowed in an SSH connection prior to authentication, vulnerabilities in the compression software could result in compromise of the system from an unauthenticated connection, potentially with root privileges.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22488SV-26787CCI-000366Edit the SSH daemon configuration and add or edit the Compression setting value to no or delayed.Check the SSH daemon configuration for the Compression setting.
# grep -i Compression /etc/ssh/sshd_config | grep -v '^#'
If the setting is not present, or set to yes, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN005540The SSH daemon must be configured for IP filtering.<VulnDiscussion>The SSH daemon must be configured for IP filtering to provide a layered defense against connection attempts from unauthorized addresses.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-12022SV-40279CCI-000366Add appropriate IP restrictions for SSH to the /etc/hosts.deny and/or /etc/hosts.allow files.Check the TCP wrappers configuration files to determine if SSHD is configured to use TCP wrappers.
Procedure:
# egrep '^[^#:]*(ALL|sshd)' /etc/hosts.deny
# egrep '^[^#:]*(ALL|sshd)' /etc/hosts.allow
If neither of the hosts.deny or hosts.allow files exist, this is a finding.
If no entries are returned, the TCP wrappers are not configured for SSHD, this is a finding.SRG-OS-000023<GroupDescription></GroupDescription>GEN005550The SSH daemon must be configured with the Department of Defense (DoD) login banner.<VulnDiscussion>Failure to display the DoD logon banner prior to a logon attempt will negate legal proceedings resulting from unauthorized access to system resources.
The SSH service must be configured to display the DoD logon warning banner through the SSH daemon configuration.
The SSH daemon may also be used to provide SFTP service. The warning banner configuration for SSH will apply to SFTP.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22489SV-40280CCI-000048Edit the SSH daemon configuration and add (or edit) a banner setting referencing a file containing a logon warning banner.
DoD Login Banners:
"You are accessing a U.S. Government (USG) Information System (IS) that is provided for USG-authorized use only.
By using this IS (which includes any device attached to this IS), you consent to the following conditions:
-The USG routinely intercepts and monitors communications on this IS for purposes including, but not limited to, penetration testing, COMSEC monitoring, network operations and defense, personnel misconduct (PM), law enforcement (LE), and counterintelligence (CI) investigations.
-At any time, the USG may inspect and seize data stored on this IS.
-Communications using, or data stored on, this IS are not private, are subject to routine monitoring, interception, and search, and may be disclosed or used for any USG-authorized purpose.
-This IS includes security measures (e.g., authentication and access controls) to protect USG interests--not for your personal benefit or privacy.
-Notwithstanding the above, using this IS does not constitute consent to PM, LE or CI investigative searching or monitoring of the content of privileged communications, or work product, related to personal representation or services by attorneys, psychotherapists, or clergy, and their assistants. Such communications and work product are private and confidential. See User Agreement for details."
OR
"I've read & consent to terms in IS user agreem't."Verify the SSH daemon is configured for logon warning banners.
# grep -i banner /etc/ssh/sshd_config | grep -v '^#'
# cat [banner file]
Verify the Banner configuration line is present and the file it references contains a login warning banner.
If the SSH daemon is not configured to display a logon warning banner, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN005560The system must be configured with a default gateway for IPv4 if the system uses IPv4, unless the system is a router.<VulnDiscussion>If a system has no default gateway defined, the system is at increased risk of man-in-the-middle, monitoring, and Denial of Service attacks.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-4397SV-30079CCI-000366Create or edit /etc/defaultrouter to contain the default gateway address.
Procedure (for a default gateway of 192.168.3.1):
# echo "192.168.3.1" > /etc/defaultrouter
Restart the system for the setting to take effect.Check the system for an IPv4 default route.
Procedure:
# netstat -r |grep default
If a default route is not defined, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN005570The system must be configured with a default gateway for IPv6 if the system uses IPv6, unless the system is a router.<VulnDiscussion>If a system has no default gateway defined, the system is at increased risk of man-in-the-middle, monitoring, and Denial of Service attacks.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22490SV-26804CCI-000366Add a default route for IPv6.
# route add -inet6 default <gateway>
Add this command to an init script.Check for a default route for IPv6.
# netstat -f inet6 -r | grep default
If the system uses IPv6, and no results are returned, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN005580A system used for routing must not run other network services or applications.<VulnDiscussion>Installing extraneous software on a system designated as a dedicated router poses a security threat to the system and the network. Should an attacker gain access to the router through the unauthorized software, the entire network is susceptible to malicious activity.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-4398SV-4398CCI-000366Ensure only authorized software is loaded on a designated router. Authorized software will be limited to the most current version of routing protocols and SSH for system administration purposes.Ask the SA if the system is a designated router. If it is not, this is not applicable.
Check the system for non-routing network services.
Procedure:
# netstat -a | grep -i listen
# ps -ef
If non-routing services, including Web servers, file servers, DNS servers, or applications servers, but excluding management services, such as SSH and SNMP, are running on the system, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN005590The system must not be running any routing protocol daemons, unless the system is a router.<VulnDiscussion>Routing protocol daemons are typically used on routers to exchange network topology information with other routers. If this software is used when not required, system network information may be unnecessarily transmitted across the network.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22665SV-39878CCI-000366Disable any routing protocol daemons.
# svcadm disable <routing protocol daemon>Check for any running routing protocol daemons.
# svcs -a | grep online | egrep '(ospf|route|bgp|zebra|quagga)'
OR
# ps -ef | egrep '(ospf|route|bgp|zebra|quagga)'
If any routing protocol daemons are listed, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN005740The NFS export configuration file must be owned by root.<VulnDiscussion>Failure to give ownership of the NFS export configuration file to root provides the designated owner and possible unauthorized users with the potential to change system configuration which could weaken the system's security posture.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-928SV-28444CCI-000366Change the owner of the dfstab file to root.
Example:
# chown root /etc/dfs/dfstab Check the ownership of the dfstab file.
Example:
# ls -lL /etc/dfs/dfstab
If the export configuration file is not owned by root, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN005750The NFS export configuration file must be group-owned by root, bin, or sys.<VulnDiscussion>Failure to give group ownership of the NFS export configuration file to root or system groups provides the designated group owner and possible unauthorized users with the potential to change system configuration which could weaken the system's security posture.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22492SV-26813CCI-000366Change the group ownership of the NFS export configuration file.
Procedure:
# chgrp root /etc/dfs/dfstabCheck the group ownership of the NFS export configuration file.
Procedure:
# ls -lL /etc/dfs/dfstab
If the file is not group-owned by root, bin, or sys, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN005760The NFS export configuration file must have mode 0644 or less permissive.<VulnDiscussion>Excessive permissions on the NFS export configuration file could allow unauthorized modification of the file, which could result in Denial of Service to authorized NFS exports and the creation of additional unauthorized exports.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-929SV-28446CCI-000366Change the permissions of the dfstab file to 664 or less permissive.
# chmod 0644 /etc/dfs/dfstab # ls -lL /etc/dfs/dfstab
If the file has a mode more permissive than 0644, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN005770The NFS exports configuration file must not have an extended ACL.<VulnDiscussion>File system extended ACLs provide access to files beyond what is allowed by the mode numbers of the files. Excessive permissions on the NFS export configuration file could allow unauthorized modification of the file, which could result in Denial of Service to authorized NFS exports and the creation of additional unauthorized exports.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22493SV-26816CCI-000366Remove the extended ACL from the file.
# chmod A- /etc/dfs/dfstabCheck the group ownership of the NFS export configuration file.
# ls -lL /etc/dfs/dfstab
If the permissions include a "+", the file has an extended ACL and this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN005800All NFS-exported system files and system directories must be owned by root.<VulnDiscussion>Failure to give ownership of sensitive files or directories to root provides the designated owner and possible unauthorized users with the potential to access sensitive information or change system configuration which could weaken the system's security posture.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-931SV-40303CCI-000366Change the ownership of exported file systems not owned by root.
Procedure:
# chown root <path>Check for NFS exported file systems.
Procedure:
# exportfs -v
OR
# more /etc/dfs/sharetab
This will display all of the exported file systems. For each file system displayed, check the ownership.
Procedure:
# ls -lLa <exported file system path>
If the files and directories are not owned by root, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN005810All NFS exported system files and system directories must be group-owned by root, bin, or sys.<VulnDiscussion>Failure to give group ownership of sensitive files or directories to root provides the members of the owning group with the potential to access sensitive information or change system configuration which could weaken the system's security posture.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22496SV-26821CCI-000366Change the group owner of the export directory.
# chgrp root <export>List the exports.
# cat /etc/dfs/dfstab
OR
# more /etc/dfs/sharetab
For each export, check the ownership information.
# ls -ldL <export>
If the directory is not group-owned by root, sys, or bin this is a finding.SRG-OS-000104<GroupDescription></GroupDescription>GEN005820The NFS anonymous UID and GID must be configured to values that have no permissions.<VulnDiscussion>When an NFS server is configured to deny remote root access, a selected UID and GID are used to handle requests from the remote root user. The UID and GID should be chosen from the system to provide the appropriate level of non-privileged access.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-932SV-40304CCI-000764Edit /etc/dfs/dfstab and add the "anon=-1" option for exports lacking it. Re-export the filesystems.Check if the anon option is set correctly for exported file systems.
List exported file systems.
# exportfs -v
OR
# more /etc/dfs/sharetab
Each of the exported file systems should include an entry for the 'anon=' option set to -1 or an equivalent (60001, 60002, 65534, or 65535). If an appropriate 'anon=' setting is not present for an exported file system, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN005860The system's NFS export configuration must not have the sec option set to none (or equivalent); additionally, the default authentication must not to be set to none.<VulnDiscussion>If sec=none on Solaris, all NFS requests are mapped to an unknown/common user instead of being processed according to the provided UID.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061SV-40306V-934CCI-000366Edit the /etc/dfs/dfstab file and add the sec=XXX option to the share line as an option. XXX must be a valid option for the system other than none.Perform the following on NFS servers:
# grep "^default" /etc/nfssec.conf
Check to ensure the second column does not equal 0. This would indicate the default is set to none. Perform the following to check currently exported file systems.
# more /etc/dfs/dfstab
If the option sec=none is set on any of the exported file systems, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN005880The NFS server must not allow remote root access.<VulnDiscussion>If the NFS server allows root access to local file systems from remote hosts, this access could be used to compromise the system.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-935SV-40307CCI-000366Edit the /etc/dfs/dfstab file and remove the root= option from all exports. Re-export the file systems.Determine if the NFS server is exporting with the root access option.
Procedure:
# exportfs -v | grep "root="
OR
# more /etc/dfs/sharetab
If an export with the root option is found and is not properly documented with the IA staff, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN005900The nosuid option must be enabled on all NFS client mounts.<VulnDiscussion>Enabling the nosuid mount option prevents the system from granting owner or group-owner privileges to programs with the setuid or setgid bit set. If the system does not restrict this access, users with unprivileged access to the local system may be able to acquire privileged access by executing setuid or setgid files located on the mounted NFS file system.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-936SV-28452CCI-000366Edit /etc/vfstab and add the nosuid option for all NFS file systems. Remount the NFS file systems to make the change take effect.Check the system for NFS mounts not using the nosuid option.
Procedure:
# mount -v | grep " type nfs " | grep -v nosetuid
OR
# grep nfs /etc/mnttab | grep -v nosuid | grep -v :vold
If the mounted file systems do not have the nosetuid/nosuid option, this is a finding. NOTE: Mount options for the volume management daemon (vold) are controlled by the /etc/rmmount.conf file.SRG-OS-000095<GroupDescription></GroupDescription>GEN006040The system must not have any peer-to-peer file-sharing application installed.<VulnDiscussion>Peer-to-peer file-sharing software can result in the unintentional exfiltration of information. There are also many legal issues associated with these types of utilities including copyright infringement or other intellectual property issues. The ASD Memo "Use of Peer-to-Peer (P2P) File-Sharing Applications across the DoD" states the following:
"P2P file-sharing applications are authorized for use on DoD networks with approval by the appropriate Designated Approval Authority (DAA). Documented requirements, security architecture, configuration management process, and a training program for users are all requirements within the approval process. The unauthorized use of application or services, including P2P applications, is prohibited, and such applications or services must be eliminated."
P2P applications include, but are not limited to, the following:
-Napster,
-Kazaa,
-ARES,
-Limewire,
-IRC Chat Relay, and
-BitTorrent.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-12025SV-12526CCI-000381Uninstall the peer-to-peer file sharing application(s) from the system.Ask the SA if any peer-to-peer file-sharing applications are installed. Some examples of these applications include:
- Napster,
- Kazaa,
- ARES,
- Limewire,
- IRC Chat Relay, and
- BitTorrent.
If any of these applications are installed, this is a finding.SRG-OS-000095<GroupDescription></GroupDescription>GEN006060The system must not run Samba unless needed.<VulnDiscussion>Samba is a tool used for the sharing of files and printers between Windows and UNIX operating systems. It provides access to sensitive files and, therefore, poses a security risk if compromised.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-4321SV-4321CCI-000381If there is no functional need for Samba and the daemon is running, disable the daemon by killing the process ID as noted from the output of ps -ef |grep smbd. The utility should also be removed or not installed if there is no functional requirement.Check the system for a running Samba server.
Procedure:
# ps -ef |grep smbd
If the Samba server is running, ask the SA if the Samba server is operationally required. If it is not, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN006100The smb.conf file must be owned by root.<VulnDiscussion>The smb.conf file allows access to other machines on the network and grants permissions to certain users. If it is owned by another user, the file may be maliciously modified and the Samba configuration could be compromised.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-1027SV-40291CCI-000366Change the ownership of the smb.conf file.
Procedure:
# chown root /etc/smb.conf /etc/sfw/smb.conf /etc/samba/smb.conf /etc/sfw/samba/smb.conf
Check the ownership of the smb.conf file. Default locations for this file include /etc, /etc/sfw, /etc/samba, and /etc/sfw/samba. If the system has Samba installed in non-standard locations, also check the smb.conf in those locations.
Procedure:
# ls -l /etc/smb.conf /etc/sfw/smb.conf /etc/samba/smb.conf /etc/sfw/samba/smb.conf
If a smb.conf file is not owned by root, this is a finding.
SRG-OS-000480<GroupDescription></GroupDescription>GEN006120The smb.conf file must be group-owned by root, bin, or sys.<VulnDiscussion>If the group owner of the smb.conf file is not root or a system group, the file may be maliciously modified and the Samba configuration could be compromised.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-1056SV-39890CCI-000366Change the group owner of the smb.conf file.
Procedure:
# chgrp root /etc/smb.conf /etc/sfw/smb.conf /etc/samba/smb.conf /etc/sfw/samba/smb.confCheck the group ownership of the smb.conf file. Default locations for this file include /etc, /etc/sfw, /etc/samba, and /etc/sfw/samba. If the system has Samba installed in non-standard locations, also check the smb.conf in those locations.
Procedure:
# ls -l /etc/smb.conf /etc/sfw/smb.conf /etc/samba/smb.conf /etc/sfw/samba/smb.conf
If an smb.conf file is not group-owned by root, bin, or sys, this is a finding.SRG-OS-000312<GroupDescription></GroupDescription>GEN006140The smb.conf file must have mode 0644 or less permissive.<VulnDiscussion>If the smb.conf file has excessive permissions, the file may be maliciously modified and the Samba configuration could be compromised.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-1028SV-40294CCI-002165Change the mode of the smb.conf file to 0644 or less permissive.
Procedure:
# chmod 0644 /etc/smb.conf /etc/sfw/smb.conf /etc/samba/smb.conf /etc/sfw/samba/smb.conf
Check the mode of the smb.conf file. Default locations for this file include /etc, /etc/sfw, /etc/samba, and /etc/sfw/samba. If the system has Samba installed in non-standard locations, also check the smb.conf in those locations.
Procedure:
# ls -lL /etc/smb.conf /etc/sfw/smb.conf /etc/samba/smb.conf /etc/sfw/samba/smb.conf
If the smb.conf has a mode more permissive than 0644, this is a finding.
SRG-OS-000480<GroupDescription></GroupDescription>GEN006150The smb.conf file must not have an extended ACL.<VulnDiscussion>Excessive permissions could endanger the security of the Samba configuration file and, ultimately, the system and network.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22497SV-26824CCI-000366Remove the extended ACL from the file.
# chmod A- /etc/smb.conf /etc/sfw/smb.conf /etc/samba/smb.conf /etc/sfw/samba/smb.conf
Check the group ownership of the Samba configuration file. Default locations for this file include /etc, /etc/sfw, /etc/samba, and /etc/sfw/samba. If the system has Samba installed in non-standard locations, also check the smb.conf in those locations.
Procedure:
# ls -lL /etc/smb.conf /etc/sfw/smb.conf /etc/samba/smb.conf /etc/sfw/samba/smb.conf
If the permissions include a "+", the file has an extended ACL and this is a finding.
SRG-OS-000480<GroupDescription></GroupDescription>GEN006160The smbpasswd file must be owned by root.<VulnDiscussion>If the smbpasswd file is not owned by root, the smbpasswd file may be maliciously accessed or modified, potentially resulting in the compromise of Samba accounts.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-1029SV-40284CCI-000366Use the chown command to configure the smb passwd file.
# chown root /etc/sfw/private/smbpasswdCheck the ownership of the smbpasswd file.
# ls -lL /etc/sfw/private/smbpasswd
If the smbpasswd file is not owned by root, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN006180The smbpasswd file must be group-owned by root.<VulnDiscussion>If the smbpasswd file is not group-owned by root, the smbpasswd file may be maliciously accessed or modified, potentially resulting in the compromise of Samba accounts.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-1058SV-40287CCI-000366Use the chgrp command to ensure the group owner of the smbpasswd file is root.
# chgrp root /etc/sfw/private/smbpasswdCheck smbpasswd ownership.
# ls -lL /etc/sfw/private/smbpasswd
If smbpasswd is not group-owned by root, this is a finding.SRG-OS-000312<GroupDescription></GroupDescription>GEN006200The smbpasswd file must have mode 0600 or less permissive.<VulnDiscussion>If the smbpasswd file has a mode more permissive than 0600, the smbpasswd file may be maliciously accessed or modified, potentially resulting in the compromise of Samba accounts.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-1059SV-40289CCI-002165Change the mode of the smbpasswd file to 0600.
Procedure:
# chmod 0600 /etc/sfw/private/smbpasswdCheck smbpasswd mode.
Procedure:
# ls -lL /etc/sfw/private/smbpasswd
If smbpasswd has a mode more permissive than 0600, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN006210The smbpasswd file must not have an extended ACL.<VulnDiscussion>If the permissions of the smbpasswd file are too permissive, the smbpasswd file may be maliciously accessed or modified, potentially resulting in the compromise of Samba accounts.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22498SV-26828CCI-000366Remove the extended ACL from the file.
# chmod A- /etc/sfw/private/smbpasswdCheck the group ownership of the Samba configuration file.
# ls -lL /etc/sfw/private/smbpasswd
If the permissions include a "+", the file has an extended ACL and this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN006220The smb.conf file must use the hosts option to restrict access to Samba.<VulnDiscussion>Samba increases the attack surface of the system and must be restricted to communicate only with systems requiring access.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-1030SV-40298CCI-000366Edit the smb.conf file and set the hosts option to permit only authorized hosts to access Samba.Examine the smb.conf file. Default locations for this file include /etc, /etc/sfw, /etc/samba, and /etc/sfw/samba. If the system has Samba installed in non-standard locations, also check the smb.conf in those locations.
Procedure:
# more /etc/smb.conf /etc/sfw/smb.conf /etc/samba/smb.conf /etc/sfw/samba/smb.conf
If the hosts option is not present to restrict access to a list of authorized hosts and networks, this is a finding.
SRG-OS-000480<GroupDescription></GroupDescription>GEN006225Samba must be configured to use an authentication mechanism other than "share."<VulnDiscussion>Samba share authentication does not provide for individual user identification and must not be used.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22499SV-40295CCI-000366Edit the smb.conf file and change the security setting to user or another valid setting other than share. Check the security mode of the Samba configuration. Default locations for this file include /etc, /etc/sfw, /etc/samba, and /etc/sfw/samba. If the system has Samba installed in non-standard locations, also check the smb.conf in those locations.
Procedure:
# grep -i security /etc/smb.conf /etc/sfw/smb.conf /etc/samba/smb.conf /etc/sfw/samba/smb.conf
If the security mode is share, this is a finding.
SRG-OS-000480<GroupDescription></GroupDescription>GEN006230Samba must be configured to use encrypted passwords.<VulnDiscussion>Samba must be configured to protect authenticators. If Samba passwords are not encrypted for storage, plain-text user passwords may be read by those with access to the Samba password file.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22500SV-40296CCI-000366Edit the smb.conf file and change the encrypt passwords setting to yes.Check the encryption setting of the Samba configuration.
Procedure:
# grep -i 'encrypt passwords' /etc/smb.conf /etc/sfw/smb.conf /etc/samba/smb.conf /etc/sfw/samba/smb.conf
If the setting is not present, or not set to yes, this is a finding.
SRG-OS-000480<GroupDescription></GroupDescription>GEN006235Samba must be configured to not allow guest access to shares.<VulnDiscussion>Guest access to shares permits anonymous access and is not permitted.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22501SV-40297CCI-000366Edit the smb.conf file and change the guest ok setting to no. Check the encryption setting for the Samba configuration. Default locations for this file include /etc, /etc/sfw, /etc/samba, and /etc/sfw/samba. If the system has Samba installed in non-standard locations, also check the smb.conf in those locations.
Procedure:
# grep -i 'guest ok' /etc/smb.conf /etc/sfw/smb.conf /etc/samba/smb.conf /etc/sfw/samba/smb.conf
If the setting exists and is set to yes, this is a finding.
SRG-OS-000095<GroupDescription></GroupDescription>GEN006240The system must not run an Internet Network News (INN) server.<VulnDiscussion>Internet Network News (INN) servers access Usenet newsfeeds and store newsgroup articles. INN servers use the Network News Transfer Protocol (NNTP) to transfer information from the Usenet to the server and from the server to authorized remote hosts.
If this function is necessary to support a valid mission requirement, its use must be authorized and approved in the system accreditation package.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-1023SV-1023CCI-000381Disable the INN server.# ps -ef | egrep "innd|nntpd"
If an INN server is running, this is a finding.
SRG-OS-000312<GroupDescription></GroupDescription>GEN006260The /etc/news/hosts.nntp (or equivalent) must have mode 0600 or less permissive.<VulnDiscussion>Excessive permissions on the hosts.nntp file may allow unauthorized modification which could lead to Denial-of-Service to authorized users or provide access to unauthorized users.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-4273SV-4273CCI-002165Change the mode of the /etc/news/hosts.nntp file to 0600.
# chmod 0600 /etc/news/hosts.nntpCheck /etc/news/hosts.nntp permissions.
# ls -lL /etc/news/hosts.nntp
If /etc/news/hosts.nntp has a mode more permissive than 0600, this is a finding.
SRG-OS-000480<GroupDescription></GroupDescription>GEN006270The /etc/news/hosts.nntp file must not have an extended ACL.<VulnDiscussion>File system extended ACLs provide access to files beyond what is allowed by the mode numbers of the files. Excessive permissions on the hosts.nntp file may allow unauthorized modification which could lead to Denial of Service to authorized users or provide access to unauthorized users.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22502SV-26835CCI-000366Remove the extended ACL from the file.
# chmod A- /etc/news/hosts.nntpCheck the permissions of the file.
# ls -lL /etc/news/hosts.nntp
If the permissions include a "+", the file has an extended ACL, this is a finding.SRG-OS-000312<GroupDescription></GroupDescription>GEN006280The /etc/news/hosts.nntp.nolimit (or equivalent) must have mode 0600 or less permissive.<VulnDiscussion>Excessive permissions on the hosts.nntp.nolimit file may allow unauthorized modification which could lead to Denial-of-Service to authorized users or provide access to unauthorized users.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-4274SV-4274CCI-002165Change the mode of /etc/news/hosts.nntp.nolimit to 0600.
# chmod 0600 /etc/news/hosts.nntp.nolimitCheck /etc/news/hosts.nntp.nolimit permissions.
# ls -lL /etc/news/hosts.nntp.nolimit
If /etc/news/hosts.nntp.nolimit has a mode more permissive than 0600, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN006290The /etc/news/hosts.nntp.nolimit file must not have an extended ACL.<VulnDiscussion>File system extended ACLs provide access to files beyond what is allowed by the mode numbers of the files. Excessive permissions on the hosts.nntp.nolimit file may allow unauthorized modification which could lead to Denial of Service to authorized users or provide access to unauthorized users.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22503SV-26842CCI-000366Remove the extended ACL from the file.
# chmod A- /etc/news/hosts.nntp.nolimitCheck the permissions of the file.
# ls -lL /etc/news/hosts.nntp.nolimit
If the permissions include a "+", the file has an extended ACL and this is a finding.SRG-OS-000312<GroupDescription></GroupDescription>GEN006300The /etc/news/nnrp.access (or equivalent) must have mode 0600 or less permissive.<VulnDiscussion>Excessive permissions on the nnrp.access file may allow unauthorized modification which could lead to Denial-of-Service to authorized users or provide access to unauthorized users.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-4275SV-4275CCI-002165Change the mode of the /etc/news/nnrp.access file to 0600.
# chmod 0600 /etc/news/nnrp.accessCheck /etc/news/nnrp.access permissions.
# ls -lL /etc/news/nnrp.access
If /etc/news/nnrp.access has a mode more permissive than 0600, this is a finding.
SRG-OS-000480<GroupDescription></GroupDescription>GEN006310The /etc/news/nnrp.access file must not have an extended ACL.<VulnDiscussion>File system extended ACLs provide access to files beyond what is allowed by the mode numbers of the files. Excessive permissions on the nnrp.access file may allow unauthorized modification which could lead to Denial of Service to authorized users or provide access to unauthorized users.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22504SV-26846CCI-000366Remove the extended ACL from the file.
# chmod A- /etc/news/nnrp.accessCheck the permissions of the file.
# ls -lL /etc/news/nnrp.access
If the permissions include a "+", the file has an extended ACL and this is a finding.SRG-OS-000312<GroupDescription></GroupDescription>GEN006320The /etc/news/passwd.nntp file (or equivalent) must have mode 0600 or less permissive.<VulnDiscussion>File permissions more permissive than 0600 for /etc/news/passwd.nntp may allow access to privileged information by system intruders or malicious users.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-4276SV-4276CCI-002165Change the mode of the /etc/news/passwd.nntp file.
# chmod 0600 /etc/news/passwd.nntpCheck /etc/news/passwd.nntp permissions.
# ls -lL /etc/news/passwd.nntp
If /etc/news/passwd.nntp has a mode more permissive than 0600, this is a finding.
SRG-OS-000480<GroupDescription></GroupDescription>GEN006330The /etc/news/passwd.nntp file must not have an extended ACL.<VulnDiscussion>Extended ACLs may provide excessive permissions on the /etc/news/passwd.nntp file, which may permit unauthorized access or modification to the NNTP configuration.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22505SV-26850CCI-000366Remove the extended ACL from the file.
# chmod A- /etc/news/passwd.nntpCheck the permissions of the file.
# ls -lL /etc/news/passwd.nntp
If the permissions include a "+", the file has an extended ACL, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN006340Files in /etc/news must be owned by root.<VulnDiscussion>If critical system files are not owned by a privileged user, system integrity could be compromised.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-4277SV-40487CCI-000366Change the ownership of the /etc/news directory and the files in it to root.
Procedure:
# chown -R root /etc/newsCheck the ownership of the files in /etc/news.
Procedure:
# ls -al /etc/news
If the /etc/news directory or any files in it are not owned by root, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN006360The files in /etc/news must be group-owned by root.<VulnDiscussion>If critical system files do not have a privileged group owner, system integrity could be compromised.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-4278SV-40489CCI-000366Change the group owner of the /etc/news directory and the files in it to root.
Procedure:
# chgrp -R root /etc/newsCheck /etc/news directory and files group ownership.
Procedure:
# ls -al /etc/news
If the /etc/news directory and the files in it are not group-owned by root, this is a finding.SRG-OS-000095<GroupDescription></GroupDescription>GEN006380The system must not use UDP for NIS/NIS+.<VulnDiscussion>Implementing NIS or NIS+ under UDP may make the system more susceptible to a Denial of Service attack and does not provide the same quality of service as TCP.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-4399SV-4399CCI-000381Configure the system to not use UDP for NIS and NIS+. Consult vendor documentation for the required procedure.If the system does not use NIS or NIS+, this is not applicable.
Check if NIS or NIS+ is implemented using UDP.
Procedure:
# rpcinfo -p | grep yp | grep udp
If NIS or NIS+ is implemented using UDP, this is a finding.SRG-OS-000095<GroupDescription></GroupDescription>GEN006400The Network Information System (NIS) protocol must not be used.<VulnDiscussion>Due to numerous security vulnerabilities existing within NIS, it must not be used. Possible alternative directory services are NIS+ and LDAP.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-867SV-867CCI-000381Disable the use of NIS. Possible replacements are NIS+ and LDAP.Perform the following to determine if NIS is active on the system.
# ps -ef | egrep '(ypbind|ypserv)'
If NIS is found active on the system, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN006420NIS maps must be protected through hard-to-guess domain names.<VulnDiscussion>The use of hard-to-guess NIS domain names provides additional protection from unauthorized access to the NIS directory information.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-12026SV-12527CCI-000366Change the NIS domain name to a value difficult to guess. Consult vendor documentation for the required procedure.Check the domain name for NIS maps.
Procedure:
# domainname
If the name returned is simple to guess, such as the organization name, building, or room name, etc., this is a finding.SRG-OS-000510<GroupDescription></GroupDescription>GEN006460Any NIS+ server must be operating at security level 2.<VulnDiscussion>If the NIS+ server is not operating in, at least, security level 2, there is no encryption and the system could be penetrated by intruders and/or malicious users.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-926SV-28453CCI-000382Ensure the NIS+ server is operating at security level 2 by editing /usr/lib/nis/nisserver and ensuring the line containing SEC= is set to the numeral 2, for example:
SEC=2 # 2=DES or 3=RSA
Security Level 0 is designed for testing and initial setup of the NIS+ namespace. When running at level 0, the daemon does not enforce access control. Any client is allowed to perform any operation, including updates and deletions.
Security level 1 accepts AUTH_SYS and AUTH_DES credentials for authenticating clients and authorizing them to perform NIS+ operations. This is not a secure mode of operation since AUTH_SYS credentials are easily forged. It should not be used on networks in which any untrusted user may potentially have access. Security level 2 accepts only AUTH_DES credentials for authentication and authorization. This is the highest level of security currently provided by the NIS+ service and the default security level if the -S option is not used.If the system is not using NIS+, this is not applicable.
Check the system to determine if NIS+ security level 2 is implemented.
Procedure:
# niscat cred.org_dir
If the second column does not contain DES, the system is not using NIS+ security level 2, and this is a finding.SRG-OS-000191<GroupDescription></GroupDescription>GEN006480The system must have a host-based intrusion detection tool installed.<VulnDiscussion>Without a host-based intrusion detection tool, there is no system-level defense when an intruder gains access to a system or network. Additionally, a host-based intrusion detection tool can provide methods to immediately lock out detected intrusion attempts.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-782SV-41526CCI-001233Install a host-based intrusion detection tool.
Ask the SA or IAO if a host-based intrusion detection application is loaded on the system.
Determine if the application is loaded on the system.
Procedure:
# find / -name <daemon name> -print
Determine if the application is active on the system.
Procedure:
# ps -ef | grep <daemon name>
If no host-based intrusion detection system is installed on the system, this is a finding.
SRG-OS-000445<GroupDescription></GroupDescription>GEN006570The file integrity tool must be configured to verify ACLs.<VulnDiscussion>ACLs can provide permissions beyond those permitted through the file mode and must be verified by file integrity tools.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22507SV-26858CCI-002696If using AIDE, edit the configuration and add the acl option for all monitored files and directories.
If using a different file integrity tool, configure ACL checking per the tool's documentation.If using AIDE, verify the configuration contains the acl option for all monitored files and directories. Here is an example AIDE configuration fragment.
SampleRule = p+i+l+n+u+g+s+m+c+acl+xattrs+sha256
/bin SampleRule
If the acl option is not present, this is a finding.
If using a different file integrity tool, check the configuration per tool documentation.SRG-OS-000445<GroupDescription></GroupDescription>GEN006571The file integrity tool must be configured to verify extended attributes.<VulnDiscussion>Extended attributes in file systems are used to contain arbitrary data and file metadata with security implications.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22508SV-26860CCI-002696If using AIDE, edit the configuration and add the xattrs option for all monitored files and directories.
If using a different file integrity tool, configure extended attributes checking per the tool's documentation.If using AIDE, verify the configuration contains the xattrs option for all monitored files and directories. Here is an example AIDE configuration fragment.
SampleRule = p+i+l+n+u+g+s+m+c+acl+xattrs+sha256
/bin SampleRule
If the xattrs option is not present, this is a finding.
If using a different file integrity tool, check the configuration per tool documentation.SRG-OS-000278<GroupDescription></GroupDescription>GEN006575The file integrity tool must use FIPS 140-2 approved cryptographic hashes for validating file contents.<VulnDiscussion>File integrity tools often use cryptographic hashes for verifying that file contents have not been altered. These hashes must be FIPS 140-2 approved.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22509SV-26861CCI-001496If using AIDE, edit the configuration and add the sha256 or sha512 option for all monitored files and directories.
If using a different file integrity tool, configure FIPS 140-2 approved cryptographic hashes per the tool's documentation.If using AIDE, verify the configuration contains the sha256 or sha512 options for all monitored files and directories. Here is an example AIDE configuration fragment.
SampleRule = p+i+l+n+u+g+s+m+c+acl+xattrs+sha256
/bin SampleRule
If either the sha256 or sha512 option is not present, this is a finding.
If using a different file integrity tool, check the configuration per tool documentation.SRG-OS-000470<GroupDescription></GroupDescription>GEN006600The system's access control program must log each system access attempt.<VulnDiscussion>If access attempts are not logged, then multiple attempts to log on to the system by an unauthorized user may go undetected.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-941SV-941CCI-000172Configure the access restriction program to log every access attempt. Ensure the implementation instructions for TCP_WRAPPERS are followed, so system access attempts are logged into the system log files. If an alternate application is used, it must support this function.Normally, TCPD logs to the mail facility in /etc/syslog.conf. Determine if syslog is configured to log events by TCPD.
Procedure:
# more /etc/syslog.conf
Look for entries similar to the following:
mail.debug /var/adm/maillog
mail.none /var/adm/maillog
mail.* /var/log/mail
auth.info /var/log/messages
The above entries would indicate mail alerts are being logged. If no entries for mail exist, then TCPD is not logging and this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN006640The system must use a virus scan program.<VulnDiscussion>Virus scanning software can be used to protect a system from penetration by computer viruses and to limit their spread through intermediate systems.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061SV-28461V-12765CCI-000366The operator will ensure that anti-virus software is installed and operating.The operator will ensure that anti-virus software is installed and operating.
If the operator is unable to provide a documented configuration for an installed anti-virus software system or if not properly used, this is a finding.SRG-OS-000096<GroupDescription></GroupDescription>GEN007480The Reliable Datagram Sockets (RDS) protocol must be disabled or not installed unless required.<VulnDiscussion>The Reliable Datagram Sockets (RDS) protocol is a relatively new protocol developed by Oracle for communication between the nodes of a cluster. Binding this protocol to the network stack increases the attack surface of the host. Unprivileged local processes may be able to cause the system to dynamically load a protocol handler by opening a socket using the protocol.
Satisfies: SRG-OS-000096, SRG-OS-000510</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22530SV-26894CCI-000382Remove the RDS protocol handler package.
# pkgrm SUNWrds
OR
Prevent the RDS protocol handler from dynamic loading.
# echo "exclude: rds" >> /etc/systemAsk the SA if RDS is required by application software running on the system. If so, this is not applicable.
Verify the RDS protocol handler is not installed.
# pkginfo | grep SUNWrds
If no results are returned, this is not a finding.
Verify the RDS protocol handler is prevented from dynamic loading.
# grep "exclude: rds" /etc/system
If no result is returned, this is a finding.SRG-OS-000096<GroupDescription></GroupDescription>GEN007540The Transparent Inter-Process Communication (TIPC) protocol must be disabled or not installed.<VulnDiscussion>The Transparent Inter-Process Communication (TIPC) protocol is a relatively new cluster communications protocol developed by Ericsson. Binding this protocol to the network stack increases the attack surface of the host. Unprivileged local processes may be able to cause the kernel to dynamically load a protocol handler by opening a socket using the protocol.
Satisfies: SRG-OS-000096, SRG-OS-000510</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22533SV-26902CCI-000382Remove the TIPC protocol handler package.
# pkgrm SUNWtipc
OR
Prevent the TIPC protocol handler from dynamic loading.
# echo "exclude: tipc" >> /etc/systemVerify the TIPC protocol handler package is not installed.
# pkginfo | grep SUNWtipc
If the TIPC protocol handler package is not installed, this is not a finding
Verify the TIPC protocol handler is prevented from dynamic loading.
# grep "exclude: tipc" /etc/system
If no result is returned, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN007780The system must not have 6to4 enabled.<VulnDiscussion>6to4 is an IPv6 transition mechanism that involves tunneling IPv6 packets encapsulated in IPv4 packets on an ad-hoc basis. This is not a preferred transition strategy and increases the attack surface of the system.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22545SV-26921CCI-000366Disable the active 6to4 tunnel.
# ifconfig <tunnel> down
Check the /etc/hostname* files for startup configuration for the tunnel, and edit or delete as appropriate to prevent the tunnel creation on startup. # ifconfig -a
If a tunnel interface is displayed with an IPv4 tunnel source address, an IPv6 interface address, and no tunnel destination address, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN007820The system must not have IP tunnels configured.<VulnDiscussion>IP tunneling mechanisms can be used to bypass network filtering.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22547SV-26927CCI-000366Disable the tunnels.
# ifconfig <tunnel> down
Remove the startup configuration for the tunnels.
# rm /etc/hostname.<tunnel>Check for any IP tunnels.
# ifconfig -a | grep 'ip.*tun'
If any results are returned, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN007840The DHCP client must be disabled if not needed.<VulnDiscussion>DHCP allows for the unauthenticated configuration of network parameters on the system by exchanging information with a DHCP server.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22548SV-26931CCI-000366Delete the DHCP client configuration.
# rm /etc/dhcp.*Verify no interface is configured to use DHCP.
# ls /etc/dhcp.*
If any file is found, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN007860The system must ignore IPv6 ICMP redirect messages.<VulnDiscussion>ICMP redirect messages are used by routers to inform hosts that a more direct route exists for a particular destination. These messages modify the host's route table and are unauthenticated. An illicit ICMP redirect message could result in a man-in-the-middle attack.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22550SV-26937CCI-000366Configure the system to ignore IPv6 ICMP redirect messages.
# ndd -set /dev/ip6 ip6_ignore_redirect 1
Also add this command to a system startup script.Determine the type of zone that you are currently securing.
# zonename
If the zone is not the global zone, determine if any interfaces are exclusive to the zone:
# dladm show-link
If the output indicates "insufficient privileges" then this requirement is not applicable.
If the zone is the global zone or the non-global zone has exclusive interfaces verify the system is configured to ignore IPv6 ICMP redirect messages.
# ndd /dev/ip6 ip6_ignore_redirect
If the returned value is not 1, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN007880The system must not send IPv6 ICMP redirects.<VulnDiscussion>ICMP redirect messages are used by routers to inform hosts that a more direct route exists for a particular destination. These messages contain information from the system's route table revealing portions of the network topology.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061SV-26938V-22551CCI-000366Configure the system to not send IPv6 ICMP redirect messages.
# ndd -set /dev/ip6 ip6_send_redirects 0
Also, add this command to a system startup script.Determine the type of zone that you are currently securing.
# zonename
If the zone is not the global zone, determine if any interfaces are exclusive to the zone:
# dladm show-link
If the output indicates "insufficient privileges" then this requirement is not applicable.
If the zone is the global zone or the non-global zone has exclusive interfaces verify the system is configured to not send IPv6 ICMP redirect messages.
# ndd /dev/ip6 ip6_send_redirects
If the returned value is not 0, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN007900The system must use an appropriate reverse-path filter for IPv6 network traffic, if the system uses IPv6.<VulnDiscussion>Reverse-path filtering provides protection against spoofed source addresses by causing the system to discard packets with source addresses for which the system has no route or if the route does not point towards the interface on which the packet arrived. Depending on the role of the system, reverse-path filtering may cause legitimate traffic to be discarded and, therefore, should be used with a more permissive mode or filter, or not at all. Whenever possible, reverse-path filtering should be used.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061SV-26227V-22552CCI-000366Configure the system to use a reverse-path filter for IPv6 network traffic.Determine if the system uses a reverse-path filter for IPv6 network traffic. If it does not, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN007920The system must not forward IPv6 source-routed packets.<VulnDiscussion>Source-routed packets allow the source of the packet to suggest that routers forward the packet along a different path than configured on the router, which can be used to bypass network security measures. This requirement applies only to the forwarding of source-routed traffic, such as when IPv6 forwarding is enabled and the system is functioning as a router. </VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22553SV-26940CCI-000366Configure the system to not forward IPv6 source-routed packets.
# ndd -set /dev/ip6 ip6_forward_src_routed 0
Also, add this command to a system startup script.Determine the type of zone that you are currently securing.
# zonename
If the zone is not the global zone, determine if any interfaces are exclusive to the zone:
# dladm show-link
If the output indicates "insufficient privileges" then this requirement is not applicable.
If the zone is the global zone or the non-global zone has exclusive interfaces verify the system is configured to not forward IPv6 source-routed packets.
# ndd /dev/ip6 ip6_forward_src_routed
If the returned value is not 0, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN007950The system must not respond to ICMPv6 echo requests sent to a broadcast address.<VulnDiscussion>Responding to broadcast ICMP echo requests facilitates network mapping and provides a vector for amplification attacks.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-23972SV-29785CCI-000366Configure the system to not respond to IPv6 multicast ICMP echo-requests.
Procedure:
# ndd -set /dev/ip ip6_respond_to_echo_multicast 0
This command must also be added to a system startup script.Determine the type of zone that you are currently securing.
# zonename
If the zone is not the global zone, determine if any interfaces are exclusive to the zone:
# dladm show-link
If the output indicates "insufficient privileges" then this requirement is not applicable.
If the zone is the global zone or the non-global zone has exclusive interfaces determine if the system is configured to ignore IPv6 multicast ICMP echo-requests.
Procedure:
# ndd -get /dev/ip ip6_respond_to_echo_multicast
If the result is not 0, this is a finding.SRG-OS-000250<GroupDescription></GroupDescription>GEN007980If the system is using LDAP for authentication or account information, the system must use a TLS connection using FIPS 140-2 approved cryptographic algorithms.<VulnDiscussion>LDAP can be used to provide user authentication and account information, which are vital to system security. Communication between an LDAP server and a host using LDAP requires protection.
Satisfies: SRG-OS-000250, SRG-OS-000495, SRG-OS-000500</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22555SV-41038CCI-001453Configure all LDAP authentications and connections to be encrypted using TLS and FIPS 140-2 approved cryptographic algorithms.Check if the system is using NSS LDAP.
# grep -v '^#' /etc/nsswitch.conf | grep ldap
If no lines are returned, this vulnerability is not applicable.
Verify TLS is used for client authentications to the server
# grep "NS_LDAP_AUTH=" /var/ldap/ldap_client_file
If any of the authentication methods used do not begin with "tls:", this is a finding.
Retrieve the list of LDAP servers.
# grep "NS_LDAP_SERVERS=" /var/ldap/client_file
Use the certutil to verify the cipher(s) used for every server.
# certutil -L -n < host nickname > -d /var/ldap
If any of the TLS connections do not use FIPS 140-2 approved cryptographic algorithms, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN008060If the system is using LDAP for authentication or account information the LDAP client configuration file must have mode 0600 or less permissive.<VulnDiscussion>LDAP can be used to provide user authentication and account information, which are vital to system security. The LDAP client configuration must be protected from unauthorized modification.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22559SV-40726CCI-000366Change the permissions of the files.
# chmod 0600 /var/ldap/ldap_client_file /var/ldap/ldap_client_credVerify the permissions of the files.
# ls -lL /var/ldap/ldap_client_file /var/ldap/ldap_client_cred
If the mode of either file is more permissive than 0600, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN008080If the system is using LDAP for authentication or account information, the LDAP configuration file must be owned by root.<VulnDiscussion>LDAP can be used to provide user authentication and account information, which are vital to system security. The LDAP client configuration must be protected from unauthorized modification.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22560SV-40727CCI-000366Change the owner of the files.
# chown root /var/ldap/ldap_client_file /var/ldap/ldap_client_credVerify the ownership of the files.
# ls -lL /var/ldap/ldap_client_file /var/ldap/ldap_client_cred
If the files are not owned by root, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN008100If the system is using LDAP for authentication or account information, the LDAP configuration file must be group-owned by root, bin, or sys.<VulnDiscussion>LDAP can be used to provide user authentication and account information, which are vital to system security. The LDAP client configuration must be protected from unauthorized modification.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22561SV-39906CCI-000366Change the group-owner of the files to root, bin, or sys.
Procedure:
# chgrp root /var/ldap/ldap_client_file /var/ldap/ldap_client_credCheck the group ownership of the files.
Procedure:
# ls -lL /var/ldap/ldap_client_file /var/ldap/ldap_client_cred
If the files are not group-owned by root, bin, or sys, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN008120If the system is using LDAP for authentication or account information, the /etc/ldap.conf (or equivalent) file must not have an extended ACL.<VulnDiscussion>LDAP can be used to provide user authentication and account information, which are vital to system security. The LDAP client configuration must be protected from unauthorized modification.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22562SV-40728CCI-000366Remove the extended ACL from the files.
# chmod A- /var/ldap/ldap_client_file /var/ldap/ldap_client_credVerify the permissions of the files.
# ls -lL /var/ldap/ldap_client_file /var/ldap/ldap_client_cred
If the permissions include a "+", the files have an extended ACL, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN008140If the system is using LDAP for authentication or account information, the TLS certificate authority file and/or directory (as appropriate) must be owned by root.<VulnDiscussion>LDAP can be used to provide user authentication and account information, which are vital to system security. The LDAP client configuration must be protected from unauthorized modification.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22563SV-40755CCI-000366Change the ownership of the certificate database files.
# chown root /var/ldap/cert8.db /var/ldap/key3.db /var/ldap/secmod.dbCheck if the system is using NSS LDAP.
# grep -v '^#' /etc/nsswitch.conf | grep ldap
If no lines are returned, this vulnerability is not applicable.
Verify the ownership of the certificate database files.
# ls -lL /var/ldap/cert8.db /var/ldap/key3.db /var/ldap/secmod.db
If the owner of any of the files is not root, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN008160If the system is using LDAP for authentication or account information, the TLS certificate authority file and/or directory (as appropriate) must be group-owned by root, bin, or sys.<VulnDiscussion>LDAP can be used to provide user authentication and account information, which are vital to system security. The LDAP client configuration must be protected from unauthorized modification</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22564SV-39907CCI-000366Change the group ownership of the certificate database files.
# chgrp root /var/ldap/cert8.db /var/ldap/key3.db /var/ldap/secmod.dbCheck if the system is using NSS LDAP.
# grep -v '^#' /etc/nsswitch.conf | grep ldap
If no lines are returned, this vulnerability is not applicable.
Verify the group ownership of the certificate database files.
# ls -lL /var/ldap/cert8.db /var/ldap/key3.db /var/ldap/secmod.db
If the group owner of any of the files is not root, bin, or sys, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN008180If the system is using LDAP for authentication or account information, the TLS certificate authority file and/or directory (as appropriate) must have mode 0644 (0755 for directories) or less permissive.<VulnDiscussion>LDAP can be used to provide user authentication and account information, which are vital to system security. The LDAP client configuration must be protected from unauthorized modification.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22565SV-40760CCI-000366Change the mode of the certificate database files.
# chmod 0644 /var/ldap/cert8.db /var/ldap/key3.db /var/ldap/secmod.db
NOTE: Some SAs may prefer to set the permissions to 0600. This is acceptable.Check if the system is using NSS LDAP.
# grep -v '^#' /etc/nsswitch.conf | grep ldap
If no lines are returned, this vulnerability is not applicable.
Verify the mode of the certificate database files.
# ls -lL /var/ldap/cert8.db /var/ldap/key3.db /var/ldap/secmod.db
If the mode of any of the files is more permissive than 0644, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN008440Automated file system mounting tools must not be enabled unless needed.<VulnDiscussion>Automated file system mounting tools may provide unprivileged users with the ability to access local media and network shares. If this access is not necessary for the system’s operation, it must be disabled to reduce the risk of unauthorized access to these resources.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22577SV-26965CCI-000366Stop and disable the autofs service.
# svcadm disable autofs
If the autofs service is needed, this vulnerability is not applicable.
Check if the autofs service is running.
# svcs svc:/system/filesystem/autofs
If the autofs service is online this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN008460The system must have USB disabled unless needed.<VulnDiscussion>USB is a common computer peripheral interface. USB devices may include storage devices that could be used to install malicious software on a system or exfiltrate data.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22578SV-26968CCI-000366Remove the SUNWusb package.
# pkgrm SUNWusbIf the system needs USB, this vulnerability is not applicable.
Verify the SUNWusb package is installed.
# pkginfo SUNWusb
If the package is installed, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN008480The system must have USB Mass Storage disabled unless needed.<VulnDiscussion>USB is a common computer peripheral interface. USB devices may include storage devices that could be used to install malicious software on a system or exfiltrate data.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22579SV-26970CCI-000366Prevent the USB drivers from loading:
# echo "exclude: usb_ac" >> /etc/system
# echo "exclude: usb_as" >> /etc/system
# echo "exclude: hid" >> /etc/system
# echo "exclude: scsa2usb" >> /etc/system
# echo "exclude: usbprn" >> /etc/system
# echo "exclude: usbser_edge" >> /etc/system
The system must be restarted for these changes to take effect.If the system needs a particular USB driver for storage, this vulnerability is not applicable.
Check the current loaded kernel modules:
# modinfo | grep usb_ac
# modinfo | grep usb_as
# modinfo | grep hid
# modinfo | grep scsa2usb
# modinfo | grep usbprn
# modinfo | grep usbser_edge
If any command produces output, this is a finding.
Check the configuration of the /etc/system file:
# grep 'exclude: usb_ac' /etc/system
# grep 'exclude: usb_as' /etc/system
# grep 'exclude: hid' /etc/system
# grep 'exclude: scsa2usb' /etc/system
# grep 'exclude: usbprn' /etc/system
# grep 'exclude: usbser_edge' /etc/system
If no results are returned from any particular command, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN008500The system must have IEEE 1394 (Firewire) disabled unless needed.<VulnDiscussion>Firewire is a common computer peripheral interface. Firewire devices may include storage devices that could be used to install malicious software on a system or exfiltrate data.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22580SV-26972CCI-000366Disable the firewire module.
# echo "exclude: s1394" >> /etc/system
Reboot for the changes to take effect.If the system needs IEEE 1394 (Firewire), this is not applicable.
Check if the firewire module is not disabled.
# grep 'exclude: s1394' /etc/system
If no results are returned, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN008520The system must employ a local firewall.<VulnDiscussion>A local firewall protects the system from exposing unnecessary or undocumented network services to the local enclave. If a system within the enclave is compromised, firewall protection on an individual system continues to protect it from attack.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22582SV-26974CCI-000366Enable the system's local firewall.
# svcadm enable network/ipfilterDetermine the zone that you are currently securing.
# zonename
If the command output is "global", only the "phys" and "SR-IOV" interfaces assigned to the global zone require inspection. If using a non-Global zone, all "phys" and "SR-IOV" interfaces assigned to the zone require inspection.
Determine if the system is using a local firewall.
# svcs network/ipfilter
If the service is not online, this is a finding.SRG-OS-000297<GroupDescription></GroupDescription>GEN008540The system's local firewall must implement a deny-all, allow-by-exception policy.<VulnDiscussion>A local firewall protects the system from exposing unnecessary or undocumented network services to the local enclave. If a system within the enclave is compromised, firewall protection on an individual system continues to protect it from attack.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22583SV-26976CCI-002314Edit /etc/ipf/ipf.conf and add a default deny rule.
Restart the ipfilter service.
# svcadm restart network/ipfilterIf the system is not a global zone, this vulnerability is not applicable.
Check the firewall rules for a default deny rule.
# ipfstat -i
An example of a default deny rule is:
block in log quick on ne3 from any to any.
If there is no default deny rule, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN008600The system must be configured to only boot from the system boot device.<VulnDiscussion>The ability to boot from removable media is the same as being able to boot into single user or maintenance mode without a password. This ability could allow a malicious user to boot the system and perform changes possibly compromising or damaging the system. It could also allow the system to be used for malicious purposes by a malicious anonymous user.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-1013SV-1013CCI-000366Configure the system to only boot from system startup media. Determine if the system is configured to boot from devices other than the system startup media. If so, this is a finding.
In most cases, this will require access to the BIOS or system controller. The exact procedure will be hardware-dependent, and the SA should be consulted to identify the specific configuration. In the event the BIOS or system controller is not accessible without adversely impacting (e.g., restarting) the system, the SA may be interviewed to determine compliance with the requirement.SRG-OS-000080<GroupDescription></GroupDescription>GEN008620System BIOS or system controllers supporting password protection must have administrator accounts/passwords configured, and no others.<VulnDiscussion>A system's BIOS or system controller handles the initial startup of a system and its configuration must be protected from unauthorized modification. When the BIOS or system controller supports the creation of user accounts or passwords, such protections must be used and accounts/passwords only assigned to system administrators. Failure to protect BIOS or system controller settings could result in Denial-of-Service or compromise of the system resulting from unauthorized configuration changes.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-4246SV-4246CCI-000213Access the system's BIOS or system controller. Set a supervisor/administrator password if one has not been set. Disable a user-level password if one has been set. On systems with a BIOS or system controller, verify a supervisor or administrator password is set. If a password is not set, this is a finding.
If the BIOS or system controller supports user-level access in addition to supervisor/administrator access, determine if this access is enabled. If so, this is a finding.
The exact procedure will be hardware-dependent, and the SA should be consulted to identify the specific configuration. In the event the BIOS or system controller is not accessible without adversely impacting (e.g., restarting) the system, the SA may be interviewed to determine compliance with the requirement.SRG-OS-000480<GroupDescription></GroupDescription>GEN008680If the system boots from removable media, it must be stored in a safe or similarly secured container.<VulnDiscussion>Storing the boot loader on removable media in an insecure location could allow a malicious user to modify the systems boot instructions or boot to an insecure operating system.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-4255SV-4255CCI-000366Store the system boot media in a secure container when not in use.Ask the SA if the system boots from removable media. If so, ask if the boot media is stored in a secure container when not in use. If it is not, this is a finding.SRG-OS-000312<GroupDescription></GroupDescription>GEN008720The system's boot loader configuration file(s) must have mode 0600 or less permissive.<VulnDiscussion>File permissions greater than 0600 on boot loader configuration files could allow an unauthorized user to view or modify sensitive information pertaining to system boot instructions.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-4250SV-4250CCI-002165Change the mode of the menu.lst file to 0600.
# chmod 0600 /pool-name/boot/grub/menu.lst
or
# chmod 0600 /boot/grub/menu.lst This check applies to the global zone only. Determine the type of zone that you are currently securing.
# zonename
If the command output is "global", this check applies.
Check the permission of the menu.lst file.
On systems that have a ZFS root, the menu.lst file is typically located at /pool-name/boot/grub/menu.lst where "pool-name" is the mount point for the top-level dataset.
On systems that have a UFS root, the menu.lst file is typically located at /boot/grub/menu.lst .
Procedure:
# ls -lL /pool-name/boot/grub/menu.lst
or
# ls -lL /boot/grub/menu.lst
If menu.lst has a mode more permissive than 0600, this is a finding.SRG-OS-000366<GroupDescription></GroupDescription>GEN008800The system package management tool must cryptographically verify the authenticity of software packages during installation.<VulnDiscussion>To prevent the installation of software from unauthorized sources, the system package management tool must use cryptographic algorithms to verify the packages are authentic.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22588SV-26991CCI-001749Edit /var/sadm/install/admin/default and set the authentication setting to quit.Verify package signature validation is not disabled.
# grep "authentication=quit" /var/sadm/install/admin/default
If no configuration is returned, this is a finding.SRG-OS-000191<GroupDescription></GroupDescription>GEN008820The system package management tool must not automatically obtain updates.<VulnDiscussion>System package management tools can obtain a list of updates and patches from a package repository and make this information available to the SA for review and action. Using a package repository outside of the organization's control, presents a risk that malicious packages could be introduced.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-22589SV-40814CCI-001233Disable any cron or at jobs running smpatch.
# crontab -e < user running smpatch >
# atrm < id of at job running smpatch >Determine if the system package management tool is configured to automatically obtain updated packages using the cron or at utilities.
# grep smpatch /var/spool/cron/crontabs/* /var/spool/cron/atjobs/*
If smpatch is called with the add, update, or remove subcommands, this is a finding.SRG-OS-000108<GroupDescription></GroupDescription>GEN009120The system, if capable, must be configured to require the use of a CAC, PIV compliant hardware token, or Alternate Logon Token (ALT) for authentication.<VulnDiscussion>In accordance with CTO 07-015 PKI authentication is required. This provides stronger, two-factor authentication than using a username/password.
NOTE: The following are exempt from this, however, they must meet all password requirements and must be documented with the IAO:
- Stand-alone systems.
- Application Accounts.
- Students or unpaid employees (such as, interns) who are not eligible to receive or not in receipt of a CAC, PIV, or ALT.
- Warfighters and support personnel located at operational tactical locations conducting wartime operations that are not collocated with RAPIDS workstations to issue CAC; are not eligible for CAC or do not have the capability to use ALT.
- Test systems that have an Interim Approval to Test (IATT) and provide protection via separate VPN, firewall, or security measures preventing access to network and system components from outside the protection boundary documented in the IATT.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061V-24347SV-30004CCI-000768Consult vendor documentation to determine the procedures necessary for configuring CAC authentication. Configure all accounts required by policy to use CAC authentication.Consult vendor documentation to determine if the system is capable of CAC authentication. If it is not, this is not applicable.
Interview the SA to determine if all accounts not exempted by policy are using CAC authentication. If non-exempt accounts are not using CAC authentication, this is a finding.
SRG-OS-000480<GroupDescription></GroupDescription>GEN005201X11 forwarding for SSH must be disabled.<VulnDiscussion>Enabling X11 Forwarding on the host can permit a malicious user to secretly open another X11 connection to another remote client during the session and perform unobtrusive activities such as keystroke monitoring. If the X11 services are not required for the system's intended function, they should be disabled or restricted as appropriate to the user's needs.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061CCI-000366The root role is required.
Modify the sshd_config file.
# vi /etc/ssh/sshd_config
Locate the line containing:
X11Forwarding
Change it to:
X11Forwarding no
Restart the SSH service.
# svcadm restart svc:/network/sshDetermine if X11 Forwarding is enabled.
# grep "^X11Forwarding" /etc/ssh/sshd_config
If the output of this command is not “X11Forwarding no”, this is a finding.SRG-OS-000480<GroupDescription></GroupDescription>GEN005202The sshd server must bind the X11 forwarding server to the loopback address.<VulnDiscussion>Enabling X11 Forwarding on the host can permit a malicious user to secretly open another X11 connection to another remote client during the session and perform unobtrusive activities such as keystroke monitoring. If the X11 services are not required for the system's intended function, they should be disabled or restricted as appropriate to the user's needs.
By default, sshd binds the forwarding server to the loopback address and sets the hostname part of the DISPLAY environment variable to “localhost”. This prevents remote hosts from connecting to the proxy display.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Solaris 10 X86DISADPMS TargetSolaris 10 X864061CCI-000366The root role is required.
Modify the sshd_config file.
# vi /etc/ssh/sshd_config
Locate the line containing:
X11UseLocalhost
Change it to:
X11UseLocalhost yes
Restart the SSH service.
# svcadm restart svc:/network/sshDetermine if the X11 forwarding server is bound to the loopback address.
# grep "^X11UseLocalhost" /etc/ssh/sshd_config
If the output of this command is not “X11UseLocalhost yes”, this is a finding.