Aller au contenu

Messages recommandés

Posté(e)

Bonjour à tous je suis en train de configurer mon nas synology,et j'aurais besoin d'un petit coup de pouce, je vous explique:

étant chez orange j'ai une ip dynamique, j'ai donc pris un DynDNS, et un NDD avec plusieurs sous-domaines pointant vers le DynDNS

et je voudrais utiliser Haproxy pour faire du reverse proxy et accéder a mes différents services,

actuellement tout le trafic est redirigé en https, les sites sont accessibles mais avec le message d'erreur car le certificat utilisé est le cert. par default

J'ai créé des certificats pour chaque sous domaines que j'ai concaténés avec la commande suivante:

cat certificat intermediaire key > sousdomaine.domaine.tld.pem

mais je ne sais pas comment les activer pour chaque sous-domaine, donc voici mes questions:

-1: Comment attribuer 1 certificat à chaque backend

-2: Comment réécrire une adresse, je voudrais que:

www.domaine.tld me dirige sur localhost:80/wordpress

photos.domaine.tld dirige sur  localhost:80/photo

plex.domaine.tld dirige sur localhost:32400/web     

-3 (Question bonus) Reverse proxyfier du TCP pour un serveur minecraft et mumble ?      

 

Voici mon fichier haproxy.cfg

Et merci d'avance à tous ceux qui pourront/voudront bien m'aider                

global
        user haproxy
        daemon
        maxconn 256
        log localhost user info
        spread-checks 10
        tune.ssl.default-dh-param 2048

defaults
        mode http
        stats enable
        default-server inter 30s fastinter 5s
        log global
        option httplog
        timeout connect 5s
        timeout client 50s
        timeout server 50s
        timeout tunnel 1h

listen stats :8280
        stats uri /
        stats show-legends
        stats refresh 10s
        stats realm Haproxy\ Statistics
        stats auth ###
frontend http
        bind :5080
        option http-server-close
        option forwardfor
        redirect scheme https unless { hdr_beg(Host) -i  }
        default_backend www

frontend https
        bind :5443 ssl crt /usr/local/haproxy/var/crt/default.pem ciphers AESGCM+AES128:AES128:AESGCM+AES256:AES$
        option http-server-close
        option forwardfor
        rspirep ^Location:\ http://(.*)$    Location:\ https://\1
        rspadd Strict-Transport-Security:\ max-age=31536000;\ includeSubDomains
        use_backend www if { hdr_beg(Host) -i www. }
        use_backend dsm if { hdr_beg(Host) -i dsm. }
        use_backend sick if { hdr_beg(Host) -i sick. }
        use_backend webdav if { hdr_beg(Host) -i webdav. }
        use_backend audio if { hdr_beg(Host) -i audio. }
        use_backend files if { hdr_beg(Host) -i files. }
        use_backend haproxy if { hdr_beg(Host) -i haproxy. }
        use_backend photos if { hdr_beg(Host) -i photos. }
        use_backend sync if { hdr_beg(Host) -i sync. }
        use_backend plex if { hdr_beg(Host) -i plex. }
        default_backend www

backend www
        server www localhost:80 check

backend dsm
        server dsm localhost:5000 check

backend sick
        server sick localhost:8083 check

backend webdav
        server webdav localhost:5005 check

backend audio
        server audio localhost:8800 check

backend files
        server files localhost:7000 check

backend haproxy
        server haproxy localhost:8280 check

backend photos
        server photos localhost:80 check

backend sync
        server sync localhost:7070 check

backend plex
        server plex localhost:32400 check

Posté(e)
Il y a 8 heures, samnawak a dit :

bind :5443 ssl crt /usr/local/haproxy/var/crt/default.pem ciphers AESGCM+AES128:AES128:AESGCM+AES256:AES$

cette ligne comprend une erreur : le "$" en trop et est une vrai passoire nivau securité !

EECDH+CHACHA20:EECDH+AES128:EECDH+AES256

ca ca serai deja mieux

et pour les certificat multiple, il suffit de declarer le repartoire ou sont les certificats

Posté(e) (modifié)

Merci Gaetan, après avoir continué mes recherches (ce post m'ayant permis d'avoir les idées au clair)

Il semblerait que j'ai trouvé une solution pour la question 1: pour plusieurs certificats ssl, j'ai utilisé

bind :5443 ssl crt /chemin/versles/certs/

 avec a l’intérieur les certs au format "xxx.domain.tld.pem", mais j'ai viré "ciphers"

use_backend backend_xxx.domain.tld if { ssl_fc_sni xxx.domain.tld }

pour la 2, j'ai mis un vhost dans apache pour le wordpress ça marche nickel, mais je n'ai pas réussi pour photo station, j'ai donc mis en place un système de redirection grâce a mon registar

Des idées pour la 3 ?

D'ailleurs j'ai des questions a propos de plex et sickrage, ils ne demandent pas de login et son en acces libre pour n'importe qui,
Des façons de sécuriser ça ?

 

Modifié par samnawak
  • 3 semaines après...
Posté(e)

Bonjour,

Pour ta question 3 je ne sais pas.

Pour la sécurité, dans SickRage tu peux définir un mot de passe pour l'accès à l'interface web sous General Configuration --> Interface --> Http username & Password

Sinon de façon plus général, dans Haproxy tu peux faire une protection avec un mot de passe (authentification à la .htaccess d'Apache)  :

  1. Arrête le service haproxy
  2. Edite le fichier /usr/local/haproxy/var/haproxy.cfg.tpl (c'est le fichier de la configuration que l'on ne peux pas éditer par l'interface et qui est recopier a chaque fois que l'on clique sur écriture dans le logiciel) et ajouter à la fin :
Citation

userlist my_users
        user utilisateur insecure-password motdepasse

En remplaçant utilisateur et motdepasse par tes informations.

   3. Ensuite aller dans l'interface de haproxy et ajouter cette ligne en option du backend :

acl auth_access http_auth(my_users), http-request auth realm Authentification if !auth_access
 

Pour revenir sur ta question 1, startssl propose maintenant un certificat unique gérant jusqu'à 5 nom de sous-domaine et gratuitement :biggrin:

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.