diff options
author | Rene Mayrhofer <rene@mayrhofer.eu.org> | 2007-01-28 21:00:49 +0000 |
---|---|---|
committer | Rene Mayrhofer <rene@mayrhofer.eu.org> | 2007-01-28 21:00:49 +0000 |
commit | cd4e20d58fb0d782ba9f7bd4bead4f333d670370 (patch) | |
tree | 40dedbc421cf4811b9f70b8a62977fd962b9facd /testing | |
parent | 5c3858b7d7ae271065816bea3a4944b75bc890d1 (diff) | |
download | vyos-strongswan-cd4e20d58fb0d782ba9f7bd4bead4f333d670370.tar.gz vyos-strongswan-cd4e20d58fb0d782ba9f7bd4bead4f333d670370.zip |
- New upstream release, now _with_ XAUTH support.
Diffstat (limited to 'testing')
68 files changed, 846 insertions, 21 deletions
diff --git a/testing/INSTALL b/testing/INSTALL index cfb9f1806..033291aa5 100644 --- a/testing/INSTALL +++ b/testing/INSTALL @@ -53,7 +53,7 @@ are required for the strongSwan testing environment: * A vanilla Linux kernel on which the UML kernel will be based on. We recommend the use of - http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.18.1.tar.bz2 + http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.18.3.tar.bz2 * Starting with Linux kernel 2.6.9 no patch must be applied any more in order to make the vanilla kernel UML-capable. For older kernels you'll find @@ -71,7 +71,7 @@ are required for the strongSwan testing environment: * The latest strongSwan distribution - http://download.strongswan.org/strongswan-2.8.0.tar.gz + http://download.strongswan.org/strongswan-2.8.1.tar.gz 3. Creating the environment @@ -146,5 +146,5 @@ README document. ----------------------------------------------------------------------------- -This file is RCSID $Id: INSTALL,v 1.43 2006/10/19 15:36:10 as Exp $ +This file is RCSID $Id: INSTALL,v 1.44 2007/01/14 12:17:50 as Exp $ diff --git a/testing/scripts/kstart-umls b/testing/scripts/kstart-umls index a533fb728..21baee52c 100755 --- a/testing/scripts/kstart-umls +++ b/testing/scripts/kstart-umls @@ -14,7 +14,7 @@ # or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License # for more details. # -# RCSID $Id: kstart-umls,v 1.6 2005/08/30 22:13:12 as Exp $ +# RCSID $Id: kstart-umls,v 1.7 2007/01/11 20:32:01 as Exp $ DIR=`dirname $0` @@ -35,6 +35,12 @@ BOOTING_HOSTS="" count_max=12 count=0 +#position of konsole window on the desktop +x0=8 +y0=8 +dx=12 +dy=24 + for host in $HOSTS do up=0 @@ -57,13 +63,16 @@ do [ -f $UMLHOSTFS ] || die "!! uml root file system '$UMLHOSTFS' not found" cecho-n " * Starting ${host}.." - eval konsole -title ${host} -e "$UMLKERNEL \ + eval konsole -title ${host} --geometry "+${x0}+${y0}" -e "$UMLKERNEL \ umid=${host} \ ubda=$UMLHOSTFS \ \$SWITCH_${host} \ mem=${MEM}M con=pty con0=fd:0,fd:1" & cecho "done" fi + let "x0+=dx" + let "y0+=dy" + sleep 15 done if [ -z "$BOOTING_HOSTS" ] @@ -90,14 +99,13 @@ do exit 1 fi - pid=`cat ~/.uml/$host/pid` - up=`ps up $pid | grep agetty | wc -l` + up=`uml_mconsole $host proc net/route 2> /dev/null | grep eth0 | wc -l` while [ $count -lt $count_max ] && [ $up -eq 0 ] do cecho-n "." sleep 5 - up=`ps up $pid | grep agetty | wc -l` + up=`uml_mconsole $host proc net/route 2> /dev/null | grep eth0 | wc -l` let "count+=1" done diff --git a/testing/scripts/start-umls b/testing/scripts/start-umls index f51791dfa..89d9e0d81 100755 --- a/testing/scripts/start-umls +++ b/testing/scripts/start-umls @@ -14,7 +14,7 @@ # or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License # for more details. # -# RCSID $Id: start-umls,v 1.5 2005/08/30 22:13:12 as Exp $ +# RCSID $Id: start-umls,v 1.6 2007/01/11 20:32:01 as Exp $ DIR=`dirname $0` @@ -90,14 +90,13 @@ do exit 1 fi - pid=`cat ~/.uml/$host/pid` - up=`ps up $pid | grep agetty | wc -l` + up=`uml_mconsole $host proc net/route 2> /dev/null | grep eth0 | wc -l` while [ $count -lt $count_max ] && [ $up -eq 0 ] do cecho-n "." sleep 5 - up=`ps up $pid | grep agetty | wc -l` + up=`uml_mconsole $host proc net/route 2> /dev/null | grep eth0 | wc -l` let "count+=1" done diff --git a/testing/scripts/xstart-umls b/testing/scripts/xstart-umls index 13c5d10a1..5983d405f 100755 --- a/testing/scripts/xstart-umls +++ b/testing/scripts/xstart-umls @@ -14,7 +14,7 @@ # or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License # for more details. # -# RCSID $Id: xstart-umls,v 1.6 2005/08/30 22:13:12 as Exp $ +# RCSID $Id: xstart-umls,v 1.7 2007/01/11 20:32:01 as Exp $ DIR=`dirname $0` @@ -35,6 +35,12 @@ BOOTING_HOSTS="" count_max=12 count=0 +#position of xterm window on the desktop +x0=8 +y0=8 +dx=12 +dy=24 + for host in $HOSTS do up=0 @@ -57,13 +63,16 @@ do [ -f $UMLHOSTFS ] || die "!! uml root file system '$UMLHOSTFS' not found" cecho-n " * Starting ${host}.." - eval xterm -title ${host} -rightbar -sb -sl 500 -e "$UMLKERNEL \ + eval xterm -title ${host} -geometry "+${x0}+${y0}" -rightbar -sb -sl 500 -e "$UMLKERNEL \ umid=${host} \ ubda=$UMLHOSTFS \ \$SWITCH_${host} \ mem=${MEM}M con=pty con0=fd:0,fd:1" & cecho "done" fi + let "x0+=dx" + let "y0+=dy" + sleep 15 done if [ -z "$BOOTING_HOSTS" ] @@ -90,14 +99,13 @@ do exit 1 fi - pid=`cat ~/.uml/$host/pid` - up=`ps up $pid | grep agetty | wc -l` + up=`uml_mconsole $host proc net/route 2> /dev/null | grep eth0 | wc -l` while [ $count -lt $count_max ] && [ $up -eq 0 ] do cecho-n "." sleep 5 - up=`ps up $pid | grep agetty | wc -l` + up=`uml_mconsole $host proc net/route 2> /dev/null | grep eth0 | wc -l` let "count+=1" done diff --git a/testing/testing.conf b/testing/testing.conf index 6a2db67fd..d59333cba 100755 --- a/testing/testing.conf +++ b/testing/testing.conf @@ -14,14 +14,14 @@ # or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License # for more details. # -# RCSID $Id: testing.conf,v 1.57 2006/10/19 21:38:44 as Exp $ +# RCSID $Id: testing.conf,v 1.58 2007/01/14 12:18:31 as Exp $ # Root directory of testing UMLTESTDIR=~/strongswan-testing # Bzipped kernel sources # (file extension .tar.bz2 required) -KERNEL=$UMLTESTDIR/linux-2.6.18.1.tar.bz2 +KERNEL=$UMLTESTDIR/linux-2.6.18.3.tar.bz2 # Extract kernel version KERNELVERSION=`basename $KERNEL .tar.bz2 | sed -e 's/linux-//'` @@ -34,7 +34,7 @@ KERNELCONFIG=$UMLTESTDIR/.config-2.6.18 UMLPATCH=$UMLTESTDIR/uml_jmpbuf-2.6.18.patch.bz2 # Bzipped source of strongSwan -STRONGSWAN=$UMLTESTDIR/strongswan-2.8.0.tar.bz2 +STRONGSWAN=$UMLTESTDIR/strongswan-2.8.1.tar.bz2 # strongSwan compile options (use "yes" or "no") USE_LIBCURL="yes" diff --git a/testing/tests/crl-ldap/pretest.dat b/testing/tests/crl-ldap/pretest.dat index 0097e78f4..64fa8116b 100644 --- a/testing/tests/crl-ldap/pretest.dat +++ b/testing/tests/crl-ldap/pretest.dat @@ -5,4 +5,4 @@ moon::ipsec start carol::ipsec start carol::sleep 2 carol::ipsec up home -carol::sleep 2 +carol::sleep 3 diff --git a/testing/tests/xauth-psk-mode-config/description.txt b/testing/tests/xauth-psk-mode-config/description.txt new file mode 100644 index 000000000..9abe6298c --- /dev/null +++ b/testing/tests/xauth-psk-mode-config/description.txt @@ -0,0 +1,11 @@ +The roadwarriors <b>carol</b> and <b>dave</b> set up a connection to gateway <b>moon</b>. +The authentication is based on Pre-Shared Keys (<b>PSK</b>) +followed by extended authentication (<b>XAUTH</b>) of <b>carol</b> and <b>dave</b> +based on user names and passwords. Next <b>carol</b> and <b>dave</b> request a +<b>virtual IP</b> via the IKE Mode Config protocol by using the +<b>leftsourceip=%modeconfig</b> parameter. +<p> +Upon the successful establishment of the IPsec tunnel, leftfirewall=yes automatically +inserts iptables-based firewall rules that let pass the tunneled traffic. +In order to test both tunnel and firewall, <b>carol</b> and <b>dave</b> ping the client +<b>alice</b> behind the gateway <b>moon</b>. diff --git a/testing/tests/xauth-psk-mode-config/evaltest.dat b/testing/tests/xauth-psk-mode-config/evaltest.dat new file mode 100644 index 000000000..15dd054a0 --- /dev/null +++ b/testing/tests/xauth-psk-mode-config/evaltest.dat @@ -0,0 +1,18 @@ +carol::cat /var/log/auth.log::extended authentication was successful::YES +dave::cat /var/log/auth.log::extended authentication was successful::YES +moon::cat /var/log/auth.log::carol.*extended authentication was successful::YES +moon::cat /var/log/auth.log::dave.*extended authentication was successful::YES +carol::ipsec status::home.*STATE_QUICK_I2.*IPsec SA established::YES +dave::ipsec status::home.*STATE_QUICK_I2.*IPsec SA established::YES +moon::ipsec status::carol.*STATE_QUICK_R2.*IPsec SA established::YES +moon::ipsec status::dave.*STATE_QUICK_R2.*IPsec SA established::YES +carol::ping -c 1 PH_IP_ALICE::64 bytes from PH_IP_ALICE: icmp_seq=1::YES +dave::ping -c 1 PH_IP_ALICE::64 bytes from PH_IP_ALICE: icmp_seq=1::YES +moon::tcpdump::IP carol.strongswan.org > moon.strongswan.org: ESP::YES +moon::tcpdump::IP moon.strongswan.org > carol.strongswan.org: ESP::YES +moon::tcpdump::IP dave.strongswan.org > moon.strongswan.org: ESP::YES +moon::tcpdump::IP moon.strongswan.org > dave.strongswan.org: ESP::YES +alice::tcpdump::IP carol1.strongswan.org > alice.strongswan.org: ICMP echo request::YES +alice::tcpdump::IP alice.strongswan.org > carol1.strongswan.org: ICMP echo reply::YES +alice::tcpdump::IP dave1.strongswan.org > alice.strongswan.org: ICMP echo request::YES +alice::tcpdump::IP alice.strongswan.org > dave1.strongswan.org: ICMP echo reply::YES diff --git a/testing/tests/xauth-psk-mode-config/hosts/carol/etc/ipsec.conf b/testing/tests/xauth-psk-mode-config/hosts/carol/etc/ipsec.conf new file mode 100644 index 000000000..ff1628fb0 --- /dev/null +++ b/testing/tests/xauth-psk-mode-config/hosts/carol/etc/ipsec.conf @@ -0,0 +1,24 @@ +# /etc/ipsec.conf - strongSwan IPsec configuration file + +config setup + plutodebug=control + crlcheckinterval=180 + strictcrlpolicy=no + +conn %default + ikelifetime=60m + keylife=20m + rekeymargin=3m + keyingtries=1 + authby=xauthpsk + +conn home + left=PH_IP_CAROL + leftid=carol@strongswan.org + leftsourceip=%modeconfig + leftnexthop=%direct + leftfirewall=yes + right=PH_IP_MOON + rightid=@moon.strongswan.org + rightsubnet=10.1.0.0/16 + auto=add diff --git a/testing/tests/xauth-psk-mode-config/hosts/carol/etc/ipsec.secrets b/testing/tests/xauth-psk-mode-config/hosts/carol/etc/ipsec.secrets new file mode 100644 index 000000000..70ea1dab6 --- /dev/null +++ b/testing/tests/xauth-psk-mode-config/hosts/carol/etc/ipsec.secrets @@ -0,0 +1,5 @@ +# /etc/ipsec.secrets - strongSwan IPsec secrets file + +: PSK 0sv+NkxY9LLZvwj4qCC2o/gGrWDF2d21jL + +: XAUTH carol "4iChxLT3" diff --git a/testing/tests/xauth-psk-mode-config/hosts/dave/etc/ipsec.conf b/testing/tests/xauth-psk-mode-config/hosts/dave/etc/ipsec.conf new file mode 100644 index 000000000..65c8d534e --- /dev/null +++ b/testing/tests/xauth-psk-mode-config/hosts/dave/etc/ipsec.conf @@ -0,0 +1,24 @@ +# /etc/ipsec.conf - strongSwan IPsec configuration file + +config setup + plutodebug=control + crlcheckinterval=180 + strictcrlpolicy=no + +conn %default + ikelifetime=60m + keylife=20m + rekeymargin=3m + keyingtries=1 + authby=xauthpsk + +conn home + left=PH_IP_DAVE + leftid=dave@strongswan.org + leftsourceip=%modeconfig + leftnexthop=%direct + leftfirewall=yes + right=PH_IP_MOON + rightid=@moon.strongswan.org + rightsubnet=10.1.0.0/16 + auto=add diff --git a/testing/tests/xauth-psk-mode-config/hosts/dave/etc/ipsec.secrets b/testing/tests/xauth-psk-mode-config/hosts/dave/etc/ipsec.secrets new file mode 100644 index 000000000..0690d9cde --- /dev/null +++ b/testing/tests/xauth-psk-mode-config/hosts/dave/etc/ipsec.secrets @@ -0,0 +1,5 @@ +# /etc/ipsec.secrets - strongSwan IPsec secrets file + +: PSK 0sv+NkxY9LLZvwj4qCC2o/gGrWDF2d21jL + +: XAUTH dave "ryftzG4A" diff --git a/testing/tests/xauth-psk-mode-config/hosts/moon/etc/ipsec.conf b/testing/tests/xauth-psk-mode-config/hosts/moon/etc/ipsec.conf new file mode 100644 index 000000000..1e543b2fe --- /dev/null +++ b/testing/tests/xauth-psk-mode-config/hosts/moon/etc/ipsec.conf @@ -0,0 +1,29 @@ +# /etc/ipsec.conf - strongSwan IPsec configuration file + +config setup + plutodebug=control + crlcheckinterval=180 + strictcrlpolicy=no + +conn %default + ikelifetime=60m + keylife=20m + rekeymargin=3m + keyingtries=1 + authby=xauthpsk + xauth=server + left=PH_IP_MOON + leftid=@moon.strongswan.org + leftnexthop=%direct + leftsubnet=10.1.0.0/16 + leftfirewall=yes + right=%any + auto=add + +conn carol + rightid=carol@strongswan.org + rightsourceip=PH_IP1_CAROL + +conn dave + rightid=dave@strongswan.org + rightsourceip=PH_IP1_DAVE diff --git a/testing/tests/xauth-psk-mode-config/hosts/moon/etc/ipsec.secrets b/testing/tests/xauth-psk-mode-config/hosts/moon/etc/ipsec.secrets new file mode 100644 index 000000000..1ea69f998 --- /dev/null +++ b/testing/tests/xauth-psk-mode-config/hosts/moon/etc/ipsec.secrets @@ -0,0 +1,7 @@ +# /etc/ipsec.secrets - strongSwan IPsec secrets file + +@moon.strongswan.org : PSK 0sv+NkxY9LLZvwj4qCC2o/gGrWDF2d21jL + +: XAUTH carol "4iChxLT3" + +: XAUTH dave "ryftzG4A" diff --git a/testing/tests/xauth-psk-mode-config/posttest.dat b/testing/tests/xauth-psk-mode-config/posttest.dat new file mode 100644 index 000000000..530cfc7b9 --- /dev/null +++ b/testing/tests/xauth-psk-mode-config/posttest.dat @@ -0,0 +1,9 @@ +moon::iptables -v -n -L +carol::iptables -v -n -L +dave::iptables -v -n -L +moon::ipsec stop +carol::ipsec stop +dave::ipsec stop +moon::/etc/init.d/iptables stop 2> /dev/null +carol::/etc/init.d/iptables stop 2> /dev/null +dave::/etc/init.d/iptables stop 2> /dev/null diff --git a/testing/tests/xauth-psk-mode-config/pretest.dat b/testing/tests/xauth-psk-mode-config/pretest.dat new file mode 100644 index 000000000..95a6be131 --- /dev/null +++ b/testing/tests/xauth-psk-mode-config/pretest.dat @@ -0,0 +1,12 @@ +moon::/etc/init.d/iptables start 2> /dev/null +carol::/etc/init.d/iptables start 2> /dev/null +dave::/etc/init.d/iptables start 2> /dev/null +moon::rm /etc/ipsec.d/cacerts/* +carol::rm /etc/ipsec.d/cacerts/* +dave::rm /etc/ipsec.d/cacerts/* +moon::ipsec start +carol::ipsec start +dave::ipsec start +carol::sleep 2 +carol::ipsec up home +dave::ipsec up home diff --git a/testing/tests/xauth-psk-mode-config/test.conf b/testing/tests/xauth-psk-mode-config/test.conf new file mode 100644 index 000000000..75510b295 --- /dev/null +++ b/testing/tests/xauth-psk-mode-config/test.conf @@ -0,0 +1,21 @@ +#!/bin/bash +# +# This configuration file provides information on the +# UML instances used for this test + +# All UML instances that are required for this test +# +UMLHOSTS="alice moon carol winnetou dave" + +# Corresponding block diagram +# +DIAGRAM="a-m-c-w-d.png" + +# UML instances on which tcpdump is to be started +# +TCPDUMPHOSTS="alice moon" + +# UML instances on which IPsec is started +# Used for IPsec logging purposes +# +IPSECHOSTS="moon carol dave" diff --git a/testing/tests/xauth-psk/description.txt b/testing/tests/xauth-psk/description.txt new file mode 100644 index 000000000..0ac2043c2 --- /dev/null +++ b/testing/tests/xauth-psk/description.txt @@ -0,0 +1,9 @@ +The roadwarriors <b>carol</b> and <b>dave</b> set up a connection to gateway <b>moon</b>. +The authentication is based on Pre-Shared Keys (<b>PSK</b>) +followed by extended authentication (<b>XAUTH</b>) of <b>carol</b> and <b>dave</b> +based on user names and passwords. +<p> +Upon the successful establishment of the IPsec tunnel, leftfirewall=yes automatically +inserts iptables-based firewall rules that let pass the tunneled traffic. +In order to test both tunnel and firewall, <b>carol</b> and <b>dave</b> ping the client +<b>alice</b> behind the gateway <b>moon</b>. diff --git a/testing/tests/xauth-psk/evaltest.dat b/testing/tests/xauth-psk/evaltest.dat new file mode 100644 index 000000000..e1dc6b5b0 --- /dev/null +++ b/testing/tests/xauth-psk/evaltest.dat @@ -0,0 +1,12 @@ +carol::cat /var/log/auth.log::extended authentication was successful::YES +dave::cat /var/log/auth.log::extended authentication was successful::YES +moon::cat /var/log/auth.log::extended authentication was successful::YES +carol::ipsec status::home.*STATE_QUICK_I2.*IPsec SA established::YES +dave::ipsec status::home.*STATE_QUICK_I2.*IPsec SA established::YES +moon::ipsec status::rw.*STATE_QUICK_R2.*IPsec SA established::YES +carol::ping -c 1 PH_IP_ALICE::64 bytes from PH_IP_ALICE: icmp_seq=1::YES +dave::ping -c 1 PH_IP_ALICE::64 bytes from PH_IP_ALICE: icmp_seq=1::YES +moon::tcpdump::IP carol.strongswan.org > moon.strongswan.org: ESP::YES +moon::tcpdump::IP moon.strongswan.org > carol.strongswan.org: ESP::YES +moon::tcpdump::IP dave.strongswan.org > moon.strongswan.org: ESP::YES +moon::tcpdump::IP moon.strongswan.org > dave.strongswan.org: ESP::YES diff --git a/testing/tests/xauth-psk/hosts/carol/etc/ipsec.conf b/testing/tests/xauth-psk/hosts/carol/etc/ipsec.conf new file mode 100644 index 000000000..b9af32c65 --- /dev/null +++ b/testing/tests/xauth-psk/hosts/carol/etc/ipsec.conf @@ -0,0 +1,21 @@ +# /etc/ipsec.conf - strongSwan IPsec configuration file + +config setup + plutodebug=control + crlcheckinterval=180 + strictcrlpolicy=no + +conn %default + ikelifetime=60m + keylife=20m + rekeymargin=3m + keyingtries=1 + authby=xauthpsk + +conn home + left=PH_IP_CAROL + leftnexthop=%direct + leftfirewall=yes + right=PH_IP_MOON + rightsubnet=10.1.0.0/16 + auto=add diff --git a/testing/tests/xauth-psk/hosts/carol/etc/ipsec.secrets b/testing/tests/xauth-psk/hosts/carol/etc/ipsec.secrets new file mode 100644 index 000000000..70ea1dab6 --- /dev/null +++ b/testing/tests/xauth-psk/hosts/carol/etc/ipsec.secrets @@ -0,0 +1,5 @@ +# /etc/ipsec.secrets - strongSwan IPsec secrets file + +: PSK 0sv+NkxY9LLZvwj4qCC2o/gGrWDF2d21jL + +: XAUTH carol "4iChxLT3" diff --git a/testing/tests/xauth-psk/hosts/dave/etc/ipsec.conf b/testing/tests/xauth-psk/hosts/dave/etc/ipsec.conf new file mode 100644 index 000000000..f392a3e66 --- /dev/null +++ b/testing/tests/xauth-psk/hosts/dave/etc/ipsec.conf @@ -0,0 +1,21 @@ +# /etc/ipsec.conf - strongSwan IPsec configuration file + +config setup + plutodebug=control + crlcheckinterval=180 + strictcrlpolicy=no + +conn %default + ikelifetime=60m + keylife=20m + rekeymargin=3m + keyingtries=1 + authby=xauthpsk + +conn home + left=PH_IP_DAVE + leftnexthop=%direct + leftfirewall=yes + right=PH_IP_MOON + rightsubnet=10.1.0.0/16 + auto=add diff --git a/testing/tests/xauth-psk/hosts/dave/etc/ipsec.secrets b/testing/tests/xauth-psk/hosts/dave/etc/ipsec.secrets new file mode 100644 index 000000000..0690d9cde --- /dev/null +++ b/testing/tests/xauth-psk/hosts/dave/etc/ipsec.secrets @@ -0,0 +1,5 @@ +# /etc/ipsec.secrets - strongSwan IPsec secrets file + +: PSK 0sv+NkxY9LLZvwj4qCC2o/gGrWDF2d21jL + +: XAUTH dave "ryftzG4A" diff --git a/testing/tests/xauth-psk/hosts/moon/etc/ipsec.conf b/testing/tests/xauth-psk/hosts/moon/etc/ipsec.conf new file mode 100644 index 000000000..4c423b017 --- /dev/null +++ b/testing/tests/xauth-psk/hosts/moon/etc/ipsec.conf @@ -0,0 +1,22 @@ +# /etc/ipsec.conf - strongSwan IPsec configuration file + +config setup + plutodebug=control + crlcheckinterval=180 + strictcrlpolicy=no + +conn %default + ikelifetime=60m + keylife=20m + rekeymargin=3m + keyingtries=1 + authby=xauthpsk + xauth=server + +conn rw + left=PH_IP_MOON + leftnexthop=%direct + leftsubnet=10.1.0.0/16 + leftfirewall=yes + right=%any + auto=add diff --git a/testing/tests/xauth-psk/hosts/moon/etc/ipsec.secrets b/testing/tests/xauth-psk/hosts/moon/etc/ipsec.secrets new file mode 100644 index 000000000..047d6c235 --- /dev/null +++ b/testing/tests/xauth-psk/hosts/moon/etc/ipsec.secrets @@ -0,0 +1,7 @@ +# /etc/ipsec.secrets - strongSwan IPsec secrets file + +PH_IP_MOON %any : PSK 0sv+NkxY9LLZvwj4qCC2o/gGrWDF2d21jL + +: XAUTH carol "4iChxLT3" + +: XAUTH dave "ryftzG4A" diff --git a/testing/tests/xauth-psk/posttest.dat b/testing/tests/xauth-psk/posttest.dat new file mode 100644 index 000000000..530cfc7b9 --- /dev/null +++ b/testing/tests/xauth-psk/posttest.dat @@ -0,0 +1,9 @@ +moon::iptables -v -n -L +carol::iptables -v -n -L +dave::iptables -v -n -L +moon::ipsec stop +carol::ipsec stop +dave::ipsec stop +moon::/etc/init.d/iptables stop 2> /dev/null +carol::/etc/init.d/iptables stop 2> /dev/null +dave::/etc/init.d/iptables stop 2> /dev/null diff --git a/testing/tests/xauth-psk/pretest.dat b/testing/tests/xauth-psk/pretest.dat new file mode 100644 index 000000000..95a6be131 --- /dev/null +++ b/testing/tests/xauth-psk/pretest.dat @@ -0,0 +1,12 @@ +moon::/etc/init.d/iptables start 2> /dev/null +carol::/etc/init.d/iptables start 2> /dev/null +dave::/etc/init.d/iptables start 2> /dev/null +moon::rm /etc/ipsec.d/cacerts/* +carol::rm /etc/ipsec.d/cacerts/* +dave::rm /etc/ipsec.d/cacerts/* +moon::ipsec start +carol::ipsec start +dave::ipsec start +carol::sleep 2 +carol::ipsec up home +dave::ipsec up home diff --git a/testing/tests/xauth-psk/test.conf b/testing/tests/xauth-psk/test.conf new file mode 100644 index 000000000..70416826e --- /dev/null +++ b/testing/tests/xauth-psk/test.conf @@ -0,0 +1,21 @@ +#!/bin/bash +# +# This configuration file provides information on the +# UML instances used for this test + +# All UML instances that are required for this test +# +UMLHOSTS="alice moon carol winnetou dave" + +# Corresponding block diagram +# +DIAGRAM="a-m-c-w-d.png" + +# UML instances on which tcpdump is to be started +# +TCPDUMPHOSTS="moon" + +# UML instances on which IPsec is started +# Used for IPsec logging purposes +# +IPSECHOSTS="moon carol dave" diff --git a/testing/tests/xauth-rsa-fail/description.txt b/testing/tests/xauth-rsa-fail/description.txt new file mode 100644 index 000000000..83e9d2726 --- /dev/null +++ b/testing/tests/xauth-rsa-fail/description.txt @@ -0,0 +1,5 @@ +The roadwarrior <b>carol</b> sets up a connection to gateway <b>moon</b>. +The authentication is based on RSA signatures (<b>RSASIG</b>) using X.509 +certificates followed by extended authentication (<b>XAUTH</b>) based +on user name and password. Because user <b>carol</b> presents a wrong +XAUTH password the IKE negotation is aborted and the ISAKMP SA is deleted. diff --git a/testing/tests/xauth-rsa-fail/evaltest.dat b/testing/tests/xauth-rsa-fail/evaltest.dat new file mode 100644 index 000000000..0bcef388d --- /dev/null +++ b/testing/tests/xauth-rsa-fail/evaltest.dat @@ -0,0 +1,4 @@ +carol::cat /var/log/auth.log::extended authentication failed::YES +moon::cat /var/log/auth.log::extended authentication failed::YES +carol::ipsec status::home.*STATE_QUICK_I2.*IPsec SA established::NO +moon::ipsec status::rw.*STATE_QUICK_R2.*IPsec SA established::NO diff --git a/testing/tests/xauth-rsa-fail/hosts/carol/etc/ipsec.conf b/testing/tests/xauth-rsa-fail/hosts/carol/etc/ipsec.conf new file mode 100755 index 000000000..bfee72421 --- /dev/null +++ b/testing/tests/xauth-rsa-fail/hosts/carol/etc/ipsec.conf @@ -0,0 +1,24 @@ +# /etc/ipsec.conf - strongSwan IPsec configuration file + +config setup + plutodebug=control + crlcheckinterval=180 + strictcrlpolicy=no + +conn %default + ikelifetime=60m + keylife=20m + rekeymargin=3m + keyingtries=1 + authby=xauthrsasig + +conn home + left=PH_IP_CAROL + leftnexthop=%direct + leftcert=carolCert.pem + leftid=carol@strongswan.org + leftfirewall=yes + right=PH_IP_MOON + rightsubnet=10.1.0.0/16 + rightid=@moon.strongswan.org + auto=add diff --git a/testing/tests/xauth-rsa-fail/hosts/carol/etc/ipsec.secrets b/testing/tests/xauth-rsa-fail/hosts/carol/etc/ipsec.secrets new file mode 100644 index 000000000..24506be09 --- /dev/null +++ b/testing/tests/xauth-rsa-fail/hosts/carol/etc/ipsec.secrets @@ -0,0 +1,5 @@ +# /etc/ipsec.secrets - strongSwan IPsec secrets file + +: RSA carolKey.pem "nH5ZQEWtku0RJEZ6" + +: XAUTH carol "4iChxLT8" diff --git a/testing/tests/xauth-rsa-fail/hosts/moon/etc/ipsec.conf b/testing/tests/xauth-rsa-fail/hosts/moon/etc/ipsec.conf new file mode 100755 index 000000000..f7cf06fae --- /dev/null +++ b/testing/tests/xauth-rsa-fail/hosts/moon/etc/ipsec.conf @@ -0,0 +1,24 @@ +# /etc/ipsec.conf - strongSwan IPsec configuration file + +config setup + plutodebug=control + crlcheckinterval=180 + strictcrlpolicy=no + +conn %default + ikelifetime=60m + keylife=20m + rekeymargin=3m + keyingtries=1 + authby=xauthrsasig + xauth=server + +conn rw + left=PH_IP_MOON + leftnexthop=%direct + leftcert=moonCert.pem + leftid=@moon.strongswan.org + leftsubnet=10.1.0.0/16 + leftfirewall=yes + right=%any + auto=add diff --git a/testing/tests/xauth-rsa-fail/hosts/moon/etc/ipsec.secrets b/testing/tests/xauth-rsa-fail/hosts/moon/etc/ipsec.secrets new file mode 100644 index 000000000..a18e885f8 --- /dev/null +++ b/testing/tests/xauth-rsa-fail/hosts/moon/etc/ipsec.secrets @@ -0,0 +1,5 @@ +# /etc/ipsec.secrets - strongSwan IPsec secrets file + +: RSA moonKey.pem + +: XAUTH carol "4iChxLT3" diff --git a/testing/tests/xauth-rsa-fail/posttest.dat b/testing/tests/xauth-rsa-fail/posttest.dat new file mode 100644 index 000000000..c6d6235f9 --- /dev/null +++ b/testing/tests/xauth-rsa-fail/posttest.dat @@ -0,0 +1,2 @@ +moon::ipsec stop +carol::ipsec stop diff --git a/testing/tests/xauth-rsa-fail/pretest.dat b/testing/tests/xauth-rsa-fail/pretest.dat new file mode 100644 index 000000000..1b8fc3b79 --- /dev/null +++ b/testing/tests/xauth-rsa-fail/pretest.dat @@ -0,0 +1,4 @@ +carol::ipsec start +moon::ipsec start +carol::sleep 2 +carol::ipsec up home diff --git a/testing/tests/xauth-rsa-fail/test.conf b/testing/tests/xauth-rsa-fail/test.conf new file mode 100644 index 000000000..5442565f8 --- /dev/null +++ b/testing/tests/xauth-rsa-fail/test.conf @@ -0,0 +1,21 @@ +#!/bin/bash +# +# This configuration file provides information on the +# UML instances used for this test + +# All UML instances that are required for this test +# +UMLHOSTS="alice moon carol winnetou" + +# Corresponding block diagram +# +DIAGRAM="a-m-c-w.png" + +# UML instances on which tcpdump is to be started +# +TCPDUMPHOSTS="" + +# UML instances on which IPsec is started +# Used for IPsec logging purposes +# +IPSECHOSTS="moon carol" diff --git a/testing/tests/xauth-rsa-mode-config/description.txt b/testing/tests/xauth-rsa-mode-config/description.txt new file mode 100644 index 000000000..aa2b31542 --- /dev/null +++ b/testing/tests/xauth-rsa-mode-config/description.txt @@ -0,0 +1,11 @@ +The roadwarriors <b>carol</b> and <b>dave</b> set up a connection to gateway <b>moon</b>. +The authentication is based on RSA signatures (<b>RSASIG</b>) using X.509 certificates +followed by extended authentication (<b>XAUTH</b>) of <b>carol</b> and <b>dave</b> +based on user names and passwords. Next both <b>carol</b> and <b>dave</b> request a +<b>virtual IP</b> via the IKE Mode Config protocol by using the +<b>leftsourceip=%modeconfig</b> parameter. +<p> +Upon the successful establishment of the IPsec tunnel, leftfirewall=yes automatically +inserts iptables-based firewall rules that let pass the tunneled traffic. +In order to test both tunnel and firewall, <b>carol</b> and <b>dave</b> ping the client +<b>alice</b> behind the gateway <b>moon</b>. diff --git a/testing/tests/xauth-rsa-mode-config/evaltest.dat b/testing/tests/xauth-rsa-mode-config/evaltest.dat new file mode 100644 index 000000000..15dd054a0 --- /dev/null +++ b/testing/tests/xauth-rsa-mode-config/evaltest.dat @@ -0,0 +1,18 @@ +carol::cat /var/log/auth.log::extended authentication was successful::YES +dave::cat /var/log/auth.log::extended authentication was successful::YES +moon::cat /var/log/auth.log::carol.*extended authentication was successful::YES +moon::cat /var/log/auth.log::dave.*extended authentication was successful::YES +carol::ipsec status::home.*STATE_QUICK_I2.*IPsec SA established::YES +dave::ipsec status::home.*STATE_QUICK_I2.*IPsec SA established::YES +moon::ipsec status::carol.*STATE_QUICK_R2.*IPsec SA established::YES +moon::ipsec status::dave.*STATE_QUICK_R2.*IPsec SA established::YES +carol::ping -c 1 PH_IP_ALICE::64 bytes from PH_IP_ALICE: icmp_seq=1::YES +dave::ping -c 1 PH_IP_ALICE::64 bytes from PH_IP_ALICE: icmp_seq=1::YES +moon::tcpdump::IP carol.strongswan.org > moon.strongswan.org: ESP::YES +moon::tcpdump::IP moon.strongswan.org > carol.strongswan.org: ESP::YES +moon::tcpdump::IP dave.strongswan.org > moon.strongswan.org: ESP::YES +moon::tcpdump::IP moon.strongswan.org > dave.strongswan.org: ESP::YES +alice::tcpdump::IP carol1.strongswan.org > alice.strongswan.org: ICMP echo request::YES +alice::tcpdump::IP alice.strongswan.org > carol1.strongswan.org: ICMP echo reply::YES +alice::tcpdump::IP dave1.strongswan.org > alice.strongswan.org: ICMP echo request::YES +alice::tcpdump::IP alice.strongswan.org > dave1.strongswan.org: ICMP echo reply::YES diff --git a/testing/tests/xauth-rsa-mode-config/hosts/carol/etc/ipsec.conf b/testing/tests/xauth-rsa-mode-config/hosts/carol/etc/ipsec.conf new file mode 100644 index 000000000..751c2a29d --- /dev/null +++ b/testing/tests/xauth-rsa-mode-config/hosts/carol/etc/ipsec.conf @@ -0,0 +1,25 @@ +# /etc/ipsec.conf - strongSwan IPsec configuration file + +config setup + plutodebug=control + crlcheckinterval=180 + strictcrlpolicy=no + +conn %default + ikelifetime=60m + keylife=20m + rekeymargin=3m + keyingtries=1 + authby=xauthrsasig + +conn home + left=PH_IP_CAROL + leftsourceip=%modeconfig + leftnexthop=%direct + leftcert=carolCert.pem + leftid=carol@strongswan.org + leftfirewall=yes + right=PH_IP_MOON + rightsubnet=10.1.0.0/16 + rightid=@moon.strongswan.org + auto=add diff --git a/testing/tests/xauth-rsa-mode-config/hosts/carol/etc/ipsec.secrets b/testing/tests/xauth-rsa-mode-config/hosts/carol/etc/ipsec.secrets new file mode 100644 index 000000000..48fd260c1 --- /dev/null +++ b/testing/tests/xauth-rsa-mode-config/hosts/carol/etc/ipsec.secrets @@ -0,0 +1,5 @@ +# /etc/ipsec.secrets - strongSwan IPsec secrets file + +: RSA carolKey.pem "nH5ZQEWtku0RJEZ6" + +: XAUTH carol "4iChxLT3" diff --git a/testing/tests/xauth-rsa-mode-config/hosts/dave/etc/ipsec.conf b/testing/tests/xauth-rsa-mode-config/hosts/dave/etc/ipsec.conf new file mode 100644 index 000000000..c97e815df --- /dev/null +++ b/testing/tests/xauth-rsa-mode-config/hosts/dave/etc/ipsec.conf @@ -0,0 +1,25 @@ +# /etc/ipsec.conf - strongSwan IPsec configuration file + +config setup + plutodebug=control + crlcheckinterval=180 + strictcrlpolicy=no + +conn %default + ikelifetime=60m + keylife=20m + rekeymargin=3m + keyingtries=1 + authby=xauthrsasig + +conn home + left=PH_IP_DAVE + leftsourceip=%modeconfig + leftnexthop=%direct + leftcert=daveCert.pem + leftid=dave@strongswan.org + leftfirewall=yes + right=PH_IP_MOON + rightsubnet=10.1.0.0/16 + rightid=@moon.strongswan.org + auto=add diff --git a/testing/tests/xauth-rsa-mode-config/hosts/dave/etc/ipsec.secrets b/testing/tests/xauth-rsa-mode-config/hosts/dave/etc/ipsec.secrets new file mode 100644 index 000000000..14f088501 --- /dev/null +++ b/testing/tests/xauth-rsa-mode-config/hosts/dave/etc/ipsec.secrets @@ -0,0 +1,5 @@ +# /etc/ipsec.secrets - strongSwan IPsec secrets file + +: RSA daveKey.pem + +: XAUTH dave "ryftzG4A" diff --git a/testing/tests/xauth-rsa-mode-config/hosts/moon/etc/ipsec.conf b/testing/tests/xauth-rsa-mode-config/hosts/moon/etc/ipsec.conf new file mode 100644 index 000000000..e3b2219c4 --- /dev/null +++ b/testing/tests/xauth-rsa-mode-config/hosts/moon/etc/ipsec.conf @@ -0,0 +1,30 @@ +# /etc/ipsec.conf - strongSwan IPsec configuration file + +config setup + plutodebug="control" + crlcheckinterval=180 + strictcrlpolicy=no + +conn %default + ikelifetime=60m + keylife=20m + rekeymargin=3m + keyingtries=1 + authby=xauthrsasig + xauth=server + left=PH_IP_MOON + leftnexthop=%direct + leftcert=moonCert.pem + leftid=@moon.strongswan.org + leftsubnet=10.1.0.0/16 + leftfirewall=yes + right=%any + auto=add + +conn rw-carol + rightid=carol@strongswan.org + rightsourceip=PH_IP1_CAROL + +conn rw-dave + rightid=dave@strongswan.org + rightsourceip=PH_IP1_DAVE diff --git a/testing/tests/xauth-rsa-mode-config/hosts/moon/etc/ipsec.secrets b/testing/tests/xauth-rsa-mode-config/hosts/moon/etc/ipsec.secrets new file mode 100644 index 000000000..8d41919fc --- /dev/null +++ b/testing/tests/xauth-rsa-mode-config/hosts/moon/etc/ipsec.secrets @@ -0,0 +1,7 @@ +# /etc/ipsec.secrets - strongSwan IPsec secrets file + +: RSA moonKey.pem + +: XAUTH carol "4iChxLT3" + +: XAUTH dave "ryftzG4A" diff --git a/testing/tests/xauth-rsa-mode-config/posttest.dat b/testing/tests/xauth-rsa-mode-config/posttest.dat new file mode 100644 index 000000000..530cfc7b9 --- /dev/null +++ b/testing/tests/xauth-rsa-mode-config/posttest.dat @@ -0,0 +1,9 @@ +moon::iptables -v -n -L +carol::iptables -v -n -L +dave::iptables -v -n -L +moon::ipsec stop +carol::ipsec stop +dave::ipsec stop +moon::/etc/init.d/iptables stop 2> /dev/null +carol::/etc/init.d/iptables stop 2> /dev/null +dave::/etc/init.d/iptables stop 2> /dev/null diff --git a/testing/tests/xauth-rsa-mode-config/pretest.dat b/testing/tests/xauth-rsa-mode-config/pretest.dat new file mode 100644 index 000000000..78e2d57f8 --- /dev/null +++ b/testing/tests/xauth-rsa-mode-config/pretest.dat @@ -0,0 +1,9 @@ +moon::/etc/init.d/iptables start 2> /dev/null +carol::/etc/init.d/iptables start 2> /dev/null +dave::/etc/init.d/iptables start 2> /dev/null +moon::ipsec start +carol::ipsec start +dave::ipsec start +carol::sleep 2 +carol::ipsec up home +dave::ipsec up home diff --git a/testing/tests/xauth-rsa-mode-config/test.conf b/testing/tests/xauth-rsa-mode-config/test.conf new file mode 100644 index 000000000..75510b295 --- /dev/null +++ b/testing/tests/xauth-rsa-mode-config/test.conf @@ -0,0 +1,21 @@ +#!/bin/bash +# +# This configuration file provides information on the +# UML instances used for this test + +# All UML instances that are required for this test +# +UMLHOSTS="alice moon carol winnetou dave" + +# Corresponding block diagram +# +DIAGRAM="a-m-c-w-d.png" + +# UML instances on which tcpdump is to be started +# +TCPDUMPHOSTS="alice moon" + +# UML instances on which IPsec is started +# Used for IPsec logging purposes +# +IPSECHOSTS="moon carol dave" diff --git a/testing/tests/xauth-rsa-nosecret/description.txt b/testing/tests/xauth-rsa-nosecret/description.txt new file mode 100644 index 000000000..ffbb47c04 --- /dev/null +++ b/testing/tests/xauth-rsa-nosecret/description.txt @@ -0,0 +1,6 @@ +The roadwarrior <b>carol</b> sets up a connection to gateway <b>moon</b>. +The authentication is based on RSA signatures (<b>RSASIG</b>) using X.509 +certificates followed by extended authentication (<b>XAUTH</b>) based +on user name and password. Because user <b>carol</b> cannot find her +XAUTH credentials in ipsec.secrets, the IKE negotation is aborted and the +ISAKMP SA is deleted. diff --git a/testing/tests/xauth-rsa-nosecret/evaltest.dat b/testing/tests/xauth-rsa-nosecret/evaltest.dat new file mode 100644 index 000000000..ddbb3ae2d --- /dev/null +++ b/testing/tests/xauth-rsa-nosecret/evaltest.dat @@ -0,0 +1,4 @@ +carol::cat /var/log/auth.log::xauth user credentials not found::YES +moon::cat /var/log/auth.log::received FAIL status in XAUTH reply::YES +carol::ipsec status::home.*STATE_QUICK_I2.*IPsec SA established::NO +moon::ipsec status::rw.*STATE_QUICK_R2.*IPsec SA established::NO diff --git a/testing/tests/xauth-rsa-nosecret/hosts/carol/etc/ipsec.conf b/testing/tests/xauth-rsa-nosecret/hosts/carol/etc/ipsec.conf new file mode 100755 index 000000000..bfee72421 --- /dev/null +++ b/testing/tests/xauth-rsa-nosecret/hosts/carol/etc/ipsec.conf @@ -0,0 +1,24 @@ +# /etc/ipsec.conf - strongSwan IPsec configuration file + +config setup + plutodebug=control + crlcheckinterval=180 + strictcrlpolicy=no + +conn %default + ikelifetime=60m + keylife=20m + rekeymargin=3m + keyingtries=1 + authby=xauthrsasig + +conn home + left=PH_IP_CAROL + leftnexthop=%direct + leftcert=carolCert.pem + leftid=carol@strongswan.org + leftfirewall=yes + right=PH_IP_MOON + rightsubnet=10.1.0.0/16 + rightid=@moon.strongswan.org + auto=add diff --git a/testing/tests/xauth-rsa-nosecret/hosts/carol/etc/ipsec.secrets b/testing/tests/xauth-rsa-nosecret/hosts/carol/etc/ipsec.secrets new file mode 100644 index 000000000..6a2aea811 --- /dev/null +++ b/testing/tests/xauth-rsa-nosecret/hosts/carol/etc/ipsec.secrets @@ -0,0 +1,3 @@ +# /etc/ipsec.secrets - strongSwan IPsec secrets file + +: RSA carolKey.pem "nH5ZQEWtku0RJEZ6" diff --git a/testing/tests/xauth-rsa-nosecret/hosts/moon/etc/ipsec.conf b/testing/tests/xauth-rsa-nosecret/hosts/moon/etc/ipsec.conf new file mode 100755 index 000000000..f7cf06fae --- /dev/null +++ b/testing/tests/xauth-rsa-nosecret/hosts/moon/etc/ipsec.conf @@ -0,0 +1,24 @@ +# /etc/ipsec.conf - strongSwan IPsec configuration file + +config setup + plutodebug=control + crlcheckinterval=180 + strictcrlpolicy=no + +conn %default + ikelifetime=60m + keylife=20m + rekeymargin=3m + keyingtries=1 + authby=xauthrsasig + xauth=server + +conn rw + left=PH_IP_MOON + leftnexthop=%direct + leftcert=moonCert.pem + leftid=@moon.strongswan.org + leftsubnet=10.1.0.0/16 + leftfirewall=yes + right=%any + auto=add diff --git a/testing/tests/xauth-rsa-nosecret/hosts/moon/etc/ipsec.secrets b/testing/tests/xauth-rsa-nosecret/hosts/moon/etc/ipsec.secrets new file mode 100644 index 000000000..a18e885f8 --- /dev/null +++ b/testing/tests/xauth-rsa-nosecret/hosts/moon/etc/ipsec.secrets @@ -0,0 +1,5 @@ +# /etc/ipsec.secrets - strongSwan IPsec secrets file + +: RSA moonKey.pem + +: XAUTH carol "4iChxLT3" diff --git a/testing/tests/xauth-rsa-nosecret/posttest.dat b/testing/tests/xauth-rsa-nosecret/posttest.dat new file mode 100644 index 000000000..c6d6235f9 --- /dev/null +++ b/testing/tests/xauth-rsa-nosecret/posttest.dat @@ -0,0 +1,2 @@ +moon::ipsec stop +carol::ipsec stop diff --git a/testing/tests/xauth-rsa-nosecret/pretest.dat b/testing/tests/xauth-rsa-nosecret/pretest.dat new file mode 100644 index 000000000..f5aa989fe --- /dev/null +++ b/testing/tests/xauth-rsa-nosecret/pretest.dat @@ -0,0 +1,4 @@ +carol::ipsec start +moon::ipsec start +carol::sleep 2 +carol::ipsec up home diff --git a/testing/tests/xauth-rsa-nosecret/test.conf b/testing/tests/xauth-rsa-nosecret/test.conf new file mode 100644 index 000000000..5442565f8 --- /dev/null +++ b/testing/tests/xauth-rsa-nosecret/test.conf @@ -0,0 +1,21 @@ +#!/bin/bash +# +# This configuration file provides information on the +# UML instances used for this test + +# All UML instances that are required for this test +# +UMLHOSTS="alice moon carol winnetou" + +# Corresponding block diagram +# +DIAGRAM="a-m-c-w.png" + +# UML instances on which tcpdump is to be started +# +TCPDUMPHOSTS="" + +# UML instances on which IPsec is started +# Used for IPsec logging purposes +# +IPSECHOSTS="moon carol" diff --git a/testing/tests/xauth-rsa/description.txt b/testing/tests/xauth-rsa/description.txt new file mode 100644 index 000000000..0cdaba1c5 --- /dev/null +++ b/testing/tests/xauth-rsa/description.txt @@ -0,0 +1,9 @@ +The roadwarriors <b>carol</b> and <b>dave</b> set up a connection to gateway <b>moon</b>. +The authentication is based on RSA signatures (<b>RSASIG</b>) using X.509 certificates +followed by extended authentication (<b>XAUTH</b>) of <b>carol</b> and <b>dave</b> +based on user names and passwords. +<p> +Upon the successful establishment of the IPsec tunnel, leftfirewall=yes automatically +inserts iptables-based firewall rules that let pass the tunneled traffic. +In order to test both tunnel and firewall, <b>carol</b> and <b>dave</b> ping the client +<b>alice</b> behind the gateway <b>moon</b>. diff --git a/testing/tests/xauth-rsa/evaltest.dat b/testing/tests/xauth-rsa/evaltest.dat new file mode 100644 index 000000000..e1dc6b5b0 --- /dev/null +++ b/testing/tests/xauth-rsa/evaltest.dat @@ -0,0 +1,12 @@ +carol::cat /var/log/auth.log::extended authentication was successful::YES +dave::cat /var/log/auth.log::extended authentication was successful::YES +moon::cat /var/log/auth.log::extended authentication was successful::YES +carol::ipsec status::home.*STATE_QUICK_I2.*IPsec SA established::YES +dave::ipsec status::home.*STATE_QUICK_I2.*IPsec SA established::YES +moon::ipsec status::rw.*STATE_QUICK_R2.*IPsec SA established::YES +carol::ping -c 1 PH_IP_ALICE::64 bytes from PH_IP_ALICE: icmp_seq=1::YES +dave::ping -c 1 PH_IP_ALICE::64 bytes from PH_IP_ALICE: icmp_seq=1::YES +moon::tcpdump::IP carol.strongswan.org > moon.strongswan.org: ESP::YES +moon::tcpdump::IP moon.strongswan.org > carol.strongswan.org: ESP::YES +moon::tcpdump::IP dave.strongswan.org > moon.strongswan.org: ESP::YES +moon::tcpdump::IP moon.strongswan.org > dave.strongswan.org: ESP::YES diff --git a/testing/tests/xauth-rsa/hosts/carol/etc/ipsec.conf b/testing/tests/xauth-rsa/hosts/carol/etc/ipsec.conf new file mode 100644 index 000000000..bfee72421 --- /dev/null +++ b/testing/tests/xauth-rsa/hosts/carol/etc/ipsec.conf @@ -0,0 +1,24 @@ +# /etc/ipsec.conf - strongSwan IPsec configuration file + +config setup + plutodebug=control + crlcheckinterval=180 + strictcrlpolicy=no + +conn %default + ikelifetime=60m + keylife=20m + rekeymargin=3m + keyingtries=1 + authby=xauthrsasig + +conn home + left=PH_IP_CAROL + leftnexthop=%direct + leftcert=carolCert.pem + leftid=carol@strongswan.org + leftfirewall=yes + right=PH_IP_MOON + rightsubnet=10.1.0.0/16 + rightid=@moon.strongswan.org + auto=add diff --git a/testing/tests/xauth-rsa/hosts/carol/etc/ipsec.secrets b/testing/tests/xauth-rsa/hosts/carol/etc/ipsec.secrets new file mode 100644 index 000000000..48fd260c1 --- /dev/null +++ b/testing/tests/xauth-rsa/hosts/carol/etc/ipsec.secrets @@ -0,0 +1,5 @@ +# /etc/ipsec.secrets - strongSwan IPsec secrets file + +: RSA carolKey.pem "nH5ZQEWtku0RJEZ6" + +: XAUTH carol "4iChxLT3" diff --git a/testing/tests/xauth-rsa/hosts/dave/etc/ipsec.conf b/testing/tests/xauth-rsa/hosts/dave/etc/ipsec.conf new file mode 100644 index 000000000..0f34a209a --- /dev/null +++ b/testing/tests/xauth-rsa/hosts/dave/etc/ipsec.conf @@ -0,0 +1,24 @@ +# /etc/ipsec.conf - strongSwan IPsec configuration file + +config setup + plutodebug=control + crlcheckinterval=180 + strictcrlpolicy=no + +conn %default + ikelifetime=60m + keylife=20m + rekeymargin=3m + keyingtries=1 + authby=xauthrsasig + +conn home + left=PH_IP_DAVE + leftnexthop=%direct + leftcert=daveCert.pem + leftid=dave@strongswan.org + leftfirewall=yes + right=PH_IP_MOON + rightsubnet=10.1.0.0/16 + rightid=@moon.strongswan.org + auto=add diff --git a/testing/tests/xauth-rsa/hosts/dave/etc/ipsec.secrets b/testing/tests/xauth-rsa/hosts/dave/etc/ipsec.secrets new file mode 100644 index 000000000..14f088501 --- /dev/null +++ b/testing/tests/xauth-rsa/hosts/dave/etc/ipsec.secrets @@ -0,0 +1,5 @@ +# /etc/ipsec.secrets - strongSwan IPsec secrets file + +: RSA daveKey.pem + +: XAUTH dave "ryftzG4A" diff --git a/testing/tests/xauth-rsa/hosts/moon/etc/ipsec.conf b/testing/tests/xauth-rsa/hosts/moon/etc/ipsec.conf new file mode 100644 index 000000000..f7cf06fae --- /dev/null +++ b/testing/tests/xauth-rsa/hosts/moon/etc/ipsec.conf @@ -0,0 +1,24 @@ +# /etc/ipsec.conf - strongSwan IPsec configuration file + +config setup + plutodebug=control + crlcheckinterval=180 + strictcrlpolicy=no + +conn %default + ikelifetime=60m + keylife=20m + rekeymargin=3m + keyingtries=1 + authby=xauthrsasig + xauth=server + +conn rw + left=PH_IP_MOON + leftnexthop=%direct + leftcert=moonCert.pem + leftid=@moon.strongswan.org + leftsubnet=10.1.0.0/16 + leftfirewall=yes + right=%any + auto=add diff --git a/testing/tests/xauth-rsa/hosts/moon/etc/ipsec.secrets b/testing/tests/xauth-rsa/hosts/moon/etc/ipsec.secrets new file mode 100644 index 000000000..8d41919fc --- /dev/null +++ b/testing/tests/xauth-rsa/hosts/moon/etc/ipsec.secrets @@ -0,0 +1,7 @@ +# /etc/ipsec.secrets - strongSwan IPsec secrets file + +: RSA moonKey.pem + +: XAUTH carol "4iChxLT3" + +: XAUTH dave "ryftzG4A" diff --git a/testing/tests/xauth-rsa/posttest.dat b/testing/tests/xauth-rsa/posttest.dat new file mode 100644 index 000000000..530cfc7b9 --- /dev/null +++ b/testing/tests/xauth-rsa/posttest.dat @@ -0,0 +1,9 @@ +moon::iptables -v -n -L +carol::iptables -v -n -L +dave::iptables -v -n -L +moon::ipsec stop +carol::ipsec stop +dave::ipsec stop +moon::/etc/init.d/iptables stop 2> /dev/null +carol::/etc/init.d/iptables stop 2> /dev/null +dave::/etc/init.d/iptables stop 2> /dev/null diff --git a/testing/tests/xauth-rsa/pretest.dat b/testing/tests/xauth-rsa/pretest.dat new file mode 100644 index 000000000..78e2d57f8 --- /dev/null +++ b/testing/tests/xauth-rsa/pretest.dat @@ -0,0 +1,9 @@ +moon::/etc/init.d/iptables start 2> /dev/null +carol::/etc/init.d/iptables start 2> /dev/null +dave::/etc/init.d/iptables start 2> /dev/null +moon::ipsec start +carol::ipsec start +dave::ipsec start +carol::sleep 2 +carol::ipsec up home +dave::ipsec up home diff --git a/testing/tests/xauth-rsa/test.conf b/testing/tests/xauth-rsa/test.conf new file mode 100644 index 000000000..70416826e --- /dev/null +++ b/testing/tests/xauth-rsa/test.conf @@ -0,0 +1,21 @@ +#!/bin/bash +# +# This configuration file provides information on the +# UML instances used for this test + +# All UML instances that are required for this test +# +UMLHOSTS="alice moon carol winnetou dave" + +# Corresponding block diagram +# +DIAGRAM="a-m-c-w-d.png" + +# UML instances on which tcpdump is to be started +# +TCPDUMPHOSTS="moon" + +# UML instances on which IPsec is started +# Used for IPsec logging purposes +# +IPSECHOSTS="moon carol dave" |