strongSwan as TNC Client » History » Version 20
Andreas Steffen, 29.03.2014 13:33
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 | 19 | Andreas Steffen | h3. Configuration as a TNCCS 2.0 Client with EAP-MD5 password-based client authentication |
47 | 19 | Andreas Steffen | |
48 | 4 | Andreas Steffen | /etc/tnc_config - TNC configuration file for strongSwan client |
49 | 4 | Andreas Steffen | <pre> |
50 | 18 | Andreas Steffen | IMC "Test" /usr/local/lib/ipsec/imcvs/imc-test.so |
51 | 18 | Andreas Steffen | IMC "Scanner" /usr/local/lib/ipsec/imcvs/imc-scanner.so |
52 | 18 | Andreas Steffen | </pre> |
53 | 1 | Andreas Steffen | |
54 | 1 | Andreas Steffen | /etc/strongswan.conf - strongSwan configuration file |
55 | 1 | Andreas Steffen | <pre> |
56 | 18 | Andreas Steffen | charon { |
57 | 18 | Andreas Steffen | plugins { |
58 | 19 | Andreas Steffen | eap-ttls { |
59 | 19 | Andreas Steffen | max_message_count = 0 |
60 | 19 | Andreas Steffen | } |
61 | 18 | Andreas Steffen | eap-tnc { |
62 | 18 | Andreas Steffen | protocol = tnccs-2.0 |
63 | 19 | Andreas Steffen | max_message_count = 30 |
64 | 1 | Andreas Steffen | } |
65 | 7 | Andreas Steffen | tnc-imc { |
66 | 19 | Andreas Steffen | preferred_language = en, de |
67 | 7 | Andreas Steffen | } |
68 | 7 | Andreas Steffen | } |
69 | 7 | Andreas Steffen | } |
70 | 7 | Andreas Steffen | </pre> |
71 | 7 | Andreas Steffen | |
72 | 7 | Andreas Steffen | /etc/ipsec.secrets - strongSwan IPsec secrets file |
73 | 7 | Andreas Steffen | <pre> |
74 | 7 | Andreas Steffen | carol@strongswan.org : EAP "Ar3etTnp" |
75 | 7 | Andreas Steffen | </pre> |
76 | 7 | Andreas Steffen | |
77 | 10 | Andreas Steffen | /etc/ipsec.conf - strongSwan IPsec configuration file |
78 | 7 | Andreas Steffen | <pre> |
79 | 7 | Andreas Steffen | conn home |
80 | 7 | Andreas Steffen | leftid=carol@strongswan.org |
81 | 16 | Andreas Steffen | leftauth=eap |
82 | 12 | Andreas Steffen | right=192.168.0.1 |
83 | 6 | Andreas Steffen | rightid=@moon.strongswan.org |
84 | 1 | Andreas Steffen | rightsendcert=never |
85 | 4 | Andreas Steffen | rightsubnet=10.1.0.0/16 |
86 | 7 | Andreas Steffen | auto=add |
87 | 1 | Andreas Steffen | </pre> |
88 | 1 | Andreas Steffen | |
89 | 17 | Andreas Steffen | "Client logfile":http://www.strongswan.org/uml/testresults/tnc/tnccs-20/carol.daemon.log |
90 | 17 | Andreas Steffen | |
91 | 1 | Andreas Steffen | h3. Configuration as a TNCCS 2.0 Client with EAP-TLS certicate-based client authentication |
92 | 1 | Andreas Steffen | |
93 | 17 | Andreas Steffen | /etc/tnc_config - TNC configuration file for strongSwan client |
94 | 17 | Andreas Steffen | <pre> |
95 | 17 | Andreas Steffen | IMC "Test" /usr/local/lib/ipsec/imcvs/imc-test.so |
96 | 17 | Andreas Steffen | IMC "Scanner" /usr/local/lib/ipsec/imcvs/imc-scanner.so |
97 | 17 | Andreas Steffen | </pre> |
98 | 17 | Andreas Steffen | |
99 | 4 | Andreas Steffen | /etc/strongswan.conf - strongSwan configuration file |
100 | 4 | Andreas Steffen | <pre> |
101 | 4 | Andreas Steffen | charon { |
102 | 4 | Andreas Steffen | plugins { |
103 | 4 | Andreas Steffen | eap-tnc { |
104 | 5 | Andreas Steffen | protocol = tnccs-2.0 |
105 | 5 | Andreas Steffen | } |
106 | 5 | Andreas Steffen | tnc-imc { |
107 | 4 | Andreas Steffen | preferred_language = ru, fr, en |
108 | 1 | Andreas Steffen | } |
109 | 1 | Andreas Steffen | } |
110 | 1 | Andreas Steffen | } |
111 | 18 | Andreas Steffen | |
112 | 18 | Andreas Steffen | libimcv { |
113 | 18 | Andreas Steffen | plugins { |
114 | 18 | Andreas Steffen | imc-test { |
115 | 18 | Andreas Steffen | command = allow |
116 | 18 | Andreas Steffen | } |
117 | 18 | Andreas Steffen | } |
118 | 18 | Andreas Steffen | } |
119 | 1 | Andreas Steffen | </pre> |
120 | 1 | Andreas Steffen | |
121 | 7 | Andreas Steffen | /etc/ipsec.secrets - strongSwan IPsec secrets file |
122 | 7 | Andreas Steffen | <pre> |
123 | 7 | Andreas Steffen | : RSA carolKey.pem "nH5ZQEWtku0RJEZ6" |
124 | 7 | Andreas Steffen | </pre> |
125 | 7 | Andreas Steffen | |
126 | 7 | Andreas Steffen | /etc/ipsec.conf - strongSwan IPsec configuration file |
127 | 7 | Andreas Steffen | <pre> |
128 | 7 | Andreas Steffen | conn home |
129 | 7 | Andreas Steffen | leftcert=carolCert.pem |
130 | 7 | Andreas Steffen | leftid=carol@strongswan.org |
131 | 7 | Andreas Steffen | leftauth=eap |
132 | 7 | Andreas Steffen | right=192.168.0.1 |
133 | 11 | Andreas Steffen | rightid=@moon.strongswan.org |
134 | 7 | Andreas Steffen | rightsendcert=never |
135 | 7 | Andreas Steffen | rightsubnet=10.1.0.0/16 |
136 | 7 | Andreas Steffen | auto=add |
137 | 12 | Andreas Steffen | </pre> |
138 | 16 | Andreas Steffen | |
139 | 7 | Andreas Steffen | "Client logfile":http://www.strongswan.org/uml/testresults/tnc/tnccs-20-tls/carol.daemon.log |
140 | 8 | Andreas Steffen | |
141 | 6 | Andreas Steffen | h3. Configuration as a TNCCS 1.1 Client where both VPN Gateway and AAA Server authenticate themselves |
142 | 4 | Andreas Steffen | |
143 | 1 | Andreas Steffen | <pre> |
144 | 1 | Andreas Steffen | ./configure --prefix=/usr --sysconfdir =/etc --disable-pluto --enable-curl |
145 | 1 | Andreas Steffen | --enable-eap-tls --enable-eap-ttls --enable-eap-identity --enable-eap-md5 |
146 | 17 | Andreas Steffen | --enable-eap-tnc --enable-tnccs-11 --enable-tnc-imc |
147 | 17 | Andreas Steffen | --enable-imc-test --enable-imc-scanner |
148 | 17 | Andreas Steffen | </pre> |
149 | 17 | Andreas Steffen | |
150 | 17 | Andreas Steffen | /etc/tnc_config - TNC configuration file for strongSwan client |
151 | 17 | Andreas Steffen | <pre> |
152 | 17 | Andreas Steffen | IMC "Test" /usr/local/lib/ipsec/imcvs/imc-test.so |
153 | 17 | Andreas Steffen | IMC "Scanner" /usr/local/lib/ipsec/imcvs/imc-scanner.so |
154 | 4 | Andreas Steffen | </pre> |
155 | 4 | Andreas Steffen | |
156 | 4 | Andreas Steffen | /etc/strongswan.conf - strongSwan configuration file |
157 | 4 | Andreas Steffen | <pre> |
158 | 4 | Andreas Steffen | charon { |
159 | 4 | Andreas Steffen | plugins { |
160 | 4 | Andreas Steffen | eap-tnc { |
161 | 4 | Andreas Steffen | protocol = tnccs-1.1 |
162 | 18 | Andreas Steffen | } |
163 | 18 | Andreas Steffen | } |
164 | 18 | Andreas Steffen | } |
165 | 18 | Andreas Steffen | |
166 | 18 | Andreas Steffen | libimcv { |
167 | 18 | Andreas Steffen | plugins { |
168 | 18 | Andreas Steffen | imc-test { |
169 | 18 | Andreas Steffen | command = allow |
170 | 1 | Andreas Steffen | } |
171 | 1 | Andreas Steffen | } |
172 | 1 | Andreas Steffen | } |
173 | 7 | Andreas Steffen | </pre> |
174 | 7 | Andreas Steffen | |
175 | 7 | Andreas Steffen | /etc/ipsec.secrets - strongSwan IPsec secrets file |
176 | 7 | Andreas Steffen | <pre> |
177 | 7 | Andreas Steffen | carol@strongswan.org : EAP "Ar3etTnp" |
178 | 7 | Andreas Steffen | </pre> |
179 | 7 | Andreas Steffen | |
180 | 7 | Andreas Steffen | /etc/ipsec.conf - strongSwan IPsec configuration file |
181 | 7 | Andreas Steffen | <pre> |
182 | 7 | Andreas Steffen | conn home |
183 | 7 | Andreas Steffen | leftid=carol@strongswan.org |
184 | 7 | Andreas Steffen | leftauth=eap |
185 | 7 | Andreas Steffen | right=192.168.0.1 |
186 | 1 | Andreas Steffen | rightid=@moon.strongswan.org |
187 | 1 | Andreas Steffen | rightsubnet=10.1.0.0/16 |
188 | 8 | Andreas Steffen | rightauth=pubkey |
189 | 8 | Andreas Steffen | aaa_identity="C=CH, O=Linux strongSwan, CN=aaa.strongswan.org" |
190 | 7 | Andreas Steffen | auto=add |
191 | 2 | Andreas Steffen | </pre> |
192 | 13 | Andreas Steffen | |
193 | 16 | Andreas Steffen | "Client logfile":http://www.strongswan.org/uml/testresults/tnc/tnccs-11-radius/carol.daemon.log |