Owner: Daniel Jones
danjones@us.ibm.com
512.838.1794
It is the responsibility of the user of this document to ensure that they are using the current version of this document. To validate that your copy of this document is at the latest level, view the latest version of this document, http://eclipse.ltc.austin.ibm.com/EAL2/eal2_test_plan.html.
This document is distributed by 7UGA 5R Linux OS – Maroon. The latest version can be obtained internally from http://eclipse.ltc.austin.ibm.com/EAL2/eal2_test_plan.html
|
Name |
Organization |
|
Daniel Jones |
7UGA 5R Linux OS – Maroon |
|
Doc Shankar |
7UGA 5R Linux OS – Maroon |
|
Emily Ratliff |
7UGA 5R Linux OS – Maroon |
|
Klaus Weidner |
@sec information
security GmbH |
|
Date |
Version |
Description of Changes |
|
|
Draft 0.1 |
Initial Draft |
|
|
Draft 0.2 |
Added Entry/Exit Criteria, test tool descriptions, SMP test requirements, completed test cases. |
|
|
Draft 0.3 |
Added completed test cases, system call tests, additional software, installation of test environment. |
|
|
Draft 0.4 |
Added test environment install section, ftp database, lstat syscall. Modified H/W requirements. |
|
|
Draft 0.5 |
Added completed test cases, manual test for /etc/securetty and /etc/inittab. Added “make” to additional software. Removed non-security relevant system calls. Added TSF Databases and Administrator Programs. |
|
|
Draft 0.6 |
Added statement about TOE modifications for testing. Added completed test cases. |
|
04/16/2003 |
1.0 |
Added completed test cases. Corrected test case execution instructions. Made mingetty not required. |
|
|
1.1 |
Added instructions for manual mount tests. |
|
|
1.2 |
Add requirement to reboot system before re-executing the test suite. |
|
|
1.3 |
Fix unixdomainsocketperm01 testname. Added testcases for setfsuid/setfsgid. Added manual test for login. |
|
|
1.4 |
Correct mingetty manual test instructions. |
|
|
1.5 |
Added manual perl install instructions. |
|
|
1.6 |
Perform initial ssh to localhost.. Corrected script to install perl. |
|
|
1.7 |
Correct tests for removexattr. |
|
|
1.8 |
Add requirement for adherence to security guide. |
|
|
1.9 |
Removed FAIL comment from unixdomainsocketperm01 test. |
The purpose of the Security Function Verification test is to demonstrate the correct operation of security functions identified in the SuSE Linux Enterprise Server V8 (SLES8) Security Target for EAL2. The term “correct operation” is defined to include appropriate failures for unauthorized or invalid access to security functions.
The tests cases identified in this test plan are
limited to those areas that enforce the secure operation of SLES8. Furthermore,
only features and functions contained in the SLES8 Security Target for EAL2 are
addressed. Test cases are designed to verify the correct operation of security
related user programs, databases (files), and system calls. Testing for system
availability in a stress environment is beyond the scope of this plan.
The following hardware and software will be used:
|
Hardware |
Linux Distros |
Version |
Additional Software |
|
IBM xSeries - Pentium 4 or Xeon Processor |
SuSE Linux Enterprise Sever |
V8 |
expect, perl expect, gcc, flex, make |
|
Serial Terminal (or PC with Terminal Emulation) |
N/A |
N/A |
|
The list of required packages, as well as configuration details will be provided by the EAL 2 evaluation security guide. The setup of the test machine(s) must conform strictly with the instructions and configuration details described in the EAL 2 evaluation security guide.
The selected hardware will be tested in uniprocessor and SMP configurations. The objective is to provide test coverage for both the k_deflt and k_smp kernel packages.
o
Launch “yast”
o
Goto Software à Install/Remove Software
o
Goto search and search for “gcc”
o
Select “gcc” & “gcc-c++”
by selecting them and pressing “+”
o
Goto search and search for “make”
o
Select
“make” by selecting it and pressing “+”
o
Goto search and search for “expect”
o
Select
“expect” by selecting it and pressing “+”
o
Goto search and search for “lex”
o
Select
“flex” by selecting it and pressing “+”
For internet connected host
#Enter
the following command:
perl -MCPAN -e shell
#Answer
“no” to the following prompt::
Are
you ready for manual configuration ? [yes] no
#At the cpan prompt run the
“install Expect” command:
cpan>install Expect
#Answer
“yes” to the following prompt:
Shall
I follow then and prepend to the queue of modules
we are processing
right now? [yes] yes
#Quit the program
cpan>quit
For non-internet connected host
# Download the required files on an Internet-connected machine:
wget http://www.cpan.org/authors/id/R/RG/RGIERSIG/IO-Tty-1.02.tar.gz
wget http://www.cpan.org/authors/id/R/RG/RGIERSIG/Expect-1.15.tar.gz
# Transfer the files to the target machine, and run the following to
# install the Perl modules:
for f in IO-Tty*tar.gz Expect*tar.gz; do (
gzip -dc "$f" | tar xf -
cd `basename "$f" .tar.gz`
perl Makefile.PL
make && make install
cd -
) done
The following packages are added through yast2, including dependencies added automatically (verified through 'rpmqpack' output):
o binutils
o cpp
o expect
o flex
o gcc
o gcc-c++
o glibc-devel
o libstdc++-devel
o make
o tcl
o tk
o xshared
The 'Expect.pm' module needed for Perl tests installs the following Perl packages (not through Yast2, the command used is "perl -mCPAN -e 'Install Expect'"):
o IO-Tty-1.02.tar.gz
o Expect-1.15.tar.gz
These modifications are all permitted according to the Security Guide ("Reviewing the system configuration"). There are no configuration violations such as setuid/setgid binaries, daemons, startup scripts or other prohibited changes. After installation of the test environment, the system remains compliant with the TOE.
Some tests may leave the machine in an inconsistent state and cause the cron tests to fail. To avoid these spurious cron failures, the test host must be rebooted before attempting to run the test suite again.
|
Name |
Location |
Comments |
|
/etc/at.allow /etc/at.deny |
ltp_EAL2/testcases/admin_tools/at/at_allow01 ltp_EAL2/testcases/admin_tools/at/at_deny01 |
|
|
/etc/cron.d/* |
ltp_EAL2/testcases/admin_tools/cron/cron_dirs_checks01 |
|
|
/etc/cron.daily/ |
ltp_EAL2/testcases/admin_tools/cron/cron_dirs_checks01 |
|
|
/etc/cron.hourly/ |
ltp_EAL2/testcases/admin_tools/cron/cron_dirs_checks01 |
|
|
/etc/cron.monthly/ |
ltp_EAL2/testcases/admin_tools/cron/cron_dirs_checks01 |
|
|
/etc/cron.weekly/ |
ltp_EAL2/testcases/admin_tools/cron/cron_dirs_checks01 |
|
|
/etc/crontab |
ltp_EAL2/testcases/admin_tools/cron/cron01 ltp_EAL2/testcases/admin_tools/cron/cron02 |
|
|
/etc/ftpusers |
ltp_EAL2/testcases/user_databases/ftpusers01 |
|
|
/etc/group |
ltp_EAL2/testcases/user_databases/group01 |
|
|
/etc/gshadow |
ltp_EAL2/testcases/user_databases/group01 |
|
|
/etc/inittab |
manual test |
see appendix B |
|
/etc/ld.so.conf |
ltp_EAL2/testcases/user_databases/ld.so.conf01 |
|
|
/etc/login.defs |
ltp_EAL2/testcases/user_databases/passwd01 ltp_EAL2/testcases/user_databases/passwd02 ltp_EAL2/testcases/user_databases/passwd03 |
|
|
/etc/modules.conf |
ltp_EAL2/testcases/admin_tools/modules.conf/modules.conf01 ltp_EAL2/testcases/admin_tools/modules.conf/modules.conf02 |
|
|
/etc/pam.d |
ltp_EAL2/testcases/user_databases/pam01 |
|
|
/etc/passwd |
ltp_EAL2/testcases/user_databases/passwd01 ltp_EAL2/testcases/user_databases/passwd02 ltp_EAL2/testcases/user_databases/passwd03 |
|
|
/etc/securetty |
manual test |
see appendix B |
|
/etc/security/pam_pwcheck.conf |
ltp_EAL2/testcases/user_databases/pam01 ltp_EAL2/testcases/user_databases/passwd01 ltp_EAL2/testcases/user_databases/passwd02 ltp_EAL2/testcases/user_databases/passwd03 |
|
|
/etc/security/pam_unix2.conf |
ltp_EAL2/testcases/user_databases/pam01 ltp_EAL2/testcases/user_databases/passwd01 ltp_EAL2/testcases/user_databases/passwd02 ltp_EAL2/testcases/user_databases/passwd03 |
|
|
/etc/shadow |
ltp_EAL2/testcases/user_databases/shadow01 |
|
|
/etc/ssh/ssh_config |
ltp_EAL2/testcases/network/tcp_cmds/ssh/ssh01 ltp_EAL2/testcases/network/tcp_cmds/ssh/ssh02 ltp_EAL2/testcases/network/tcp_cmds/ssh/ssh03 ltp_EAL2/testcases/network/tcp_cmds/ssh/ssh04 |
|
|
/etc/ssh/sshd_config |
ltp_EAL2/testcases/network/tcp_cmds/ssh/ssh01 ltp_EAL2/testcases/network/tcp_cmds/ssh/ssh02 ltp_EAL2/testcases/network/tcp_cmds/ssh/ssh03 ltp_EAL2/testcases/network/tcp_cmds/ssh/ssh04 |
|
|
/etc/sysconfig/* |
ltp_EAL2/testcases/admin_tools/sysconfig/sysconfig01 |
|
|
/etc/vsftpd.conf |
ltp_EAL2/testcases/user_databases/ftpusers01 |
|
|
/etc/xinetd.conf |
ltp_EAL2/testcases/user_databases/ftpusers01 ltp_EAL2/testcases/network/tcp_cmds/ftp/ftp02 ltp_EAL2/testcases/network/tcp_cmds/ftp/ftp03 ltp_EAL2/testcases/network/tcp_cmds/ftp/ftp04 |
implicit testing by ftp |
|
/usr/lib/cracklib_dict.* |
ltp_EAL2/testcases/user_databases/pam01 ltp_EAL2/testcases/user_databases/passwd01 ltp_EAL2/testcases/user_databases/passwd02 ltp_EAL2/testcases/user_databases/passwd03 |
|
|
/var/log/faillog |
ltp_EAL2/testcases/user_databases/faillog01 |
|
|
/var/log/lastlog |
ltp_EAL2/testcases/user_databases/lastlog01 |
|
|
/var/spool/atjobs |
at_test_EAL2/runme.sh |
|
|
/var/spool/cron/* |
ltp_EAL2/testcases/admin_tools/cron/cron_dirs_checks01 |
|
|
/var/spool/cron/allow /var/spool/cron/deny |
ltp_EAL2/testcases/admin_tools/cron/cron_allow01 ltp_EAL2/testcases/admin_tools/cron/cron_deny01 |
|
|
Name |
Location |
Comments |
|
/bin/login |
manual
test |
see
appendix B |
|
/bin/ping |
ltp_EAL2/testcases/network/tcp_cmds/ping/ping01 |
|
|
/bin/su |
ltp_EAL2/testcases/admin_tools/su/su01 |
|
|
/sbin/agetty |
manual test |
see appendix B |
|
/sbin/mingetty |
manual test |
see appendix B – not
required |
|
/usr/bin/at |
at_test_EAL2/runme.sh |
standalone
test |
|
/usr/bin/chage |
ltp_EAL2/testcases/user_databases/shadow01 |
|
|
/usr/bin/chfn |
ltp_EAL2/testcases/user_databases/passwd02 |
|
|
/usr/bin/chsh |
ltp_EAL2/testcases/user_databases/passwd03 |
|
|
/usr/bin/crontab |
ltp_EAL2/testcases/admin_tools/cron/cron01 ltp_EAL2/testcases/admin_tools/cron/cron02 |
|
|
/usr/bin/passwd |
ltp_EAL2/testcases/user_databases/pam01 ltp_EAL2/testcases/user_databases/passwd01 ltp_EAL2/testcases/user_databases/passwd02 ltp_EAL2/testcases/user_databases/passwd03 |
|
|
/usr/sbin/atd |
at_test_EAL2/runme.sh |
|
|
/usr/sbin/cron |
ltp_EAL2/testcases/admin_tools/cron/cron01 ltp_EAL2/testcases/admin_tools/cron/cron02 |
|
|
/usr/sbin/groupadd |
ltp_EAL2/testcases/user_databases/group01 |
|
|
/usr/sbin/groupdel |
ltp_EAL2/testcases/user_databases/group01 |
|
|
/usr/sbin/groupmod |
ltp_EAL2/testcases/user_databases/group01 |
|
|
/usr/sbin/sshd |
ltp_EAL2/testcases/network/tcp_cmds/ssh/ssh01 ltp_EAL2/testcases/network/tcp_cmds/ssh/ssh02 ltp_EAL2/testcases/network/tcp_cmds/ssh/ssh03 ltp_EAL2/testcases/network/tcp_cmds/ssh/ssh04 |
|
|
/usr/sbin/useradd |
ltp_EAL2/testcases/user_databases/passwd01 ltp_EAL2/testcases/user_databases/passwd02 ltp_EAL2/testcases/user_databases/passwd03 ltp_EAL2/testcases/user_databases/pam01 ltp_EAL2/testcases/user_databases/shadow01 ltp_EAL2/testcases/user_databases/group01 ltp_EAL2/testcases/user_databases/ftpusers01 |
|
|
/usr/sbin/userdel |
ltp_EAL2/testcases/user_databases/passwd01 ltp_EAL2/testcases/user_databases/passwd02 ltp_EAL2/testcases/user_databases/passwd03 ltp_EAL2/testcases/user_databases/pam01 ltp_EAL2/testcases/user_databases/shadow01 ltp_EAL2/testcases/user_databases/group01 ltp_EAL2/testcases/user_databases/ftpusers01 |
|
|
/usr/sbin/usermod |
ltp_EAL2/testcases/user_databases/group01 |
|
|
/usr/sbin/vsftpd |
ltp_EAL2/testcases/user_databases/ftpusers01 ltp_EAL2/testcases/network/tcp_cmds/ftp/ftp02 ltp_EAL2/testcases/network/tcp_cmds/ftp/ftp03 ltp_EAL2/testcases/network/tcp_cmds/ftp/ftp04 |
|
|
/usr/sbin/xinetd |
ltp_EAL2/testcases/user_databases/ftpusers01 ltp_EAL2/testcases/network/tcp_cmds/ftp/ftp02 ltp_EAL2/testcases/network/tcp_cmds/ftp/ftp03 ltp_EAL2/testcases/network/tcp_cmds/ftp/ftp04 |
implicit testing by ftp |
|
/sbin/init |
manual test |
see appendix B |
|
Name |
Location |
Comments |
|
ftp |
ltp_EAL2/testcases/user_databases/ftpusers01 ltp_EAL2/testcases/network/tcp_cmds/ftp/ftp02 ltp_EAL2/testcases/network/tcp_cmds/ftp/ftp03 ltp_EAL2/testcases/network/tcp_cmds/ftp/ftp04 |
|
|
ssh |
ltp_EAL2/testc |