From 5aab3759585fdcd908f4273ccf99e08746d3918c Mon Sep 17 00:00:00 2001 From: Andreas Steffen Date: Sun, 24 May 2009 18:12:31 +0200 Subject: [PATCH] added openssl/ikev1-alg-ecp-low and openssl/ikev1-alg-ecp-high scenarios --- .../ikev1-alg-ecp-high/description.txt | 17 +++++++++++++ .../openssl/ikev1-alg-ecp-high/evaltest.dat | 13 ++++++++++ .../hosts/carol/etc/ipsec.conf | 25 +++++++++++++++++++ .../hosts/carol/etc/strongswan.conf | 5 ++++ .../hosts/dave/etc/ipsec.conf | 25 +++++++++++++++++++ .../hosts/dave/etc/strongswan.conf | 5 ++++ .../hosts/moon/etc/ipsec.conf | 24 ++++++++++++++++++ .../hosts/moon/etc/strongswan.conf | 5 ++++ .../openssl/ikev1-alg-ecp-high/posttest.dat | 6 +++++ .../openssl/ikev1-alg-ecp-high/pretest.dat | 9 +++++++ .../openssl/ikev1-alg-ecp-high/test.conf | 21 ++++++++++++++++ .../openssl/ikev1-alg-ecp-low/description.txt | 17 +++++++++++++ .../openssl/ikev1-alg-ecp-low/evaltest.dat | 13 ++++++++++ .../hosts/carol/etc/ipsec.conf | 25 +++++++++++++++++++ .../hosts/carol/etc/strongswan.conf | 5 ++++ .../hosts/dave/etc/ipsec.conf | 25 +++++++++++++++++++ .../hosts/dave/etc/strongswan.conf | 5 ++++ .../hosts/moon/etc/ipsec.conf | 24 ++++++++++++++++++ .../hosts/moon/etc/strongswan.conf | 5 ++++ .../openssl/ikev1-alg-ecp-low/posttest.dat | 6 +++++ .../openssl/ikev1-alg-ecp-low/pretest.dat | 9 +++++++ .../tests/openssl/ikev1-alg-ecp-low/test.conf | 21 ++++++++++++++++ 22 files changed, 310 insertions(+) create mode 100644 testing/tests/openssl/ikev1-alg-ecp-high/description.txt create mode 100644 testing/tests/openssl/ikev1-alg-ecp-high/evaltest.dat create mode 100755 testing/tests/openssl/ikev1-alg-ecp-high/hosts/carol/etc/ipsec.conf create mode 100644 testing/tests/openssl/ikev1-alg-ecp-high/hosts/carol/etc/strongswan.conf create mode 100755 testing/tests/openssl/ikev1-alg-ecp-high/hosts/dave/etc/ipsec.conf create mode 100644 testing/tests/openssl/ikev1-alg-ecp-high/hosts/dave/etc/strongswan.conf create mode 100755 testing/tests/openssl/ikev1-alg-ecp-high/hosts/moon/etc/ipsec.conf create mode 100644 testing/tests/openssl/ikev1-alg-ecp-high/hosts/moon/etc/strongswan.conf create mode 100644 testing/tests/openssl/ikev1-alg-ecp-high/posttest.dat create mode 100644 testing/tests/openssl/ikev1-alg-ecp-high/pretest.dat create mode 100644 testing/tests/openssl/ikev1-alg-ecp-high/test.conf create mode 100644 testing/tests/openssl/ikev1-alg-ecp-low/description.txt create mode 100644 testing/tests/openssl/ikev1-alg-ecp-low/evaltest.dat create mode 100755 testing/tests/openssl/ikev1-alg-ecp-low/hosts/carol/etc/ipsec.conf create mode 100644 testing/tests/openssl/ikev1-alg-ecp-low/hosts/carol/etc/strongswan.conf create mode 100755 testing/tests/openssl/ikev1-alg-ecp-low/hosts/dave/etc/ipsec.conf create mode 100644 testing/tests/openssl/ikev1-alg-ecp-low/hosts/dave/etc/strongswan.conf create mode 100755 testing/tests/openssl/ikev1-alg-ecp-low/hosts/moon/etc/ipsec.conf create mode 100644 testing/tests/openssl/ikev1-alg-ecp-low/hosts/moon/etc/strongswan.conf create mode 100644 testing/tests/openssl/ikev1-alg-ecp-low/posttest.dat create mode 100644 testing/tests/openssl/ikev1-alg-ecp-low/pretest.dat create mode 100644 testing/tests/openssl/ikev1-alg-ecp-low/test.conf diff --git a/testing/tests/openssl/ikev1-alg-ecp-high/description.txt b/testing/tests/openssl/ikev1-alg-ecp-high/description.txt new file mode 100644 index 000000000..b8efbe87e --- /dev/null +++ b/testing/tests/openssl/ikev1-alg-ecp-high/description.txt @@ -0,0 +1,17 @@ +The roadwarrior carol and the gateway moon use the openssl +plugin based on the OpenSSL library for all cryptographical functions +whereas roadwarrior dave uses the default strongSwan cryptographical +plugins aes des sha1 sha2 md5 gmp plus the openssl plugin for +the Elliptic Curve Diffie-Hellman groups only. +

+The roadwarriors carol and dave set up a connection each +to gateway moon. The authentication is based on X.509 certificates. +carol proposes the DH groups ECP_256 and ECP_384 whereas dave proposes +ECP_256 and ECP_521. Since moon does not support ECP_256 the roadwarriors +fall back to ECP_384 and ECP_521, respectively. +

+Upon the successful establishment of the IPsec tunnels, leftfirewall=yes +automatically inserts iptables-based firewall rules that let pass the tunneled traffic. +In order to test both tunnel and firewall, both carol and dave ping +the client alice behind the gateway moon. + diff --git a/testing/tests/openssl/ikev1-alg-ecp-high/evaltest.dat b/testing/tests/openssl/ikev1-alg-ecp-high/evaltest.dat new file mode 100644 index 000000000..6a6802780 --- /dev/null +++ b/testing/tests/openssl/ikev1-alg-ecp-high/evaltest.dat @@ -0,0 +1,13 @@ +moon::cat /var/log/auth.log::ECP_256.*refused due to strict flag::YES +moon::ipsec statusall::IPsec SA established::YES +carol::ipsec statusall::IPsec SA established::YES +carol::ipsec statusall::IKE proposal: AES_CBC_192/HMAC_SHA2_384/ECP_384::YES +dave::ipsec statusall::IPsec SA established::YES +dave::ipsec statusall::IKE proposal: AES_CBC_256/HMAC_SHA2_512/ECP_521::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/openssl/ikev1-alg-ecp-high/hosts/carol/etc/ipsec.conf b/testing/tests/openssl/ikev1-alg-ecp-high/hosts/carol/etc/ipsec.conf new file mode 100755 index 000000000..432fa52ea --- /dev/null +++ b/testing/tests/openssl/ikev1-alg-ecp-high/hosts/carol/etc/ipsec.conf @@ -0,0 +1,25 @@ +# /etc/ipsec.conf - strongSwan IPsec configuration file + +config setup + crlcheckinterval=180 + strictcrlpolicy=no + charonstart=no + plutodebug=control + +conn %default + ikelifetime=60m + keylife=20m + rekeymargin=3m + keyingtries=1 + keyexchange=ikev1 + ike=aes192-sha384-ecp256,aes192-sha384-ecp384! + +conn home + left=PH_IP_CAROL + leftcert=carolCert.pem + leftid=carol@strongswan.org + leftfirewall=yes + right=PH_IP_MOON + rightid=@moon.strongswan.org + rightsubnet=10.1.0.0/16 + auto=add diff --git a/testing/tests/openssl/ikev1-alg-ecp-high/hosts/carol/etc/strongswan.conf b/testing/tests/openssl/ikev1-alg-ecp-high/hosts/carol/etc/strongswan.conf new file mode 100644 index 000000000..c33f54ea5 --- /dev/null +++ b/testing/tests/openssl/ikev1-alg-ecp-high/hosts/carol/etc/strongswan.conf @@ -0,0 +1,5 @@ +# /etc/strongswan.conf - strongSwan configuration file + +pluto { + load = openssl random hmac curl +} diff --git a/testing/tests/openssl/ikev1-alg-ecp-high/hosts/dave/etc/ipsec.conf b/testing/tests/openssl/ikev1-alg-ecp-high/hosts/dave/etc/ipsec.conf new file mode 100755 index 000000000..28304eb41 --- /dev/null +++ b/testing/tests/openssl/ikev1-alg-ecp-high/hosts/dave/etc/ipsec.conf @@ -0,0 +1,25 @@ +# /etc/ipsec.conf - strongSwan IPsec configuration file + +config setup + crlcheckinterval=180 + strictcrlpolicy=no + charonstart=no + plutodebug=control + +conn %default + ikelifetime=60m + keylife=20m + rekeymargin=3m + keyingtries=1 + keyexchange=ikev1 + ike=aes256-sha512-ecp256,aes256-sha512-ecp521! + +conn home + left=PH_IP_DAVE + leftcert=daveCert.pem + leftid=dave@strongswan.org + leftfirewall=yes + right=PH_IP_MOON + rightid=@moon.strongswan.org + rightsubnet=10.1.0.0/16 + auto=add diff --git a/testing/tests/openssl/ikev1-alg-ecp-high/hosts/dave/etc/strongswan.conf b/testing/tests/openssl/ikev1-alg-ecp-high/hosts/dave/etc/strongswan.conf new file mode 100644 index 000000000..53af5cf26 --- /dev/null +++ b/testing/tests/openssl/ikev1-alg-ecp-high/hosts/dave/etc/strongswan.conf @@ -0,0 +1,5 @@ +# /etc/strongswan.conf - strongSwan configuration file + +pluto { + load = aes des sha1 sha2 md5 gmp openssl random hmac curl +} diff --git a/testing/tests/openssl/ikev1-alg-ecp-high/hosts/moon/etc/ipsec.conf b/testing/tests/openssl/ikev1-alg-ecp-high/hosts/moon/etc/ipsec.conf new file mode 100755 index 000000000..d6737f6e0 --- /dev/null +++ b/testing/tests/openssl/ikev1-alg-ecp-high/hosts/moon/etc/ipsec.conf @@ -0,0 +1,24 @@ +# /etc/ipsec.conf - strongSwan IPsec configuration file + +config setup + crlcheckinterval=180 + strictcrlpolicy=no + charonstart=no + plutodebug=control + +conn %default + ikelifetime=60m + keylife=20m + rekeymargin=3m + keyingtries=1 + keyexchange=ikev1 + ike=aes192-sha384-ecp384,aes256-sha512-ecp521! + +conn rw + left=PH_IP_MOON + leftcert=moonCert.pem + leftid=@moon.strongswan.org + leftsubnet=10.1.0.0/16 + leftfirewall=yes + right=%any + auto=add diff --git a/testing/tests/openssl/ikev1-alg-ecp-high/hosts/moon/etc/strongswan.conf b/testing/tests/openssl/ikev1-alg-ecp-high/hosts/moon/etc/strongswan.conf new file mode 100644 index 000000000..c33f54ea5 --- /dev/null +++ b/testing/tests/openssl/ikev1-alg-ecp-high/hosts/moon/etc/strongswan.conf @@ -0,0 +1,5 @@ +# /etc/strongswan.conf - strongSwan configuration file + +pluto { + load = openssl random hmac curl +} diff --git a/testing/tests/openssl/ikev1-alg-ecp-high/posttest.dat b/testing/tests/openssl/ikev1-alg-ecp-high/posttest.dat new file mode 100644 index 000000000..7cebd7f25 --- /dev/null +++ b/testing/tests/openssl/ikev1-alg-ecp-high/posttest.dat @@ -0,0 +1,6 @@ +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/openssl/ikev1-alg-ecp-high/pretest.dat b/testing/tests/openssl/ikev1-alg-ecp-high/pretest.dat new file mode 100644 index 000000000..42e9d7c24 --- /dev/null +++ b/testing/tests/openssl/ikev1-alg-ecp-high/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 1 +carol::ipsec up home +dave::ipsec up home diff --git a/testing/tests/openssl/ikev1-alg-ecp-high/test.conf b/testing/tests/openssl/ikev1-alg-ecp-high/test.conf new file mode 100644 index 000000000..70416826e --- /dev/null +++ b/testing/tests/openssl/ikev1-alg-ecp-high/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/openssl/ikev1-alg-ecp-low/description.txt b/testing/tests/openssl/ikev1-alg-ecp-low/description.txt new file mode 100644 index 000000000..4f043e7d9 --- /dev/null +++ b/testing/tests/openssl/ikev1-alg-ecp-low/description.txt @@ -0,0 +1,17 @@ +The roadwarrior carol and the gateway moon use the openssl +plugin based on the OpenSSL library for all cryptographical functions +whereas roadwarrior dave uses the default strongSwan cryptographical +plugins aes des sha1 sha2 md5 gmp plus the openssl plugin for +the Elliptic Curve Diffie-Hellman groups only. +

+The roadwarriors carol and dave set up a connection each +to gateway moon. The authentication is based on X.509 certificates. +carol proposes the DH groups ECP_192 and ECP_224 whereas dave proposes +ECP_192 and ECP_256. Since moon does not support ECP_192 the roadwarriors +fall back to ECP_224 and ECP_256, respectively. +

+Upon the successful establishment of the IPsec tunnels, leftfirewall=yes +automatically inserts iptables-based firewall rules that let pass the tunneled traffic. +In order to test both tunnel and firewall, both carol and dave ping +the client alice behind the gateway moon. + diff --git a/testing/tests/openssl/ikev1-alg-ecp-low/evaltest.dat b/testing/tests/openssl/ikev1-alg-ecp-low/evaltest.dat new file mode 100644 index 000000000..3c5ae4138 --- /dev/null +++ b/testing/tests/openssl/ikev1-alg-ecp-low/evaltest.dat @@ -0,0 +1,13 @@ +moon::cat /var/log/auth.log::ECP_192.*refused due to strict flag::YES +moon::ipsec statusall::IPsec SA established::YES +carol::ipsec statusall::IPsec SA established::YES +carol::ipsec statusall::IKE proposal: AES_CBC_128/HMAC_SHA2_256/ECP_224::YES +dave::ipsec statusall::IPsec SA established::YES +dave::ipsec statusall::IKE proposal: AES_CBC_128/HMAC_SHA2_256/ECP_256::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/openssl/ikev1-alg-ecp-low/hosts/carol/etc/ipsec.conf b/testing/tests/openssl/ikev1-alg-ecp-low/hosts/carol/etc/ipsec.conf new file mode 100755 index 000000000..5a4d82699 --- /dev/null +++ b/testing/tests/openssl/ikev1-alg-ecp-low/hosts/carol/etc/ipsec.conf @@ -0,0 +1,25 @@ +# /etc/ipsec.conf - strongSwan IPsec configuration file + +config setup + crlcheckinterval=180 + strictcrlpolicy=no + charonstart=no + plutodebug=control + +conn %default + ikelifetime=60m + keylife=20m + rekeymargin=3m + keyingtries=1 + keyexchange=ikev1 + ike=aes128-sha256-ecp192,aes128-sha256-ecp224! + +conn home + left=PH_IP_CAROL + leftcert=carolCert.pem + leftid=carol@strongswan.org + leftfirewall=yes + right=PH_IP_MOON + rightid=@moon.strongswan.org + rightsubnet=10.1.0.0/16 + auto=add diff --git a/testing/tests/openssl/ikev1-alg-ecp-low/hosts/carol/etc/strongswan.conf b/testing/tests/openssl/ikev1-alg-ecp-low/hosts/carol/etc/strongswan.conf new file mode 100644 index 000000000..90668fdf8 --- /dev/null +++ b/testing/tests/openssl/ikev1-alg-ecp-low/hosts/carol/etc/strongswan.conf @@ -0,0 +1,5 @@ +# /etc/strongswan.conf - strongSwan configuration file + +pluto { + load = openssl random hmac curl +} diff --git a/testing/tests/openssl/ikev1-alg-ecp-low/hosts/dave/etc/ipsec.conf b/testing/tests/openssl/ikev1-alg-ecp-low/hosts/dave/etc/ipsec.conf new file mode 100755 index 000000000..ac828c182 --- /dev/null +++ b/testing/tests/openssl/ikev1-alg-ecp-low/hosts/dave/etc/ipsec.conf @@ -0,0 +1,25 @@ +# /etc/ipsec.conf - strongSwan IPsec configuration file + +config setup + crlcheckinterval=180 + strictcrlpolicy=no + charonstart=no + plutodebug=control + +conn %default + ikelifetime=60m + keylife=20m + rekeymargin=3m + keyingtries=1 + keyexchange=ikev1 + ike=aes128-sha256-ecp192,aes128-sha256-ecp256! + +conn home + left=PH_IP_DAVE + leftcert=daveCert.pem + leftid=dave@strongswan.org + leftfirewall=yes + right=PH_IP_MOON + rightid=@moon.strongswan.org + rightsubnet=10.1.0.0/16 + auto=add diff --git a/testing/tests/openssl/ikev1-alg-ecp-low/hosts/dave/etc/strongswan.conf b/testing/tests/openssl/ikev1-alg-ecp-low/hosts/dave/etc/strongswan.conf new file mode 100644 index 000000000..bd7dc854f --- /dev/null +++ b/testing/tests/openssl/ikev1-alg-ecp-low/hosts/dave/etc/strongswan.conf @@ -0,0 +1,5 @@ +# /etc/strongswan.conf - strongSwan configuration file + +charon { + load = aes des sha1 sha2 md5 gmp openssl random hmac curl +} diff --git a/testing/tests/openssl/ikev1-alg-ecp-low/hosts/moon/etc/ipsec.conf b/testing/tests/openssl/ikev1-alg-ecp-low/hosts/moon/etc/ipsec.conf new file mode 100755 index 000000000..870271c87 --- /dev/null +++ b/testing/tests/openssl/ikev1-alg-ecp-low/hosts/moon/etc/ipsec.conf @@ -0,0 +1,24 @@ +# /etc/ipsec.conf - strongSwan IPsec configuration file + +config setup + crlcheckinterval=180 + strictcrlpolicy=no + charonstart=no + plutodebug=control + +conn %default + ikelifetime=60m + keylife=20m + rekeymargin=3m + keyingtries=1 + keyexchange=ikev1 + ike=aes128-sha256-ecp224,aes128-sha256-ecp256! + +conn rw + left=PH_IP_MOON + leftcert=moonCert.pem + leftid=@moon.strongswan.org + leftsubnet=10.1.0.0/16 + leftfirewall=yes + right=%any + auto=add diff --git a/testing/tests/openssl/ikev1-alg-ecp-low/hosts/moon/etc/strongswan.conf b/testing/tests/openssl/ikev1-alg-ecp-low/hosts/moon/etc/strongswan.conf new file mode 100644 index 000000000..90668fdf8 --- /dev/null +++ b/testing/tests/openssl/ikev1-alg-ecp-low/hosts/moon/etc/strongswan.conf @@ -0,0 +1,5 @@ +# /etc/strongswan.conf - strongSwan configuration file + +pluto { + load = openssl random hmac curl +} diff --git a/testing/tests/openssl/ikev1-alg-ecp-low/posttest.dat b/testing/tests/openssl/ikev1-alg-ecp-low/posttest.dat new file mode 100644 index 000000000..7cebd7f25 --- /dev/null +++ b/testing/tests/openssl/ikev1-alg-ecp-low/posttest.dat @@ -0,0 +1,6 @@ +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/openssl/ikev1-alg-ecp-low/pretest.dat b/testing/tests/openssl/ikev1-alg-ecp-low/pretest.dat new file mode 100644 index 000000000..42e9d7c24 --- /dev/null +++ b/testing/tests/openssl/ikev1-alg-ecp-low/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 1 +carol::ipsec up home +dave::ipsec up home diff --git a/testing/tests/openssl/ikev1-alg-ecp-low/test.conf b/testing/tests/openssl/ikev1-alg-ecp-low/test.conf new file mode 100644 index 000000000..70416826e --- /dev/null +++ b/testing/tests/openssl/ikev1-alg-ecp-low/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"