testing: Created ikev2/rw-eap-aka-sql-rsa scenario
This test scenario tests the eap-simaka-sql plugin.
This commit is contained in:
@@ -28,6 +28,7 @@ CONFIG_OPTS = \
|
||||
--enable-eap-aka-3gpp2 \
|
||||
--enable-eap-sim \
|
||||
--enable-eap-sim-file \
|
||||
--enable-eap-simaka-sql \
|
||||
--enable-eap-md5 \
|
||||
--enable-md4 \
|
||||
--enable-eap-mschapv2 \
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
At the outset the gateway authenticates itself to the client by sending an
|
||||
IKEv2 <b>RSA signature</b> accompanied by a certificate.
|
||||
The roadwarrior <b>carol</b> sets up a connection to gateway <b>moon</b>.
|
||||
<b>carol</b> uses the <i>Extensible Authentication Protocol</i>
|
||||
in association with the <i>Authentication and Key Agreement</i> protocol
|
||||
(<b>EAP-AKA</b>) to authenticate against the gateway. In this scenario,
|
||||
quintuplets from the SQL database /etc/ipsec.d/ipsec.db are used instead
|
||||
of a physical USIM card on the client <b>carol</b>. The USIM provider on
|
||||
gateway <b>moon</b> also stores the quintuplets in an SQL database.
|
||||
@@ -0,0 +1,14 @@
|
||||
carol::cat /var/log/daemon.log::authentication of 'moon.strongswan.org' with RSA.* successful::YES
|
||||
carol::cat /var/log/daemon.log::server requested EAP_AKA authentication::YES
|
||||
carol::cat /var/log/daemon.log::authentication of 'moon.strongswan.org' with EAP successful::YES
|
||||
moon:: cat /var/log/daemon.log::EAP method EAP_AKA succeeded, MSK established
|
||||
moon:: cat /var/log/daemon.log::authentication of '[email protected]' with EAP successful::YES
|
||||
moon:: ipsec status 2> /dev/null::rw-eap.*ESTABLISHED.*moon.strongswan.org.*[email protected]::YES
|
||||
carol::ipsec status 2> /dev/null::home.*ESTABLISHED.*[email protected].*moon.strongswan.org::YES
|
||||
moon:: ipsec status 2> /dev/null::rw-eap.*INSTALLED, TUNNEL::YES
|
||||
carol::ipsec status 2> /dev/null::home.*INSTALLED, TUNNEL::YES
|
||||
carol::ping -c 1 PH_IP_ALICE::64 bytes from PH_IP_ALICE: icmp_.eq=1::YES
|
||||
moon::tcpdump::IP carol.strongswan.org > moon.strongswan.org: ESP::YES
|
||||
moon::tcpdump::IP moon.strongswan.org > carol.strongswan.org: ESP::YES
|
||||
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
# /etc/ipsec.conf - strongSwan IPsec configuration file
|
||||
|
||||
config setup
|
||||
|
||||
conn %default
|
||||
ikelifetime=60m
|
||||
keylife=20m
|
||||
rekeymargin=3m
|
||||
keyingtries=1
|
||||
keyexchange=ikev2
|
||||
|
||||
conn home
|
||||
left=PH_IP_CAROL
|
||||
[email protected]
|
||||
leftfirewall=yes
|
||||
leftauth=eap
|
||||
right=PH_IP_MOON
|
||||
[email protected]
|
||||
rightsubnet=10.1.0.0/16
|
||||
rightauth=pubkey
|
||||
auto=add
|
||||
@@ -0,0 +1,9 @@
|
||||
INSERT INTO quintuplets
|
||||
(id, used, rand, autn, ck, ik, res) VALUES
|
||||
('[email protected]', 0,
|
||||
X'00112233445566778899AABBCCDDEEFF',
|
||||
X'112233445566778899AABBCCDDEEFF00',
|
||||
X'2233445566778899AABBCCDDEEFF0011',
|
||||
X'33445566778899AABBCCDDEEFF001122',
|
||||
X'00112233445566778899'
|
||||
);
|
||||
@@ -0,0 +1,10 @@
|
||||
DROP TABLE IF EXISTS quintuplets;
|
||||
CREATE TABLE quintuplets (
|
||||
id TEXT NOT NULL,
|
||||
used INTEGER NOT NULL,
|
||||
rand BLOB NOT NULL,
|
||||
autn BLOB NOT NULL,
|
||||
ck BLOB NOT NULL,
|
||||
ik BLOB NOT NULL,
|
||||
res BLOB NOT NULL
|
||||
);
|
||||
@@ -0,0 +1 @@
|
||||
# /etc/ipsec.secrets - strongSwan IPsec secrets file
|
||||
@@ -0,0 +1,11 @@
|
||||
# /etc/strongswan.conf - strongSwan configuration file
|
||||
|
||||
charon {
|
||||
load = random nonce aes sha1 sha2 pem pkcs1 curve25519 gmp x509 curl revocation hmac stroke kernel-netlink socket-default sqlite fips-prf eap-aka eap-simaka-sql updown
|
||||
|
||||
plugins {
|
||||
eap-simaka-sql {
|
||||
database = sqlite:///etc/ipsec.d/ipsec.db
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
# /etc/ipsec.conf - strongSwan IPsec configuration file
|
||||
|
||||
config setup
|
||||
|
||||
conn %default
|
||||
ikelifetime=60m
|
||||
keylife=20m
|
||||
rekeymargin=3m
|
||||
keyingtries=1
|
||||
keyexchange=ikev2
|
||||
|
||||
conn rw-eap
|
||||
left=PH_IP_MOON
|
||||
leftsubnet=10.1.0.0/16
|
||||
[email protected]
|
||||
leftcert=moonCert.pem
|
||||
leftauth=pubkey
|
||||
leftfirewall=yes
|
||||
right=%any
|
||||
rightid=*@strongswan.org
|
||||
rightsendcert=never
|
||||
rightauth=eap-aka
|
||||
auto=add
|
||||
@@ -0,0 +1,9 @@
|
||||
INSERT INTO quintuplets
|
||||
(id, used, rand, autn, ck, ik, res) VALUES
|
||||
('[email protected]', 0,
|
||||
X'00112233445566778899AABBCCDDEEFF',
|
||||
X'112233445566778899AABBCCDDEEFF00',
|
||||
X'2233445566778899AABBCCDDEEFF0011',
|
||||
X'33445566778899AABBCCDDEEFF001122',
|
||||
X'00112233445566778899'
|
||||
);
|
||||
@@ -0,0 +1,10 @@
|
||||
DROP TABLE IF EXISTS quintuplets;
|
||||
CREATE TABLE quintuplets (
|
||||
id TEXT NOT NULL,
|
||||
used INTEGER NOT NULL,
|
||||
rand BLOB NOT NULL,
|
||||
autn BLOB NOT NULL,
|
||||
ck BLOB NOT NULL,
|
||||
ik BLOB NOT NULL,
|
||||
res BLOB NOT NULL
|
||||
);
|
||||
@@ -0,0 +1,11 @@
|
||||
# /etc/strongswan.conf - strongSwan configuration file
|
||||
|
||||
charon {
|
||||
load = random nonce aes sha1 sha2 pem pkcs1 curve25519 gmp x509 curl revocation hmac stroke kernel-netlink socket-default sqlite fips-prf eap-aka eap-simaka-sql updown
|
||||
|
||||
plugins {
|
||||
eap-simaka-sql {
|
||||
database = sqlite:///etc/ipsec.d/ipsec.db
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
moon::ipsec stop
|
||||
carol::ipsec stop
|
||||
moon::iptables-restore < /etc/iptables.flush
|
||||
carol::iptables-restore < /etc/iptables.flush
|
||||
@@ -0,0 +1,9 @@
|
||||
moon::iptables-restore < /etc/iptables.rules
|
||||
carol::iptables-restore < /etc/iptables.rules
|
||||
carol::cd /etc/ipsec.d; cat tables.sql data.sql > ipsec.sql; cat ipsec.sql | sqlite3 ipsec.db
|
||||
moon::cd /etc/ipsec.d; cat tables.sql data.sql > ipsec.sql; cat ipsec.sql | sqlite3 ipsec.db
|
||||
moon::ipsec start
|
||||
carol::ipsec start
|
||||
moon::expect-connection rw-eap
|
||||
carol::expect-connection home
|
||||
carol::ipsec up home
|
||||
@@ -0,0 +1,21 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# This configuration file provides information on the
|
||||
# guest instances used for this test
|
||||
|
||||
# All guest instances that are required for this test
|
||||
#
|
||||
VIRTHOSTS="alice carol moon"
|
||||
|
||||
# Corresponding block diagram
|
||||
#
|
||||
DIAGRAM="a-m-c.png"
|
||||
|
||||
# Guest instances on which tcpdump is to be started
|
||||
#
|
||||
TCPDUMPHOSTS="moon"
|
||||
|
||||
# Guest instances on which IPsec is started
|
||||
# Used for IPsec logging purposes
|
||||
#
|
||||
IPSECHOSTS="moon carol"
|
||||
Reference in New Issue
Block a user