tests with subdirectory structure

This commit is contained in:
Andreas Steffen
2006-07-03 07:11:30 +00:00
parent 92069df82f
commit 6db2ac30c7
607 changed files with 9414 additions and 0 deletions
@@ -0,0 +1,9 @@
By setting <b>strictcrlpolicy=yes</b> a <b>strict CRL policy</b> is enforced on
both roadwarrior <b>carol</b> and gateway <b>moon</b>. Thus when <b>carol</b> initiates
the connection and only an expired CRL cache file in <b>/etc/ipsec.d/crls</b> is
available, the Main Mode negotiation fails. A http fetch for an updated CRL fails
because the web server is currently not reachable. Thus the second Main Mode negotiation
fails, too. Finally an ldap fetch to get the CRL from the LDAP server <b>winnetou</b>
is triggered. When the third Main Mode trial comes around, the fetched CRL has become
available and the IKE negotiation completes. The new CRL is again cached locally as a
file in <b>/etc/ipsec.d/crls</b> due to the <b>cachecrls=yes</b> option.
+16
View File
@@ -0,0 +1,16 @@
moon::cat /var/log/auth.log::loaded crl file::YES
carol::cat /var/log/auth.log::loaded crl file::YES
moon::cat /var/log/auth.log::crl update is overdue::YES
carol::cat /var/log/auth.log::crl update is overdue::YES
moon::cat /var/log/auth.log::X.509 certificate rejected::YES
carol::cat /var/log/auth.log::X.509 certificate rejected::YES
moon::cat /var/log/auth.log::ignoring informational payload, type INVALID_KEY_INFORMATION::YES
carol::cat /var/log/auth.log::ignoring informational payload, type INVALID_KEY_INFORMATION::YES
moon::cat /var/log/auth.log::Trying LDAP URL::YES
carol::cat /var/log/auth.log::Trying LDAP URL::YES
moon::ipsec status::rw.*STATE_QUICK_R2.*IPsec SA established::YES
carol::ipsec status::home.*STATE_QUICK_I2.*IPsec SA established::YES
moon::cat /var/log/auth.log::written crl file::YES
carol::cat /var/log/auth.log::written crl file::YES
moon::ipsec listcrls:: ok::YES
carol::ipsec listcrls:: ok::YES
@@ -0,0 +1,73 @@
#!/sbin/runscript
# Copyright 1999-2004 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
opts="start stop reload"
depend() {
before net
need logger
}
start() {
ebegin "Starting firewall"
# default policy is DROP
/sbin/iptables -P INPUT DROP
/sbin/iptables -P OUTPUT DROP
/sbin/iptables -P FORWARD DROP
# allow esp
iptables -A INPUT -i eth0 -p 50 -j ACCEPT
iptables -A OUTPUT -o eth0 -p 50 -j ACCEPT
# allow IKE
iptables -A INPUT -i eth0 -p udp --sport 500 --dport 500 -j ACCEPT
iptables -A OUTPUT -o eth0 -p udp --dport 500 --sport 500 -j ACCEPT
# allow ldap crl fetch from winnetou
iptables -A INPUT -i eth0 -p tcp --sport 389 -s PH_IP_WINNETOU -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp --dport 389 -d PH_IP_WINNETOU -j ACCEPT
# allow ssh
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT
eend $?
}
stop() {
ebegin "Stopping firewall"
for a in `cat /proc/net/ip_tables_names`; do
/sbin/iptables -F -t $a
/sbin/iptables -X -t $a
if [ $a == nat ]; then
/sbin/iptables -t nat -P PREROUTING ACCEPT
/sbin/iptables -t nat -P POSTROUTING ACCEPT
/sbin/iptables -t nat -P OUTPUT ACCEPT
elif [ $a == mangle ]; then
/sbin/iptables -t mangle -P PREROUTING ACCEPT
/sbin/iptables -t mangle -P INPUT ACCEPT
/sbin/iptables -t mangle -P FORWARD ACCEPT
/sbin/iptables -t mangle -P OUTPUT ACCEPT
/sbin/iptables -t mangle -P POSTROUTING ACCEPT
elif [ $a == filter ]; then
/sbin/iptables -t filter -P INPUT ACCEPT
/sbin/iptables -t filter -P FORWARD ACCEPT
/sbin/iptables -t filter -P OUTPUT ACCEPT
fi
done
eend $?
}
reload() {
ebegin "Flushing firewall"
for a in `cat /proc/net/ip_tables_names`; do
/sbin/iptables -F -t $a
/sbin/iptables -X -t $a
done;
eend $?
start
}
+30
View File
@@ -0,0 +1,30 @@
# /etc/ipsec.conf - strongSwan IPsec configuration file
config setup
plutodebug=control
crlcheckinterval=180
strictcrlpolicy=yes
cachecrls=yes
charonstart=no
ca strongswan
cacert=strongswanCert.pem
crluri="ldap://ldap.strongswan.org/cn=strongSwan Root CA, o=Linux strongSwan, c=CH?certificateRevocationList"
auto=add
conn %default
ikelifetime=60m
keylife=20m
rekeymargin=3m
keyingtries=2
conn home
left=PH_IP_CAROL
leftnexthop=%direct
leftcert=carolCert.pem
[email protected]
leftfirewall=yes
right=PH_IP_MOON
rightsubnet=10.1.0.0/16
[email protected]
auto=add
@@ -0,0 +1,76 @@
#!/sbin/runscript
# Copyright 1999-2004 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
opts="start stop reload"
depend() {
before net
need logger
}
start() {
ebegin "Starting firewall"
# enable IP forwarding
echo 1 > /proc/sys/net/ipv4/ip_forward
# default policy is DROP
/sbin/iptables -P INPUT DROP
/sbin/iptables -P OUTPUT DROP
/sbin/iptables -P FORWARD DROP
# allow esp
iptables -A INPUT -i eth0 -p 50 -j ACCEPT
iptables -A OUTPUT -o eth0 -p 50 -j ACCEPT
# allow IKE
iptables -A INPUT -i eth0 -p udp --sport 500 --dport 500 -j ACCEPT
iptables -A OUTPUT -o eth0 -p udp --dport 500 --sport 500 -j ACCEPT
# allow ldap crl fetch from winnetou
iptables -A INPUT -i eth0 -p tcp --sport 389 -s PH_IP_WINNETOU -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp --dport 389 -d PH_IP_WINNETOU -j ACCEPT
# allow ssh
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT
eend $?
}
stop() {
ebegin "Stopping firewall"
for a in `cat /proc/net/ip_tables_names`; do
/sbin/iptables -F -t $a
/sbin/iptables -X -t $a
if [ $a == nat ]; then
/sbin/iptables -t nat -P PREROUTING ACCEPT
/sbin/iptables -t nat -P POSTROUTING ACCEPT
/sbin/iptables -t nat -P OUTPUT ACCEPT
elif [ $a == mangle ]; then
/sbin/iptables -t mangle -P PREROUTING ACCEPT
/sbin/iptables -t mangle -P INPUT ACCEPT
/sbin/iptables -t mangle -P FORWARD ACCEPT
/sbin/iptables -t mangle -P OUTPUT ACCEPT
/sbin/iptables -t mangle -P POSTROUTING ACCEPT
elif [ $a == filter ]; then
/sbin/iptables -t filter -P INPUT ACCEPT
/sbin/iptables -t filter -P FORWARD ACCEPT
/sbin/iptables -t filter -P OUTPUT ACCEPT
fi
done
eend $?
}
reload() {
ebegin "Flushing firewall"
for a in `cat /proc/net/ip_tables_names`; do
/sbin/iptables -F -t $a
/sbin/iptables -X -t $a
done;
eend $?
start
}
+41
View File
@@ -0,0 +1,41 @@
# /etc/ipsec.conf - strongSwan IPsec configuration file
config setup
plutodebug=control
crlcheckinterval=180
strictcrlpolicy=yes
cachecrls=yes
charonstart=no
ca strongswan
cacert=strongswanCert.pem
crluri="ldap://ldap.strongswan.org/cn=strongSwan Root CA, o=Linux strongSwan, c=CH?certificateRevocationList"
auto=add
conn %default
ikelifetime=60m
keylife=20m
rekeymargin=3m
keyingtries=2
left=PH_IP_MOON
leftnexthop=%direct
leftcert=moonCert.pem
[email protected]
leftfirewall=yes
conn net-net
leftsubnet=10.1.0.0/16
right=PH_IP_SUN
rightsubnet=10.2.0.0/16
[email protected]
auto=add
conn host-host
right=PH_IP_SUN
[email protected]
auto=add
conn rw
leftsubnet=10.1.0.0/16
right=%any
auto=add
@@ -0,0 +1,9 @@
moon::iptables -v -n -L
carol::iptables -v -n -L
moon::ipsec stop
carol::ipsec stop
winnetou::/etc/init.d/slapd stop
moon::/etc/init.d/iptables stop 2> /dev/null
carol::/etc/init.d/iptables stop 2> /dev/null
moon::rm /etc/ipsec.d/crls/*
carol::rm /etc/ipsec.d/crls/*
+7
View File
@@ -0,0 +1,7 @@
winnetou::/etc/init.d/slapd start
moon::/etc/init.d/iptables start 2> /dev/null
carol::/etc/init.d/iptables start 2> /dev/null
moon::ipsec start
carol::ipsec start
carol::sleep 2
carol::ipsec up home
+21
View File
@@ -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="moon carol winnetou"
# Corresponding block diagram
#
DIAGRAM="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"