strongSwan as TNC Client » History » Version 22
Andreas Steffen, 20.01.2015 00:42
Fixed typo
1 | 1 | Andreas Steffen | h1. strongSwan as TNC Client |
---|---|---|---|
2 | 2 | Andreas Steffen | |
3 | 19 | Andreas Steffen | h3. Required Ubuntu Packages |
4 | 1 | Andreas Steffen | |
5 | 19 | Andreas Steffen | If you are installing a strongSwan TNC client on an Ubuntu Linux OS then the following packages must be installed: |
6 | 1 | Andreas Steffen | <pre> |
7 | 19 | Andreas Steffen | sudo apt-get install build-essential libcurl4-openssl-dev |
8 | 1 | Andreas Steffen | </pre> |
9 | 1 | Andreas Steffen | |
10 | 19 | Andreas Steffen | If a security chip, i.e. a Trusted Platform Module (TPM) is present on the client hardware and you want to do remote attestation then three additional packages are required for TPM support: |
11 | 19 | Andreas Steffen | <pre> |
12 | 19 | Andreas Steffen | sudo apt-get trousers tpm-tools libtspi-dev |
13 | 19 | Andreas Steffen | </pre> |
14 | 19 | Andreas Steffen | |
15 | 19 | Andreas Steffen | h3. Build strongSwan VPN client with TNC support |
16 | 19 | Andreas Steffen | |
17 | 19 | Andreas Steffen | Download the latest strongSwan tarball from http://download.strongswan.org/strongswan.tar.bz2, unpack the tarball and change into the top-level strongswan source directory: |
18 | 19 | Andreas Steffen | <pre> |
19 | 19 | Andreas Steffen | wget http://download.strongswan.org/strongswan.tar.bz2 |
20 | 19 | Andreas Steffen | tar xjf strongswan.tar.bz2 |
21 | 19 | Andreas Steffen | cd strongswan-x.y.z |
22 | 19 | Andreas Steffen | </pre> |
23 | 19 | Andreas Steffen | |
24 | 19 | Andreas Steffen | Next configure the following compilation options: |
25 | 19 | Andreas Steffen | <pre> |
26 | 19 | Andreas Steffen | ./configure --prefix=/usr --sysconfdir=/etc \ |
27 | 19 | Andreas Steffen | --disable-gmp --disable-aes --disable-md5 \ |
28 | 19 | Andreas Steffen | --disable-sha1 --disable-sha2 --disable-fips-prf \ |
29 | 19 | Andreas Steffen | --enable-curl --enable-openssl --enable-eap-identity \ |
30 | 19 | Andreas Steffen | --enable-eap-dynamic --enable-eap-md5 --enable-eap-mschapv2 --enable-tls \ |
31 | 20 | Andreas Steffen | --enable-eap-ttls --enable-eap-tnc --enable-tnccs-20 --enable-tnc-imc \ |
32 | 19 | Andreas Steffen | --enable-imc-os --enable-imc-attestation --enable-imc-scanner --enable-imc-swid |
33 | 19 | Andreas Steffen | </pre> |
34 | 19 | Andreas Steffen | |
35 | 19 | Andreas Steffen | If a TPM is available and you intend to use it for attestation, add |
36 | 19 | Andreas Steffen | <pre> |
37 | 19 | Andreas Steffen | --with-tss=trousers |
38 | 19 | Andreas Steffen | </pre> |
39 | 19 | Andreas Steffen | |
40 | 19 | Andreas Steffen | Build and install the strongSwan client with |
41 | 19 | Andreas Steffen | <pre> |
42 | 19 | Andreas Steffen | make |
43 | 19 | Andreas Steffen | sudo make install |
44 | 19 | Andreas Steffen | </pre> |
45 | 19 | Andreas Steffen | |
46 | 21 | Andreas Steffen | h3. Configuration of TNC Integrity Measurement Collectors |
47 | 19 | Andreas Steffen | |
48 | 4 | Andreas Steffen | /etc/tnc_config - TNC configuration file for strongSwan client |
49 | 1 | Andreas Steffen | <pre> |
50 | 21 | Andreas Steffen | IMC "OS" /usr/lib/ipsec/imcvs/imc-os.so |
51 | 21 | Andreas Steffen | IMC "Scanner" /usr/lib/ipsec/imcvs/imc-scanner.so |
52 | 21 | Andreas Steffen | IMC "Attestation" /usr/lib/ipsec/imcvs/imc-attestation.so |
53 | 22 | Andreas Steffen | IMC "SWID" /usr/lib/ipsec/imcvs/imc-swid.so |
54 | 1 | Andreas Steffen | </pre> |
55 | 18 | Andreas Steffen | |
56 | 21 | Andreas Steffen | h3. Configuration as a TNCCS 2.0 Client with EAP-MD5 password-based client authentication |
57 | 21 | Andreas Steffen | |
58 | 1 | Andreas Steffen | /etc/strongswan.conf - strongSwan configuration file |
59 | 1 | Andreas Steffen | <pre> |
60 | 18 | Andreas Steffen | charon { |
61 | 18 | Andreas Steffen | plugins { |
62 | 19 | Andreas Steffen | eap-ttls { |
63 | 19 | Andreas Steffen | max_message_count = 0 |
64 | 19 | Andreas Steffen | } |
65 | 18 | Andreas Steffen | eap-tnc { |
66 | 18 | Andreas Steffen | protocol = tnccs-2.0 |
67 | 19 | Andreas Steffen | max_message_count = 30 |
68 | 1 | Andreas Steffen | } |
69 | 7 | Andreas Steffen | tnc-imc { |
70 | 19 | Andreas Steffen | preferred_language = en, de |
71 | 7 | Andreas Steffen | } |
72 | 7 | Andreas Steffen | } |
73 | 7 | Andreas Steffen | } |
74 | 7 | Andreas Steffen | </pre> |
75 | 7 | Andreas Steffen | |
76 | 7 | Andreas Steffen | /etc/ipsec.secrets - strongSwan IPsec secrets file |
77 | 7 | Andreas Steffen | <pre> |
78 | 7 | Andreas Steffen | carol@strongswan.org : EAP "Ar3etTnp" |
79 | 7 | Andreas Steffen | </pre> |
80 | 7 | Andreas Steffen | |
81 | 10 | Andreas Steffen | /etc/ipsec.conf - strongSwan IPsec configuration file |
82 | 7 | Andreas Steffen | <pre> |
83 | 7 | Andreas Steffen | conn home |
84 | 7 | Andreas Steffen | leftid=carol@strongswan.org |
85 | 16 | Andreas Steffen | leftauth=eap |
86 | 12 | Andreas Steffen | right=192.168.0.1 |
87 | 6 | Andreas Steffen | rightid=@moon.strongswan.org |
88 | 1 | Andreas Steffen | rightsendcert=never |
89 | 4 | Andreas Steffen | rightsubnet=10.1.0.0/16 |
90 | 1 | Andreas Steffen | auto=add |
91 | 17 | Andreas Steffen | </pre> |
92 | 17 | Andreas Steffen | |
93 | 17 | Andreas Steffen | "Client logfile":http://www.strongswan.org/uml/testresults/tnc/tnccs-20/carol.daemon.log |
94 | 17 | Andreas Steffen | |
95 | 17 | Andreas Steffen | h3. Configuration as a TNCCS 2.0 Client with EAP-TLS certicate-based client authentication |
96 | 17 | Andreas Steffen | |
97 | 4 | Andreas Steffen | /etc/strongswan.conf - strongSwan configuration file |
98 | 4 | Andreas Steffen | <pre> |
99 | 4 | Andreas Steffen | charon { |
100 | 4 | Andreas Steffen | plugins { |
101 | 4 | Andreas Steffen | eap-tnc { |
102 | 5 | Andreas Steffen | protocol = tnccs-2.0 |
103 | 5 | Andreas Steffen | } |
104 | 5 | Andreas Steffen | tnc-imc { |
105 | 4 | Andreas Steffen | preferred_language = ru, fr, en |
106 | 1 | Andreas Steffen | } |
107 | 1 | Andreas Steffen | } |
108 | 1 | Andreas Steffen | } |
109 | 18 | Andreas Steffen | |
110 | 18 | Andreas Steffen | libimcv { |
111 | 18 | Andreas Steffen | plugins { |
112 | 18 | Andreas Steffen | imc-test { |
113 | 18 | Andreas Steffen | command = allow |
114 | 18 | Andreas Steffen | } |
115 | 18 | Andreas Steffen | } |
116 | 18 | Andreas Steffen | } |
117 | 1 | Andreas Steffen | </pre> |
118 | 1 | Andreas Steffen | |
119 | 7 | Andreas Steffen | /etc/ipsec.secrets - strongSwan IPsec secrets file |
120 | 7 | Andreas Steffen | <pre> |
121 | 7 | Andreas Steffen | : RSA carolKey.pem "nH5ZQEWtku0RJEZ6" |
122 | 7 | Andreas Steffen | </pre> |
123 | 7 | Andreas Steffen | |
124 | 7 | Andreas Steffen | /etc/ipsec.conf - strongSwan IPsec configuration file |
125 | 7 | Andreas Steffen | <pre> |
126 | 7 | Andreas Steffen | conn home |
127 | 7 | Andreas Steffen | leftcert=carolCert.pem |
128 | 7 | Andreas Steffen | leftid=carol@strongswan.org |
129 | 7 | Andreas Steffen | leftauth=eap |
130 | 7 | Andreas Steffen | right=192.168.0.1 |
131 | 11 | Andreas Steffen | rightid=@moon.strongswan.org |
132 | 7 | Andreas Steffen | rightsendcert=never |
133 | 7 | Andreas Steffen | rightsubnet=10.1.0.0/16 |
134 | 7 | Andreas Steffen | auto=add |
135 | 12 | Andreas Steffen | </pre> |
136 | 16 | Andreas Steffen | |
137 | 7 | Andreas Steffen | "Client logfile":http://www.strongswan.org/uml/testresults/tnc/tnccs-20-tls/carol.daemon.log |
138 | 8 | Andreas Steffen | |
139 | 17 | Andreas Steffen | h3. Configuration as a TNCCS 1.1 Client where both VPN Gateway and AAA Server authenticate themselves |
140 | 17 | Andreas Steffen | |
141 | 17 | Andreas Steffen | <pre> |
142 | 17 | Andreas Steffen | ./configure --prefix=/usr --sysconfdir =/etc --disable-pluto --enable-curl |
143 | 17 | Andreas Steffen | --enable-eap-tls --enable-eap-ttls --enable-eap-identity --enable-eap-md5 |
144 | 17 | Andreas Steffen | --enable-eap-tnc --enable-tnccs-11 --enable-tnc-imc |
145 | 17 | Andreas Steffen | --enable-imc-test --enable-imc-scanner |
146 | 4 | Andreas Steffen | </pre> |
147 | 4 | Andreas Steffen | |
148 | 4 | Andreas Steffen | /etc/strongswan.conf - strongSwan configuration file |
149 | 4 | Andreas Steffen | <pre> |
150 | 4 | Andreas Steffen | charon { |
151 | 4 | Andreas Steffen | plugins { |
152 | 4 | Andreas Steffen | eap-tnc { |
153 | 4 | Andreas Steffen | protocol = tnccs-1.1 |
154 | 18 | Andreas Steffen | } |
155 | 18 | Andreas Steffen | } |
156 | 18 | Andreas Steffen | } |
157 | 18 | Andreas Steffen | |
158 | 18 | Andreas Steffen | libimcv { |
159 | 18 | Andreas Steffen | plugins { |
160 | 18 | Andreas Steffen | imc-test { |
161 | 18 | Andreas Steffen | command = allow |
162 | 1 | Andreas Steffen | } |
163 | 1 | Andreas Steffen | } |
164 | 1 | Andreas Steffen | } |
165 | 7 | Andreas Steffen | </pre> |
166 | 7 | Andreas Steffen | |
167 | 7 | Andreas Steffen | /etc/ipsec.secrets - strongSwan IPsec secrets file |
168 | 7 | Andreas Steffen | <pre> |
169 | 7 | Andreas Steffen | carol@strongswan.org : EAP "Ar3etTnp" |
170 | 7 | Andreas Steffen | </pre> |
171 | 7 | Andreas Steffen | |
172 | 7 | Andreas Steffen | /etc/ipsec.conf - strongSwan IPsec configuration file |
173 | 7 | Andreas Steffen | <pre> |
174 | 7 | Andreas Steffen | conn home |
175 | 7 | Andreas Steffen | leftid=carol@strongswan.org |
176 | 7 | Andreas Steffen | leftauth=eap |
177 | 7 | Andreas Steffen | right=192.168.0.1 |
178 | 1 | Andreas Steffen | rightid=@moon.strongswan.org |
179 | 1 | Andreas Steffen | rightsubnet=10.1.0.0/16 |
180 | 8 | Andreas Steffen | rightauth=pubkey |
181 | 8 | Andreas Steffen | aaa_identity="C=CH, O=Linux strongSwan, CN=aaa.strongswan.org" |
182 | 7 | Andreas Steffen | auto=add |
183 | 2 | Andreas Steffen | </pre> |
184 | 13 | Andreas Steffen | |
185 | 16 | Andreas Steffen | "Client logfile":http://www.strongswan.org/uml/testresults/tnc/tnccs-11-radius/carol.daemon.log |