Isso ajuda?
Atenciosamente, Willem M. Poort
StrongSwan mini Howto Debian 5
install strongswan + openssl
apt-get install strongswan openssl
Crie seu arquivo de CA:
cd /etc/ipsec.d
openssl req -x509 -days 3650 -newkey rsa:2048 -keyout \
private/strongswanKey.pem -out cacerts/strongswanCert.pem
cp cacerts/strongswanCert.pem certs/
Se você preferir que os certificados de CA estejam no formato DER binário, o seguinte comando realiza essa transformação:
openssl x509 -in cacerts/strongswanCert.pem -outform DER -out \
cacerts/strongswanCert.der
Edite o /etc/ssl/openssl.conf
( /usr/lib/ssl/openssl.cnf
é um link simbólico):
nano -w /usr/lib/ssl/openssl.cnf
Altere os parâmetros para se adequarem ao seu ambiente strong.
[ CA_default ]
dir = /etc/ipsec.d # Where everything is kept
certificate = $dir/cacerts/strongswanCert.pem # The CA certificate
private_key = $dir/private/strongswanKey.pem # The private key
Criar DIR e arquivos ausentes:
mkdir newcerts
touch index.txt
echo “00” > serial
Gerar um certificado de usuário:
openssl req -newkey rsa:1024 -keyout private/hostKey.pem \
-out reqs/hostReq.pem
Assine por dois anos:
openssl ca -in reqs/hostReq.pem -days 730 -out \
certs/hostCert.pem -notext
Normalmente, um cliente VPN baseado no Windows precisa de sua chave privada, seu certificado de host ou de usuário e o certificado de CA. A maneira mais conveniente de carregar essas informações é colocar tudo em um arquivo PKCS # 12:
openssl pkcs12 -export -inkey private/hostKey.pem \
-in certs/hostCert.pem \
-name "host" \
-certfile cacerts/strongswanCert.pem \
-caname "strongSwan Root CA" \
-out host.p12
Edite o /etc/ipsec.secrets
:
:RSA strongswanKey.pem “pempassword”
:XAUTH user "secret"
Edite o /etc/ipsec.conf
:
config setup
plutodebug=none
uniqueids=yes
nat_traversal=yes
interfaces="%defaultroute"
conn %default
authby=rsasig
leftrsasigkey=%cert
rightrsasigkey=%cert
keyingtries=1
keylife=20m
ikelifetime=240m
conn iphone
auto=add
dpdaction=clear
authby=xauthrsasig
xauth=server
pfs=no
leftcert=strongswanCert.pem
left=<serverip>
leftsubnet=0.0.0.0/0
right=%any
rightsourceip=<virtual client ip> #local VPN virtual subnet
rightcert=hostCert.pem
No iPhone
- Importe o certificado do cliente do iphone em formato p12
- Importe o certificado de CA no formato pem
- Configure uma VPN IPSEC com o certificado do cliente iphone e use como servidor o nome DNS (nome DynDNS). Tem que ser o mesmo que o do certificado do servidor
Para importar os certificados no seu iphone, basta enviá-los para você mesmo! Ao criar o ipsec vpn no seu iphone, você pode selecionar o certificado.
Lembre-se que você precisa configurar o iptables se quiser NAT. (Olhe para o fwbuilder)