OpenVPN: Accès au serveur sur port 443 derrière un proxy HTTP - réseaux et sécurité - Linux et OS Alternatifs
Marsh Posté le 28-08-2017 à 13:11:13
En fouillant les logs côté serveur sslh identifie du ssh et non de l'openvpn quand la VM se connecte à travers le proxy ... L'encapsulation n'est donc pas transparente
Je vais essayer de trouver un moyen de corriger ça. En gros pour résumer:
OpenVPN Client(443) -> NAT(VirtualBox) -> HTTP Proxy -> Internet -> NAT(Livebox) -> SSLH -> OpenVPN Server(443)
Marsh Posté le 20-12-2017 à 10:45:08
Je réponds un peux tardivement.
Même problème rencontré.
Il faut ajouter ces règles dans le pare-feux:
echo " SSLH rules ..."
# 4430 https ssl
# 41194 openvpn
# 22345 ssh
iptables -t mangle -N SSLH
iptables -t mangle -A OUTPUT --protocol tcp --out-interface eth0 --sport 41194 --jump SSLH
iptables -t mangle -A OUTPUT --protocol tcp --out-interface eth0 --sport 4430 --jump SSLH
#iptables -t mangle -A OUTPUT --protocol tcp --out-interface eth0 --sport 22345 --jump SSLH
iptables -t mangle -A SSLH --jump MARK --set-mark 0x1
iptables -t mangle -A SSLH --jump ACCEPT
ip rule add fwmark 0x1 lookup 100
ip route add local 0.0.0.0/0 dev lo table 100
Marsh Posté le 20-12-2017 à 10:52:58
Merci pour la réponse
J'avais oublié avoir créé un topic pour ce souci. En fait le problème venait de sslh, fallait augmenter le timeout (--timeout 5) pour éviter qu'il forward trop vite les paquets vers le service par défaut (ssh). Là tout fonctionne ssh/https/ovpn sur 443 à travers le proxy.
Marsh Posté le 28-08-2017 à 10:17:07
Bonjour,
J’héberge un serveur OpenVPN@home sur une Debian 8. Les clients sont soit des terminaux mobile Android, soit des laptops W10/Debian et une VM (Virtualbox en mode NAT) derrière un Proxy HTTP, c'est elle qui pose maintenant problème.
Jusqu'à dernièrement, le serveur était configuré sur le port 1194 en proto TCP. Tout fonctionnait sans soucis, le client de la VM étant configuré comme suit:
client
dev tun
proto tcp
remote xxx.yyy.org 1194
http-proxy 10.11.12.13 8080
resolv-retry infinite
[...]
J'ai changé la configuration sur le serveur pour écouter sur le port 443 toujours en proto TCP et cette fois derrière un sslh (ssh/https/openvpn). Une fois sslh et les différents services correctement configurés, tout fonctionne correctement en changeant la config des clients OpenVPN (1194 -> 443). Sauf pour la VM:
client
dev tun
proto tcp
remote xxx.yyy.org 443
http-proxy 10.11.12.13 8080
resolv-retry infinite
[...]
J'ai le message suivant en me connectant:
Mon Aug 28 08:54:18 2017 Control Channel Authentication: tls-auth using INLINE static key file
Mon Aug 28 08:54:18 2017 Attempting to establish TCP connection with [AF_INET]10.11.12.13:8080 [nonblock]
Mon Aug 28 08:54:19 2017 TCP connection established with [AF_INET]10.11.12.13:8080
Mon Aug 28 08:54:21 2017 TCPv4_CLIENT link local: [undef]
Mon Aug 28 08:54:21 2017 TCPv4_CLIENT link remote: [AF_INET]10.11.12.13:8080
Mon Aug 28 08:54:21 2017 WARNING: Bad encapsulated packet length from peer (21331), which must be > 0 and <= 1560 -- please ensure that --tun-mtu or --link-mtu is equal on both peers -- this condition could also indicate a possible active attack on the TCP link -- [Attempting restart...]
Mon Aug 28 08:54:21 2017 Connection reset, restarting [0]
Mon Aug 28 08:54:21 2017 SIGUSR1[soft,connection-reset] received, process restarting
^CMon Aug 28 08:54:24 2017 SIGINT[hard,init_instance] received, process exiting
Ce n'est pas la config côté serveur qui pose problème car les mobiles/laptops se connectent normalement au VPN sur le port 443, donc c'est bien la VM (et probablement le Proxy) qui pose soucis.
D'un autre côté je peux me connecter en SSH au même serveur sur le port 443 depuis la VM via:
Host vmaccess
HostName xxx.yyy.org
User myuser
Port 443
ProxyCommand /usr/bin/corkscrew 10.11.12.13 8080 %h %p
Une idée ? Merci
---------------
Institutions européennes: Ensemble d'outils dont le but est de transformer une grande quantité d'argent en merde. Cette merde est utilisée pour créer de nouveaux fonctionnaires. L'argent restant payant des externes pour faire leur travail.