OpenVPN configuration !

Bonjour à toutes et tous,

Je possède un serveur dédié chez OVH avec lequel j’aimerais mettre en place de manière sécurisé, l’accès à certains de mes sites internet comme par exemple, phpMyAdmin, Cacti etc.

J’ai entendu dire sur internet qu’on pouvait donc créer un tunnel VPN avec OpenVPN, qui permet d’avoir accès aux sites cités plus haut en ayant seulement l’IP fourni par le VPN.

Du coup, toutes personnes n’ayant pas un couple de clé privée/publique n’aura jamais la possibilité d’atteindre les sites sur l’adresse IP de mon serveur et le port 80 (HTTP).

Pour tout le monde, les sites n’existeraient pas mais seulement pour le client du VPN.

Je sais pas si je me suis exprimé correctement et que vous m’aurez compris !!!

En vous remerciant de m’avoir lu.

Cordialement
Rathorian

Oui, mais un tunnel IP complet n’est pas nécessaire pour ce que tu veux faire. Un simple transfert de port avec ssh (option -L) suffirait.

transfèrerait les connexions TCP au port 8000 local (127.0.0.1:8000) vers le port 80 du serveur.

Bonsoir PascalHambourg,

Tout d’abord merci d’intervenir sur mon petit problème.

Je suis plus ou moins débutant dans le domaine des serveurs dédiés et j’ai donc quelques lacunes pour comprendre la manière d’effectué se que tu me proposes.

Je pourrais avoir un peu plus d’explications s’il te plait ?

Sachant que je souhaiterais avoir accès à ses sites en déplacement via mon ordinateur portable.

Merci
Cordialement

Pour gérer ton serveur dédié, tu te connectes bien avec ssh ?
Là c’est pareil, il suffit d’ajouter l’option à la ligne de commande de ssh.

Je veux bien te croire, mais je vois aucun rapport avec les sites internet et SSH.
Sans explications, c’est confus se que tu me proposes !!!

Depuis le poste client tu lances la connexion SSH avec la commande que j’ai donnée, en supposant que rien n’écoute déjà sur le port local 8000.
Si tu te connectes ensuite au port 8000 du client par exemple avec 127.0.0.1:8000, la connexion sera transférée par SSH sur le port 80 du serveur.
C’est assez clair ?

Oui merci Pascal !
Je vais voir tout ça.

Cordialement

Bonjour à toutes et tous,

Je me permet de relancer le sujet car la solution de “PascalHambourg” ne me convient pas.
Je souhaite réellement mettre en place un serveur OpenVPN pour accéder à mes sites privés.

J’ai encore cherché depuis mon dernier message sur ce topic et je n’ai encore rien trouvé de concluant.
D’habitude on dit que tout est déjà arrivé ou expliqué sur google vu la population d’aujourd’hui, mais très honnêtement je trouve pas mon bonheur.

Quelqu’un pourrait-il me donner un coup de main s’il vous plait ?

Merci
Cordialement

Il y a de nombreux tutoriels sur l’installation de OpenVPN.
Essaie déjà de mettre en place ton serveur en posant tes questions si nécessaire :doh: .

Voici quelques lien qui devraient t’aider :wink: :
blog.tifab.info/installer-openvp … n-squeeze/
isalo.org/wiki.debian-fr/Serveur_OpenVPN
my1.fr/blog/creer-son-serveur-vpn-sous-debian/

[quote=“Rathorian”]Bonjour à toutes et tous,

Je me permet de relancer le sujet car la solution de “PascalHambourg” ne me convient pas.
Je souhaite réellement mettre en place un serveur OpenVPN pour accéder à mes sites privés.

J’ai encore cherché depuis mon dernier message sur ce topic et je n’ai encore rien trouvé de concluant.
D’habitude on dit que tout est déjà arrivé ou expliqué sur google vu la population d’aujourd’hui, mais très honnêtement je trouve pas mon bonheur.

Quelqu’un pourrait-il me donner un coup de main s’il vous plait ?

Merci
Cordialement[/quote]

Tu es bien sûr que ce que t’a proposé Pascal ne te suffit pas ? ou tu n’y est pas arrivé ?

linux-france.org/prj/edu/arc … 13s04.html

Par ce qu’il est pleinement faisable d’atteindre tes backoffice de cette façon.

L’avantage c’est que tu pourra à terme te mettre ne place des alias te permettant ensuite de te connecter rapidement.

Bonjour ben_raven,

Pour commencer, je voudrais te remercier d’intervenir sur mon sujet qui est un problème pour moi depuis plusieurs mois. 8)

J’ai du faire une recherche avec des dizaines et des dizaines de résultats qui permettent principalement de faire de la navigation sur internet en mode privée, comme les liens que tu m’as indiqué mais en aucun cas se que je souhaite réaliser.

J’ai déjà fait plusieurs installations sans parvenir à mes fins.

Je vais donc te montrer tout mes fichiers de configuration “openvpn” installé en ce moment sur mon serveur pour vous prouvez que j’ai cherché sans trouver mon bonheur :wink: .

Mon fichier “/etc/openvpn/server.conf” :

[code]# Port OpenVPN
port 1194

Protocole de connexion

proto udp

Mode Bridge

dev tap

Certificats et Clés

ca keys/ca.crt
cert keys/server.crt
key keys/server.key
dh keys/dh2048.pem
tls-auth keys/ta.key 0

“DHCP” Interne - [@serveur] [mask] [@pool_début @pool_fin]

server-bridge 10.42.2.254 255.255.255.0 10.42.2.10 10.42.2.250

Sécurité

cipher AES-256-CBC
chroot /etc/openvpn/jail
client-config-dir ccd
ccd-exclusive
keepalive 10 120
max-clients 10
user nobody
group nogroup

Compression

comp-lzo

Garde la configuration au reboot

persist-key
persist-tun

Status des connexions

status openvpn-status.log

Fichier de logs

log-append /var/log/openvpn.log

Niveau de logs

verb 3

Nombres de messages à ne pas loguer quand ils se répètent

mute 20[/code]

Mon fichier de configuration pour un client windows ( coté serveur ) “/etc/openvpn/jail/ccd/pc-portable” :

ifconfig-push 10.42.2.30 255.255.255.0 push "dhcp-option DNS 10.42.0.250" push "dhcp-option DNS 10.42.0.251"

Mon fichier de configuration pour un client windows ( coté client ) ( pc-portable.ovpn ) :

[code]# Indique que c’est un client
client

Mode Bridge

dev tap

Protocole de connexion

proto udp

Indique l’Hôte à joindre et son port

remote XXX.XXX.XXX.XXX 1194

Essaye de résoudre le nom d’hôte indéfiniment

resolv-retry infinite

Certificats et clés

ca pc-portable/ca.crt
cert pc-portable/pc-portable.crt
key pc-portable/pc-portable.key
tls-auth pc-portable/ta.key 1

Sécurité

cipher AES-256-CBC
nobind

Garde la configuration au reboot

persist-key
persist-tun

Compression

comp-lzo

Niveau de logs

verb 3[/code]

Mon firewall ( Dans le cas ou j’aurais oublié quelques choses ) :

[code]#!/bin/sh

BEGIN INIT INFO

Provides: firewall

Required-Start: $remote_fs $syslog

Required-Stop: $remote_fs $syslog

Default-Start: 2 3 4 5

Default-Stop: 0 1 6

Short-Description: Lancement du Firewall

Description: Pare-feu du serveur

END INIT INFO

###############################################################################

FIREWALL

###############################################################################

Arret de fail2ban

/etc/init.d/fail2ban stop
echo " + Arret de Fail2ban : [OK]"

Reinitialisation des tables actuelles

iptables -t filter -F
iptables -t filter -X LOG_DROP_OUT
echo " + Suppression des regles existantes : [OK]"

Creations des regles de logs

iptables -N LOG_DROP_OUT
iptables -A LOG_DROP_OUT -j LOG --log-prefix '[IPTABLES DROP OUT] : ’
iptables -A LOG_DROP_OUT -j DROP
echo " + Creations des regles de logs : [OK]"

-------------------------------

Autorisation totale du Loopback

iptables -t filter -A INPUT -i lo -j ACCEPT
iptables -t filter -A OUTPUT -o lo -j ACCEPT
echo " + Autorisation totale du Loopback : [OK]"

Ne pas casser les connexions etablies

iptables -t filter -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -t filter -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
echo " + Garder les connexions existantes : [OK]"

ICMP (Ping)

iptables -t filter -A INPUT -p icmp -j ACCEPT
iptables -t filter -A OUTPUT -p icmp -j ACCEPT
echo " + Autorisation du Ping ICMP : [OK]"

MRTG OVH

iptables -t filter -A OUTPUT -d XXX.XXX.XXX.XXX -j ACCEPT
echo " + Autorisation MRTG OVH : [OK]"

OpenVPN

iptables -t filter -A INPUT -p udp --dport 1194 -j ACCEPT
iptables -t filter -A OUTPUT -p udp --dport 1194 -j ACCEPT
echo " + Autorisation OpenVPN : [OK]"

Drop de ports, trames invalides, IP’s

#iptables -t filter -A INPUT -p udp --dport 67 -j DROP
#iptables -t filter -A INPUT -p udp --dport 68 -j DROP

-------------------------------

Bloquage w00tw00t

iptables -t filter -I INPUT -d XXX.XXX.XXX.XXX -p tcp --dport 80 -m string --to 70 --algo bm --string ‘GET /w00tw00t.at.’ -j DROP

-------------------------------

SSH In/Out

iptables -t filter -A INPUT -p tcp --dport 2647 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp --dport 2647 -j ACCEPT
echo " + Ouverture SSH : [OK]"

DNS In/Out

#iptables -t filter -A INPUT -p tcp --dport 53 -j ACCEPT
#iptables -t filter -A INPUT -p udp --dport 53 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp --dport 53 -j ACCEPT
iptables -t filter -A OUTPUT -p udp --dport 53 -j ACCEPT
echo " + Fermeture Bind 9 : [OK]"

NTP Out

iptables -t filter -A OUTPUT -p udp --dport 123 -j ACCEPT
echo " + Ouverture NTP : [OK]"

Whois Out

iptables -t filter -A OUTPUT -p tcp --dport 43 -j ACCEPT
echo " + Ouverture Whois : [OK]"

Relais SMTP Gmail Out

iptables -t filter -A OUTPUT -p tcp --dport 587 -j ACCEPT
echo " + Ouverture SMTP Gmail : [OK]"

HTTP In/Out

iptables -t filter -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp --dport 80 -j ACCEPT
echo " + Ouverture HTTP : [OK]"

HTTPS In/Out

#iptables -t filter -A INPUT -p tcp --dport 443 -j ACCEPT
#iptables -t filter -A OUTPUT -p tcp --dport 443 -j ACCEPT
echo " + Ouverture HTTPS : [OK]"

-------------------------------

Initialisation des regles de log

iptables -A OUTPUT -j LOG_DROP_OUT
echo " + Initialisation des regles de log : [OK]"

Comportement par defaut de iptables

iptables -t filter -P INPUT DROP
iptables -t filter -P FORWARD DROP
iptables -t filter -P OUTPUT DROP
echo " + Comportement par defaut de iptables : [OK]"

Lancement de fail2ban

/etc/init.d/fail2ban start
echo " + Lancement de fail2ban : [OK]"

echo " + ======================== SCRIPT TERMINE! ========================="
echo " + Afficher la configuration de la table filter : ‘iptables -L -n -v’"
echo " + =================================================================="[/code]

Mon VirtualHost Apache pour le site que je veux protéger avec l’accès seulement par VPN :

[code]<VirtualHost 10.42.2.30:80>
ServerAdmin webmaster@localhost
ServerName XXX.XXXXXX.fr

    SuexecUserGroup phpmyadmin phpmyadmin

    DocumentRoot /home/phpmyadmin/www
    <Directory /home/phpmyadmin/www/>
            Options -Indexes -FollowSymLinks -MultiViews
            AllowOverride None
            Order allow,deny
            allow from all
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/XXX.XXXXXX.fr.error.log

    # Possible values include: debug, info, notice, warn, error, crit, alert, emerg.
    LogLevel warn

    CustomLog ${APACHE_LOG_DIR}/XXX.XXXXXX.fr.access.log combined

[/code]

Voilà, je crois avoir mis tout les fichiers de configurations.

J’arrive bien à me connecter au VPN, il m’attribue l’IP “10.42.2.30” à partir de mon client.
Mais quand j’essaye de rentrer le nom de domaine de mon VirtualHost dans la barre d’adresse, au lieu de m’afficher mon site, je suis redirigé sur le site “default” d’Apache ( le fameux It works! ).

J’espère sincèrement que vous pourrez m’aider !

Merci
Cordialement

Tu utilises quel client windows ?
Je te conseil OpenVPN GUI qui fonctionne très bien une fois paramétré.

openvpn.net/index.php/open-sour … loads.html

Tes clés et certifs sont indiquées dans ta conf qu’elles sont dans /etc/openvpn/keys … vérifie bien qu’elles ne soient pas dans dans /etc/openvpn/easy-rsa/keys auquel cas il faut modifier ton fichier de conf.

Il n’y a rien qui te choque là-dedans ? Pas un petite incohérence/confusion entre l’adresse du serveur et l’adresse du client ?

Compte tenu de ce que j’ai relevé ci-dessus, ce n’est pas surprenant.

Bonjour,

Les certificats et clés sont aux bonnes endroits, j’ai vérifié et j’arrive à me connecter au serveur VPN.
J’utilise comme logiciel OpenVPN GUI pour me connecter.

J’ai fait la modification de l’adresse IP sur le VirtualHost en mettant l’adresse IP de l’interface VPN qui est : 10.42.2.254
Le problème c’est que je suis débutant ( surtout en réseau ) donc avec toutes ces IP’s je me perds facilement.

Le problème persiste toujours malgré ce changement et je pense que c’est normal car l’interface TAP n’apparait pas quand je fais un “ifconfig” j’ai que ( eth0 et lo ).

J’ai bien essayé un “ifup tap” où “ifup tap0” mais j’ai que des messages du genre : Ignoring unknown interface tap0=tap0.

Je sais plus trop quoi faire en faite !

S’il n’y a pas d’interface tun/tap, alors le VPN n’est pas monté et je ne vois pas comment tu peux accéder à quoi que ce soit sur cette adresse depuis le client.

Pourtant j’arrive à me connecter depuis le client au serveur VPN :

Tue Feb 18 17:31:59 2014 Initialization Sequence Completed Tue Feb 18 17:31:59 2014 MANAGEMENT: >STATE:1392741119,CONNECTED,SUCCESS,10.42.2.30,XXX.XXX.XXX.XXX

même avis que PascalHambourg, ssh gère très bien tout ce qui est applications web, mais il faut lui indiquer de passer par le socks.

exemple:
ssh user@serveur -D 8080

et dans préférences/réseau de ton navigateur, tu mets 127.0.0.1 pour Hôte SOCKS4 ou 5 Port 8080 et tu coches SOCKSv4 ou SOCKSv5
cela fonctionnera parfaitement pour toutes tes applications web local (sites, phpmyadmin, etc…)

Je viens de voir qu’en faisant un “ifconfig -a” mon interface “tap0” apparait mais rien avec un “ifconfig” seul…

Je dois en déduire quoi ?

Merci
Cordialement

[quote=“Rathorian”]Je viens de voir qu’en faisant un “ifconfig -a” mon interface “tap0” apparait mais rien avec un “ifconfig” seul…

Je dois en déduire quoi ?

Merci
Cordialement[/quote]

Que tu n’a pas consulter le manuel de ifconfig :stuck_out_tongue:

http://www.delafond.org/traducmanfr/man/man8/ifconfig.8.html

-a    Afficher toutes les interfaces actuellement disponibles, même celles qui sont inactives. 

Donc oui ton interface tap est bien présente mais pas montée :033

Bonsoir,

Dans ce cas comment monter l’interface “tap0” car si j’essaye de faire “ifup tap0” ça me dit qu’il ne connait pas l’interface…

Merci