Installation d’un Serveur OpenVPN sous Debian
OpenVPN est un VPN SSL se basant sur la création d’un tunnel IP. Installation du Serveur OpenVPN On commence par installer le package OpenVPN apt-get install openvpn On...
Filter by Category
Filter by Author
OpenVPN est un VPN SSL se basant sur la création d’un tunnel IP. Installation du Serveur OpenVPN On commence par installer le package OpenVPN apt-get install openvpn On...
Posted by louis MARTINBRANDA
Voici un petit tuto, pour vous expliquer comment installer FFMPEG sur Debian et Ubuntu. Ci-dessous la liste des packages qui seront installés : FFmpeg FFmpeg-PHP Mplayer +...
Posted by louis MARTINBRANDA
Quand vous rajoutez des sources dans /etc/apt/sources.list et que vous faites un apt-get update. Il peut vous arrivez de recevoir ce message :
Posted by louis MARTINBRANDA
Par défaut maintenant sur Debian quand vous faites : crontabt -e il est automatiquement edité via nano.
Posted by louis MARTINBRANDA
Suite au post préédent, j’ai créé un script qui vous permet de supprimer quotidiennement les anciens répertoires de SARG. Créé un script nommé : nettoyage_sarg.sh
Posted by louis MARTINBRANDA
Qu’est ce que SARG? C’est un outil simple qui s’installe sur le serveur et qui analyse le trafic lié à internet. Il permet de connaitre les sites visités pour...
Posted by louis MARTINBRANDA
Je cherchais depuis peu un moyen simple et efficace de sauvegarder mes configuration Cisco automatiquement. En cherchant un peu sur le net, j’ai trouvé que la solution la...
Posted by louis MARTINBRANDA
Par défaut, ce n’est pas possible! Il faut l’activer via la console : Connectez vous sur la console puis faite alt+F1 Rentrez « unsupported » puis rentrer le MDP root.
Posted by louis MARTINBRANDA
Cette installation est décrite pour un serveur installé sous RedHat Linux. Les fichiers suivants sont requis : – SDK Java : jdk1.5.0_14-linux-i586x.bin Téléchargement sur...
Posted by louis MARTINBRANDA
Dans cet article je vais vous décrire la procédure pour vous loguer automatiquement en ssh sur votre serveur Linux via votre Mac ou votre Window$.
Posted by louis MARTINBRANDA
OpenVPN est un VPN SSL se basant sur la création d’un tunnel IP.
On commence par installer le package OpenVPN
apt-get install openvpn
On copie ensuite les fichiers de configurations.
mkdir /etc/openvpn/easy-rsa/ cp -r /usr/share/doc/openvpn/examples/easy-rsa/2.0/* /etc/openvpn/easy-rsa/ chown -R $USER /etc/openvpn/easy-rsa/
Configuration du serveur OpenVPN
On commence par éditer le fichier /etc/openvpn/easy-rsa/vars:
export KEY_COUNTRY="FR" export KEY_PROVINCE="IDF" export KEY_CITY="Paris" export KEY_ORG="martinbranda.eu" export KEY_EMAIL="dtc@hadopi.fr"
on lance la séquence suivante qui va générer les clés (.key) et les certificats (.crt):
cd /etc/openvpn/easy-rsa/ source vars ./clean-all ./build-dh ./pkitool --pass --initca ./pkitool --pass --server server openvpn --genkey --secret keys/ta.key
Le password utilisé dans ce cas de figure est PASSWORD
echo 'PASSWORD' > /etc/openvpn/server.password chmod 0600 /etc/openvpn/server.password
On copie ensuite les clés et les certificats utiles pour le serveur dans le répertoire /etc/openvpn/:
cp keys/ca.crt keys/ta.key keys/server.crt keys/server.key keys/dh1024.pem /etc/openvpn/
Puis on génère un répertoire /etc/openvpn/jail
mkdir /etc/openvpn/jail mkdir /etc/openvpn/clientconf
Enfin on créé le fichier de configuration /etc/openvpn/server.conf:
# Serveur TCP/443 mode server # c'est le fichier de configuration du serveur proto tcp port 443 # port 443 en TCP dev tun # Utilise l'interface virtuelle tun # Cles et certificats ca ca.crt cert server.crt key server.key dh dh1024.pem tls-auth ta.key 0 # 0 pour le serveur askpass /etc/openvpn/server.password cipher AES-256-CBC # algorithme de chiffrement # Reseau server 10.8.0.0 255.255.255.0 # adresse IP distribuées aux clients push "redirect-gateway def1 bypass-dhcp" # redirection du flux de données push "dhcp-option DNS 4.4.4.4" # Changement des DNS push "dhcp-option DNS 8.8.8.8" # Changement des DNS keepalive 10 120 # Test de la connexion avec le client toutes les 10s, # au bout de 120s de non réponse le client est en timeout. #ajoute la route au client pour qu'il puisse accéder au VPN push "route 10.8.0.0 255.255.255.0" #autorise les clients à se voir entre eux sur le VPN client-to-client #Gestion des droits et compression de données user nobody # Changement de l'utilisateur et du groupe pour l'exécution group nogroup chroot /etc/openvpn/jail persist-key # n'accède plus à certaines options, persist-tun # car réduction des privilèges utilisateur comp-lzo # compression des données # Log verb 3 mute 20 status openvpn-status.log ; log-append /var/log/openvpn.log
Ce fichier permet de créer un serveur VPN SSL routé basée sur le protocole TCP et utilisant le port HTTPS (443) enfin de maximiser sont accessibilité depuis des réseaux sécurisés par des Firewalls. Les clients obtiendrons une nouvelle adresse IP dans le range 10.8.0.0/24.
On teste la configuration en saisissant la commande suivante:
openvpn /etc/openvpn/server.conf
On doit obtenir les messages suivants:
Initialization Sequence Completed
Si le serveur démarre correctement, on peut terminer la configuration sur serveur OpenVPN en décommentant la dernière ligne du fichier /etc/openvpn/server.conf :
Une fois fait on lance le serveur :
/etc/init.d/openvpn start
A ce stade un client va pouvoir ce connecter au serveur VPN. Par contre impossible d’aller plus loin car l’adresse 10.8.0.x ne sera par routée en dehors de votre serveur. Il faut donc configurer le serveur pour jouer le rôle de routeur entre l’interface VPN (tun0) et l’interface physique (eth0) et de NATeur entre les adresses en 10.8.0.x et son adresse IP réelle.
Configuration du routage:
sh -c ‘echo 1 > /proc/sys/net/ipv4/ip_forward’
Pour rendre ce paramètrage de routage permanant (même après un reboot), il faut ajouter la ligne suivante au fichier /etc/sysctl.conf:
net.ipv4.ip_forward = 1
Configuration du NAT:
sudo iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
Le serveur est maintenant prêt à accueillir ses clients. Nous allons donc voir comment faire une déclaration de client sur le serveur.
On va créer le client martinbranda
cd /etc/openvpn/easy-rsa source vars ./build-key martinbranda
Le build-key va générer 3 fichiers dans le répertoire /etc/openvpn/easy-rsa/keys:
martinbranda.crt: Certificat pour le client
martinbranda.csr: Certificat à garder sur le serveur
martinbranda.key: Clés pour le client
On copie les fichiers nécessaires dans un sous répertoire /etc/openvpn/clientconf/ préalablement créé:
mkdir /etc/openvpn/clientconf/martinbranda/ cp /etc/openvpn/ca.crt /etc/openvpn/ta.key keys/martinbranda.crt keys/martinbranda.key /etc/openvpn/clientconf/martinbranda/
On va ensuite dans le répertoire /etc/openvpn/clientconf/martinbranda
Puis on créé le fichier client.conf :
# Client client dev tun proto tcp-client remote ip_public_serveur 443 resolv-retry infinite cipher AES-256-CBC # Cles ca ca.crt cert martinbranda.crt key martinbranda.key tls-auth ta.key 1 # Securite nobind persist-key persist-tun comp-lzo verb 3
Pour assurer la compatibilité avec le client Windows OpenVPN, on fait une copie du fichier client.conf vers client.ovpn:
cp client.conf client.ovpn
Il ne reste plus qu’à mettre ces fichiers dans une archive ZIP et de la transmettre sur le PC client:
zip martinbranda.zip *.*
Pour des raisons de sécurité , il est nécessaire d’affecter une adresse IP statique à un client VPN. Pour cela, il faut créer un répertoire qui va contenir les configurations statiques:
mkdir /etc/openvpn/ccd ln -s /etc/openvpn/ccd /etc/openvpn/jail/ccd
Ensuite on édite à l’intérieur de ce répertoire un fichier correspondant au CNAME (X509) de l’utilisateur dont on veut rendre la configuration statique (par exemple martinbranda):
vi /etc/openvpn/ccd/martinbranda ifconfig-push 10.8.0.18 10.8.0.17
La syntaxe est la suivante: ifconfig-push @IPCLIENTTUNNELVPN @IPSERVEURTUNNELVPN.
Ainsi quand le client martinbranda se connectera au serveur VPN il obtiendra une adresse en 10.8.0.18. Le bout du tunnel VPN (coté serveur) sera lui en 10.8.0.17.
Révocation d’un certificat client
Si le certificat d’un client à été volé au si ce dernier n’est plus nécessaire, il est important de le révoquer pour qu’il ne puisse plus être utilisé.
Pour révoquer un certificat, il copier les certificats de l’utilisateur à révoquer dans le dossier /etc/openvpn/easy-rsa/keys
La commande suivante permet de révoquer un certificat :
# ./revoke-full martinbranda Using configuration from /etc/openvpn/easy-rsa/openssl.cnf DEBUG[load_index]: unique_subject = "yes" Revoking Certificate 17. Data Base Updated Using configuration from /etc/openvpn/easy-rsa/openssl.cnf DEBUG[load_index]: unique_subject = "yes" Client01.crt: / =FR/ST=IDF/O=martinbranda/CN=martinbranda/emailAddress=martinbranda@martinbranda.eu error 23 at 0 depth lookup:certificate revoked
Remarque : Avec ce script, il ne faut pas mettre l’extension « .crt » du certificat.
A chaque révocation de certificat son numéro est ajouté dans le fichier « keys/crl.pem ». Ce fichier contient donc la liste des certificats révoqués. Après chaque révocation de certificat, il faut donc copier ce fichier dans « /etc/openvpn »
La commande suivante, permet de consulter la liste des certificats révoqués :
# openssl crl -in keys/crl.pem -text
Il faut également ajouter cette ligne dans « etc/openvpn/server.conf » du serveur OpenVPN :
crl-verify crl.pem
Pour information, le fichier « keys/index.txt » contient la liste des certificats créés et révoqués
Pour finir et pour information, lors de la création d’un client, les fichiers suivants sont créés ou modifiés dans « keys/crl.pem »
les connexions VPN
le processus OpenVPN server va écrire toute les minutes un état des clients connectés au serveur dans le fichier /etc/openvpn/openvpn-status.log.
On aura, par exemple, les informations suivantes:
OpenVPN CLIENT LIST Updated,Fri Jan 21 15:48:06 2011 Common Name,Real Address,Bytes Received,Bytes Sent,Connected Since client1,27.12.245.248:10086,306367,620864,Fri Jan 21 13:58:25 2011 ROUTING TABLE Virtual Address,Common Name,Real Address,Last Ref 10.8.0.10,client1,27.12.245.248:10086,Fri Jan 21 15:47:14 2011 GLOBAL STATS Max bcast/mcast queue length,0 END
Installer les VMware Tools sur une Debian c'est très simple
Subscribe to our email newsletter to receive useful articles and special offers.
We won't share your email address.
Ab fab my gooldy man.