devildant Posté(e) le 20 décembre 2012 Partager Posté(e) le 20 décembre 2012 (modifié) Bonjour, voila tous est dans le titre ^^. j'ai déjà pauser plus ou moins la question sur se mais je pense que lui faire sujet a part est une bonne chose. cela fait quelques jour que je passe a lire la doc de haproxy et d'affiner la configuration en fonction de mes besoins, donc après avoir fait se que je voulais je me pause devant un problème: Comme avec le reverse proxy dsm, filestation, webdav.... ne reconnait pas l'ip réel du client qui c'est connecter. au lieux de celle ci il voit l'ip local du serveur lui même. (ce qui est normal car REMOTE_ADDR contient l'ip de connexion qui est l'ip utiliser dans haproxy ou reverse proxy pour se connecter au serveur) cette non prise en compte cause 2 soucis : - les log du syno sont faussé car l'ip de connexion est l'ip local - si le blocage des ip est activer le syno va se bloquer lui même j'ai essayer plusieurs piste pour corriger le problème : 1) en modifiant le php.ini du syno en ajoutant la ligne de code suivant : auto_prepend_file = /volume1/web/reverse/ip.php avec le code php (ip.php) if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) { $_SERVER['REMOTE_ADDR'] = $_SERVER['HTTP_X_FORWARDED_FOR']; } cette technique a le mérite de fonctionner avec webstation et photostation, mais cela ne fonctionne absolument pas avec DSM.... 2) en modifiant le httpd.conf en lui ajoutant ce code : SetEnvIf X-FORWARDED-FOR (.*) REMOTE_ADDR=$1 mais cela n'as encore aucun effet sur DSM.... 3) directement avec haproxy avec l'option sources backend transparent_ssl3 # Connect to the SSL farm from the client's source address. It # is more conntrack-friendly. source 192.168.1.200 usesrc clientip mais impossible de lancé haproxy avec cette option car apparemment il faut que TPROXY soit compiler (voir ici) je suis a cours d'idée, auriez vous des piste? solution? je suis sur de ne pas être le seul a vouloir des log correct et un blocage d'ip qui marche ^^ cordialement Modifié le 20 décembre 2012 par devildant 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
psuken Posté(e) le 21 décembre 2012 Partager Posté(e) le 21 décembre 2012 En effet tu n'es pas le seul... Perso je ne veux pas modifier le php.ini pour ne pas avoir à le refaire à chaque update donc si tu trouves une solution dans la config d'HAProxy, je suis preneur ! 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Diaoul Posté(e) le 21 décembre 2012 Partager Posté(e) le 21 décembre 2012 Pour moi le plus propre serait que Synology prenne en compte le header HTTP_X_FORWARDED_FOR lorsqu'une requête arrive depuis localhost. Les autres applications savent très bien faire ça. 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
devildant Posté(e) le 21 décembre 2012 Auteur Partager Posté(e) le 21 décembre 2012 En effet tu n'es pas le seul... Perso je ne veux pas modifier le php.ini pour ne pas avoir à le refaire à chaque update donc si tu trouves une solution dans la config d'HAProxy, je suis preneur ! je suis d'accord avec vous c'est dommage de re modifier la conf a chaque update, car c'est l'avantage avec haproxy, on a plus rien a faire ^^ Pour moi le plus propre serait que Synology prenne en compte le header HTTP_X_FORWARDED_FOR lorsqu'une requête arrive depuis localhost. Les autres applications savent très bien faire ça. je suis également d'accord avec vous surtout que c'est qu'un if ou 2 a mettre (il pourrais en plus géré le HTTP_X_FORWARDED_PROTO qui contient soit http soit https ). après le seul souci c'est qu'il faut qu'il accepte de l'ajouter donc si on veux voir cette fonction va falloir être plusieurs a faire la demande. ensuite si il accepte on ne l'aura pas tous tous de suite ^^. il vas donc falloir qu'on soit beaucoup a demander cette fonction http://www.synology.com/company/contact_us.php?lang=fre. sur se sujet je cherche aussi une alternative même si je dois modifier la conf pendant un moment ^^ 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
devildant Posté(e) le 21 décembre 2012 Auteur Partager Posté(e) le 21 décembre 2012 (modifié) sinon TPROXY serais compliquer a compiler et a ajouter avec haproxy? (c'est une simple question) car l'option de transparence du proxy semble intéressante (commande source au lieux de server) doc ici backend transparent_ssl1 # Connect to the SSL farm from the client's source address source 192.168.1.200 usesrc clientip Modifié le 21 décembre 2012 par devildant 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Diaoul Posté(e) le 21 décembre 2012 Partager Posté(e) le 21 décembre 2012 Je vais regarder ça. 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Diaoul Posté(e) le 21 décembre 2012 Partager Posté(e) le 21 décembre 2012 (modifié) J'ai compilé avec TPROXY, donne moi ton email par MP que je te l'envoie afin que tu testes. Modifié le 21 décembre 2012 par Diaoul 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
devildant Posté(e) le 21 décembre 2012 Auteur Partager Posté(e) le 21 décembre 2012 email envoyer merci Diaoul, je ferais un retour des que j'aurais testé 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
devildant Posté(e) le 21 décembre 2012 Auteur Partager Posté(e) le 21 décembre 2012 bon alors suite a ma conversation avec Diaoul, il semblerais que TPROXY implique beaucoup trop de modification system, je ne vais donc pas tenté le diable en bidouillant mes fichiers de conf 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
jee27 Posté(e) le 29 décembre 2012 Partager Posté(e) le 29 décembre 2012 (modifié) je suis aussi interessé par l'affichage des vraies ip dans les logs ..( j'ai vu ca http://blog.loadbalancer.org/configure-haproxy-with-tproxy-kernel-for-full-transparent-proxy/ ) Une chance que cette fonction soie développée aussi ? Modifié le 29 décembre 2012 par jee27 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Diaoul Posté(e) le 29 décembre 2012 Partager Posté(e) le 29 décembre 2012 Non mais Synology m'a confirmé travailler sur le blocage de la bonne IP lorsque ça passe par HAProxy. 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Petit_bill Posté(e) le 28 février 2013 Partager Posté(e) le 28 février 2013 Bonjour Et merci a tous pour le développement de cette fonction... je reste en attente 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
devildant Posté(e) le 21 mars 2013 Auteur Partager Posté(e) le 21 mars 2013 Bonjour a tous, je viens de passé en DSM 4.2 (je sais j'ai mit du temps mais je voulais être sur qu'elle était stable ^^) j'ai testé a nouveau le blocage des ip et la miracle c'est la bonne ip qui est bloquer, j'ai put teste qu'en local je verais plus en détaille demain. en tous cas si je n'est pas halluciné MERCI SYNOLOGY ^^ et également merci a diaoul pour cette excelent package et pour avoir contacté synology. 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
jee27 Posté(e) le 22 mars 2013 Partager Posté(e) le 22 mars 2013 bizzare, moi je viens de me logger à dsm via happroxy et j'ai tjrs 127.0.0.1..( dans la fenetre "journaux récents" sur le bureau dsm ) 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
psuken Posté(e) le 22 mars 2013 Partager Posté(e) le 22 mars 2013 Bonjour a tous, je viens de passé en DSM 4.2 (je sais j'ai mit du temps mais je voulais être sur qu'elle était stable ^^) j'ai testé a nouveau le blocage des ip et la miracle c'est la bonne ip qui est bloquer, j'ai put teste qu'en local je verais plus en détaille demain. en tous cas si je n'est pas halluciné MERCI SYNOLOGY ^^ et également merci a diaoul pour cette excelent package et pour avoir contacté synology. Salut, As-tu toujours le auto_append dans ton php.ini? 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
devildant Posté(e) le 22 mars 2013 Auteur Partager Posté(e) le 22 mars 2013 bizzare, moi je viens de me logger à dsm via happroxy et j'ai tjrs 127.0.0.1..( dans la fenetre "journaux récents" sur le bureau dsm ) Salut, As-tu toujours le auto_append dans ton php.ini? bonjour, cela est très étrange, moi maintenant la bonne ip est toujours catcher, j'ai vérifier ma conf dans le php.ini a été supprimer depuis la maj (auto_append vide dans php.ini). je pense que nous devons avoir une config haproxy différente 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
devildant Posté(e) le 22 mars 2013 Auteur Partager Posté(e) le 22 mars 2013 (modifié) global daemon maxconn 256 log localhost user info spread-checks 10 defaults mode http stats enable default-server inter 30s fastinter 5s 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 admin:xxxxx frontend http bind :5080 option http-server-close option forwardfor reqadd X-Forwarded-Proto: http redirect scheme https default_backend web frontend httplocal bind :5081 option http-server-close option forwardfor reqadd X-Forwarded-Proto: http default_backend web frontend https bind :5443 ssl crt /usr/local/haproxy/var/crt/default.pemoption http-server-closeoption forwardfor acl photochecker url_beg /photo/ acl photopersochecker url_reg ~S+S+ acl localcheck hdr_beg(Host) -i 192. acl valid_domains hdr_end(host) -i domainename.fr hdr_end(host) -i dyndns.fr acl otherchecker url_beg /mail url_beg /phpMyAdmin/reqadd X-Forwarded-Proto: https rspirep ^Location: http://(.*)$ Location: https://1 use_backend web if photochecker || photopersochecker || otherchecker use_backend webdav if { hdr_beg(Host) -i webdav. } use_backend haproxy if { hdr_beg(Host) -i haproxy. } use_backend station if { hdr_beg(Host) -i station. } use_backend DSMIP if !valid_domains localcheck default_backend webSSL frontend httpslocal bind :5444 ssl crt /usr/local/haproxy/var/crt/default.pemoption http-server-closeoption forwardforreqadd X-Forwarded-Proto: https rspirep ^Location: http://(.*)$ Location: https://1 default_backend webSSL backend web server www localhost: check backend webdav server webdav 192.168.1.25:5006 ssl check backend haproxy server haproxy 192.168.1.25:8280 check backend station server station 192.168.1.25:5001 ssl check backend DSMIP server diskstation 192.168.1.25:5001 ssl check backend webSSL server www localhost:443 ssl check Modifié le 22 mars 2013 par devildant 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
maitryoda Posté(e) le 27 mars 2013 Partager Posté(e) le 27 mars 2013 bonjour, Bizarre, dans mon cas: - si le login est valide: dans syslog, j'ai une entrée haproxy avec la bonne IP dans les journaux systèmes, la connexion n'apparait pas - si le login est invalide: dans syslog et dans les journaux systèmes, j'ai une entrée "Warning login incorrect J'ai pourtant laissé la configuration de base de haproxy 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
devildant Posté(e) le 28 mars 2013 Auteur Partager Posté(e) le 28 mars 2013 quels est votre conf? 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
maitryoda Posté(e) le 28 mars 2013 Partager Posté(e) le 28 mars 2013 (modifié) Bonjour, Merci de ton attention. Par contre, où est caché le fichier de conf de Haproxy? j'ai fait une recherche hier sur le syno, mais je ne l'ai pas trouvé Modifié le 28 mars 2013 par maitryoda 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
devildant Posté(e) le 29 mars 2013 Auteur Partager Posté(e) le 29 mars 2013 bonsoir, il se trouve dans /var/packages/haproxy/target/var il y a le fichier tpl de base qui contient la conf par default (haproxy.cfg.tpl) et le fichier haproxy.cfg qui contient votre config global, c'est celui la qu'il faudrait que je vois 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
maitryoda Posté(e) le 29 mars 2013 Partager Posté(e) le 29 mars 2013 (modifié) bonjour, J'ai oublié de préciser que je n'utilisait que le frontend https. Ci-joint mon haproxy.cfg: global daemon maxconn 256 log localhost user info spread-checks 10 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 admin:xxxxxxxxxxxxxxxx frontend http bind :5080 option http-server-close option forwardfor default_backend web frontend https bind :5443 ssl crt /usr/local/haproxy/var/crt/default.pem option http-server-close option forwardfor rspirep ^Location: http://(.*)$ Location: https://1 use_backend dsm if { hdr_beg(Host) -i dsm. } use_backend webdav if { hdr_beg(Host) -i webdav. } use_backend audio if { hdr_beg(Host) -i audio. } use_backend download if { hdr_beg(Host) -i download. } use_backend video if { hdr_beg(Host) -i video. } use_backend file if { hdr_beg(Host) -i file. } default_backend web backend web server web localhost: check backend dsm server dsm localhost:5000 check backend sabnzbd server sabnzbd localhost:8080 check backend nzbget server nzbget localhost:6789 check backend sickbeard server sickbeard localhost:8081 check backend couchpotatoserver server couchpotatoserver localhost:5050 check backend headphones server headphones localhost:8181 check backend maraschino server maraschino localhost:8260 check backend znc server znc localhost:8250 check backend transmission server transmission localhost:9091 check backend gateone server gateone localhost:8271 ssl check backend webdav server webdav localhost:5005 check backend audio server audio localhost:8800 check backend download server download localhost:8000 check backend surveillance server surveillance localhost:9900 check backend video server video localhost:9007 check backend file server file localhost:7000 check backend haproxy server haproxy localhost:8280 check backend deluge server deluge localhost:8112 check Modifié le 29 mars 2013 par maitryoda 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
devildant Posté(e) le 29 mars 2013 Auteur Partager Posté(e) le 29 mars 2013 bonjour, ajouter deja a vos frontend http: reqadd X-Forwarded-Proto: http https: reqadd X-Forwarded-Proto: https (cela permet de spécifier dans les header si il s'agit d'http ou https) ensuite essayer de passer votre backend dsm server dsm localhost:5000 check en backend dsm server dsm localhost:5001 ssl check et faite vous bannir de dsm pour voir si la bonne ip est prise en compte 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Diaoul Posté(e) le 29 mars 2013 Partager Posté(e) le 29 mars 2013 Quel est l'intérêt de passer sur le port 5001 en SSL ? Ca ne va rien sécuriser du tout. 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
devildant Posté(e) le 29 mars 2013 Auteur Partager Posté(e) le 29 mars 2013 (modifié) Quel est l'intérêt de passer sur le port 5001 en SSL ? Ca ne va rien sécuriser du tout. bonjour diaoul, se n'est pas pour sécuriser, actuelement pour moi depuis la maj j'ai la bonne ip qui apparais dans les log/blocage dans DSM et maitryoda qui dispose de la config de base de haproxy rencontre des problèmes avec le catch de la bonne ip. j'essaye donc de voir quels sont les diff entre ma conf et la sienne afin de voir se qui pourrais pauser problème. après personnellement utilisé le backend en ssl pour dsm m'as permit de corriger un problème avec les applets de DSM (upload au drag&drop et la liste local), pour la partie web (webSSL dans ma conf) l'utilisation d'un backend en ssl m'as permit également de pouvoir gérer le forçage du ssl via un htaccess. Modifié le 29 mars 2013 par devildant 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
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.