Skip to content

OpenVPN

OpenVPN published on Aucun commentaire sur OpenVPN

Installation OpenVPN :openvpn

Article non finalisé !!

Vous pouvez installer Webmin en premier.

1- Installation OpenVPN :

– apt-get install openvpn openssl

2- Préparation du serveur :

– Créer le dossier easy-rsa :

1
mkdir /etc/openvpn/easy-rsa/

– Copier les fichiers de configuration : cp -r /usr/share/doc/openvpn/examples/easy-rsa/2.0/* /etc/openvpn/easy-rsa/

3- Configuration du serveur :

– Éditer le fichier

1
 /etc/openvpn/easy-rsa/vars :

1
nano /etc/openvpn/easy-rsa/vars



1
2
3
4
5
6
Export KEY_DIR=$D/keys
Export KEY_COUNTRY=FR
Export KEY_PROVINCE=FR
Export KEY_CITY=Lille
Export KEY_ORG=example
Export KEY_EMAIL=example@yoyo.org

1
 - Initialiser les variables :
  • 1
     

    cd /etc/openvpn/easy-rsa/

  • source vars
  • ./clean-all

4- Génération clés et certificats racine :

  • 1
     Génération du <span style="color: #99cc00;">certificat racine</span> "ca.cert" et de la <span style="color: #99cc00;">clé d'autorité de certification racine</span> "ca.key" dans le dossier /etc/openvpn/easy-rsa/keys.
    • ./build-ca

5- Génération clé et certificat serveur :

  • 1
    Génération du <span style="color: #99cc00;">certificat racine</span> "Nomduserveur.cert" et de la <span style="color: #99cc00;">clé d'autorité de certification racine</span> "Nomduserveur.key" dans le dossier /etc/openvpn/easy-rsa/keys.
  • Il faut se trouver dans le dossier /etc/openvpn/easy-rsa.
    • ./build-key-server Nomduserveur (ex:svrvpn)
      • Au prompt :
        • “sign this certificate”, répondre Y
        • “1 out of 1 certificate requests certificated, commit”, répondre Y

6- Génération des paramètres de Diffie-Hellman :

  • Génération du fichier
    1
    "

    dh1024.pem

    1
    "
    1
    dans le dossier /etc/openvpn/easy-rsa/keys.
  • Il faut se trouver dans le dossier /etc/openvpn/easy-rsa.
    • ./build-dh

7- Génération d’une clé statique :

Cette clé permet de prévenir les attaques

1
"

Man in the middle

1
"

.

  • Génération d’une clé
    1
    "

    ta.key

    1
    "
    1
    dans le dossier /etc/openvpn/easy-rsa/keys

    .

    • Il faut se trouver dans le dossier /etc/openvpn/easy-rsa.
      • 1
        <span class="text">openvpn --genkey --secret keys/ta.key</span>

 8- Edition du fichier de configuration du serveur :

  • Copier :
    • 
      
      
      1
      cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz /etc/openvpn/
    • 
      
      
      1
      cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf /etc/openvpn/
    • 
      
      
      1
      gunzip /etc/openvpn/server.conf.gz
  • Editer server.conf : nano /etc/openvpn/server.conf

local “IP du serveur VPN”
dev tun
proto tcp
port 1188

ca /etc/openvpn/easy-rsa/keys/ca.crt
cert /etc/openvpn/easy-rsa/keys/NomduCertificat.crt
key /etc/openvpn/easy-rsa/keys/NomduCertificat.key
dh /etc/openvpn/easy-rsa/keys/dh1024.pem

server 10.8.0.0 255.255.255.0
ifconfig 10.8.0.1 10.8.0.2

push “redirect-gateway def1”
push “route 10.8.0.1 255.255.255.255” # route vers le serveur VPN
push “route 10.8.0.0 255.255.255.0” # route vers le sous-réseau VPN
push “route 192.168.0.125 255.255.255.0” #sous-réseau local – adaptez l’adresse IP locale de votre serveur
push “dhcp-option DNS 89.2.0.1” # Par exemple le serveur dns primaire de Numericable

client-to-client

duplicate-cn

keepalive 10 120
comp-lzo

persist-key
persist-tun

status /var/log/openvpn-status.log
log /var/log/openvpn.log

 


  • Editer /etc/sysctl.conf afin d’autoriser le Forwarding IPV4 entre les deux réseaux :
    • nano /etc/sysctl.conf
    • Décommenter la ligne :
      • Avant : #net.ipv4.ip_forward=1
      • Après : net.ipv4.ip_forward=1
    • Lancer la commander :
      1
      <span class="text">sysctl -p</span>

      ou rebooter le serveur.

  • Règle Firewall : Merci pour à Open-Freax.
    • Editer le fichier /etc/firewall-openvpn-rules.sh : nano /etc/firewall-openvpn-rules.sh
      • #!/bin/sh
        iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -j SNAT --to-source "IP de votre serveur VPN"
      • 
        
        1
        <span class="text">chmod 700 /etc/firewall-openvpn-rules.sh</span>
      • 
        
        1
        <span class="text">chown root /etc/firewall-openvpn-rules.sh</span>
    • Editer  :
      
      
      1
      <span class="text">nano /etc/network/interfaces</span>
      • En ajoutant cette ligne :
        1
        <span class="text">pre-up /etc/firewall-openvpn-rules.sh</span>

        entre iface eth0 inet static et address X.X.X.X

    • Reboot du serveur

9- Génération clé et certificat client :

  • cd /etc/openvpn/easy-rsa/
  • ./build-key gilles (par exemple)

Une fois tous les clients créés, il faut transférer dur le poste client:

  • ca.crt
  • USER.crt
  • USER.key
  • ta.key

10- Monitoring : Merci Troublenow

Créer le fichier openvpn-status en collant le texte ci-dessous : nano /usr/local/bin/openvpn-status


#!/usr/bin/env python
# -*- coding: utf-8 -*-
 
STATUS = "/var/log/openvpn-status.log"
 
status_file = open(STATUS, 'r')
stats = status_file.readlines()
status_file.close()
 
hosts = []
 
headers = {
    'cn':    'Common Name',
    'virt':  'Virtual Address',
    'real':  'Real Address',
    'sent':  'Sent',
    'recv':  'Received',
    'since': 'Connected Since'
}
 
sizes = [
    (1<<50L, 'PB'),
    (1<<40L, 'TB'),
    (1<<30L, 'GB'),
    (1<<20L, 'MB'),
    (1<<10L, 'KB'),
    (1,       'B')
]
 
def byte2str(size):
    for f, suf in sizes:
        if size >= f:
            break
 
    return "%.2f %s" % (size / float(f), suf)
 
for line in stats:
    cols = line.split(',')
 
    if len(cols) == 5 and not line.startswith('Common Name'):
        host  = {}
        host['cn']    = cols[0]
        host['real']  = cols[1].split(':')[0]
        host['recv']  = byte2str(int(cols[2]))
        host['sent']  = byte2str(int(cols[3]))
        host['since'] = cols[4].strip()
        hosts.append(host)
 
    if len(cols) == 4 and not line.startswith('Virtual Address'):
        for h in hosts:
            if h['cn'] == cols[1]:
                h['virt'] = cols[0]
 
fmt = "%(cn)-25s %(virt)-18s %(real)-15s %(sent)13s %(recv)13s %(since)25s"
print fmt % headers
print "\n".join([fmt % h for h in hosts])

  • chmod 700 /usr/local/bin/openvpn-status
  • Pour visualiser lancer la commande :
    chmod 700 /usr/local/bin/openvpn-status

 La suite plus tard ……….

VMware Kill VM

VMware Kill VM published on Aucun commentaire sur VMware Kill VM

 

 

 

 

Il arrive qu’une vm ne réponde plus et qu’il soit impossible de la fermer proprement depuis l’hyperviseur.

– Se connecter en Putty sur l’IP de l’hyperviseur.

– esxcli vm process list

Il faut récupérer l’ID de la machine concernée.

– esxcli vm process kill –type=force –world-id=ID (de la machine plantée)

Installation Webmin

Installation Webmin published on Aucun commentaire sur Installation Webmin

Installation Webmin 1.881 :

webminlogo1a

– Installation des dépendances:

apt-get -y install perl libnet-ssleay-perl openssl libauthen-pam-perl libpam-runtime libio-pty-perl apt-show-versions python

– Récupération de webmin:

cd /tmp

wget http://prdownloads.sourceforge.net/webadmin/webmin_1.881_all.deb

dpkg –install webmin_1.881_all.deb

 Ou installation par reprository :

  • Ajouter à /etc/apt/sources.list : deb https://download.webmin.com/download/repository sarge contrib
  • Récupérer la clé GPG :
    • wget http://www.webmin.com/jcameron-key.asc
    • apt-key add jcameron-key.asc
  • Installer apt-transport-https si pas déjà fait : apt-get install apt-transport-https
  • Updater les paquets : apt-get update
  • Installer Webmin : apt-get install webmin

 

– Il ne reste plus qu’a se connecter à https://IPSERVEUR:10000