web-dev-qa-db-fra.com

Comment mettre en place STUDSWAN ou OpenSwan pour Pure IPSec avec le client iPhone?

Je rencontre des difficultés à trouver des informations concrètes et actualisées sur la manière de configurer STAYSwan ou OpenSwan pour être utilisée par le client VPN de l'iPhone. Mon serveur est derrière un budget Linksys NAT.

J'ai trouvé - this , mais il mentionne tout un tas de fichiers .pem sans référence pour comment les créer. Malheureusement, les "beaux" manuels des deux paquets étaient assez impénétrables et hostiles à un novice. J'ai mis en place OpenVPN avant et géré pour obtenir des résultats réparables très rapidement, mais après une journée et demi de lecture de Documents hors de date, je sais à peine où commencer.

Toute aide serait grandement appréciée!

21
Shabbyrobe

Est-ce que cela aide?
[.____] Cordialement, Willem M. Poort

STUDSWAN MINI HOWTO DEBIAN 5

install strongswan + openssl
apt-get install strongswan openssl

Créez votre fichier 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/

Si vous préférez que les certificats de l'autorité de certification soient au format Binaire DER, la commande suivante atteint cette transformation:

openssl x509 -in cacerts/strongswanCert.pem -outform DER -out \ 
cacerts/strongswanCert.der

Éditer /etc/ssl/openssl.conf (/usr/lib/ssl/openssl.cnf est un lien symbolique):

nano -w /usr/lib/ssl/openssl.cnf

Changez les paramètres pour adapter votre environnement STRATSWAN.

[ 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 

Créez DIR et fichiers manquants:

mkdir newcerts
touch index.txt
echo “00” > serial

Générez un certificat d'utilisateur:

openssl req -newkey rsa:1024 -keyout private/hostKey.pem \
    -out reqs/hostReq.pem

Signez-le pendant deux ans:

openssl ca -in reqs/hostReq.pem -days 730 -out \
    certs/hostCert.pem -notext

Habituellement, un client VPN Windows a besoin de sa clé privée, son hôte ou son certificat d'utilisateur et son certificat CA. Le moyen le plus pratique de charger ces informations est de tout mettre dans un fichier 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

Éditer /etc/ipsec.secrets:

:RSA strongswanKey.pem “pempassword”
:XAUTH user "secret"

Éditer /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

Sur l'iphone

  1. Importer le certificat de client iPhone au format P12
  2. Importer le certificat CA au format PEM
  3. Configurez un VPN IPSec-VPN avec le certificat de client iPhone et utilisez comme serveur le nom DNS (nom DYNDNS). Il doit être le même que celui du certificat de serveur

Pour importer les certificats sur votre iPhone, envoyez-les à vous-même. Lors de la création du VPN IPsec sur votre iPhone, vous pouvez sélectionner le certificat.

Maintenez l'esprit que vous devez configurer iptables si vous voulez nat. (Regarde dans le fwbuilder)

23
Willem M. Poort