Affiche les résultats de 1 à 9 sur 9

Sujet : Mon reverse proxy est utilisé par des tiers ?

  1. #1
    Administrateur Administrateur Avatar de Doctor Who
    Inscrit
    juin 2008
    Lieu
    ...dans mon TARDIS
    Distribution
    openSUSE Tumbleweed (64 bits)
    Environnement
    Gnome
    Messages
    3 571
    Billets
    2

    Mon reverse proxy est utilisé par des tiers ?

    Salut,

    J'ai un serveur physique avec plusieurs machines virtuelles (KVM) dessus qui correspondent à différentes applications telles que NextCloud ou TAIGA, GitLab, etc.
    J'ai installé normalement apache 2.4 via les paquets sur Leap 42.3
    Problème : j'ai ralenti d'un coup et je cherchais d'où cela pouvait venir, en regardant /var/log/apache2/access_log j'ai des choses étranges comme :

    Code:
    112.255.167.140 - - [12/Jan/2018:08:41:37 +0100] "GET http://ads.ad4game.com/www/delivery/afr.php?zoneid=54450 HTTP/1.0" 404 1156 "http://www.nextplay.com/girls/girls/dress-me-up.html" "Mozilla/4.0 (compatible; MSIE 8.0; AOL 9.6; AOLBuild 4340.104; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; .NET CLR 3.5.30729)"
    112.255.167.140 - - [12/Jan/2018:08:41:38 +0100] "GET http://ads.ad4game.com/www/delivery/avw.php?zoneid=54450&n=a54f9a1d HTTP/1.0" 404 1156 "http://www.nextplay.com/girls/girls/dress-me-up.html" "Mozilla/4.0 (compatible; MSIE 8.0; AOL 9.6; AOLBuild 4340.104; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; .NET CLR 3.5.30729)"
    135.19.5.204 - - [12/Jan/2018:08:41:38 +0100] "GET http://www.ecvv.com/product_directory/Polypropylene-film-capacitors.html HTTP/1.1" 404 967 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36"
    112.255.167.140 - - [12/Jan/2018:08:41:39 +0100] "GET http://ads.ad4game.com/www/delivery/afr.php?zoneid=54449 HTTP/1.0" 404 1152 "http://www.nextplay.com/skill/jump-and-bounce.html" "Mozilla/5.0 (compatible; MSIE 10.0; Macintosh; Intel Mac OS X 10_7_3; Trident/6.0)"
    112.255.167.140 - - [12/Jan/2018:08:41:39 +0100] "GET http://ads.ad4game.com/www/delivery/avw.php?zoneid=54449&n=aeba9b52 HTTP/1.0" 404 1152 "http://www.nextplay.com/skill/jump-and-bounce.html" "Mozilla/5.0 (compatible; MSIE 10.0; Macintosh; Intel Mac OS X 10_7_3; Trident/6.0)"
    175.3.2.233 - - [12/Jan/2018:08:41:40 +0100] "GET http://m.search.yahoo.com/ HTTP/1.1" 200 179 "http://m.search.yahoo.com/" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)"
    194.28.172.165 - - [12/Jan/2018:08:41:41 +0100] "CONNECT coinstar.me:443 HTTP/1.1" 200 903 "-" "-"
    114.93.181.165 - - [12/Jan/2018:08:41:41 +0100] "GET http://m.search.yahoo.com/ HTTP/1.1" 200 179 "http://m.search.yahoo.com/" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)"
    159.224.89.46 - - [12/Jan/2018:08:41:41 +0100] "GET http://chekfast.zennolab.com/proxy.php HTTP/1.1" 404 1078 "RefererString" "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Firefox/45.0"
    82.76.49.71 - - [12/Jan/2018:08:41:42 +0100] "CONNECT soundcloud.com:443 HTTP/1.1" 400 896 "-" "-"
    Pourtant mes vhosts fonctionnent et semblent correcte coté synthaxe ?

    Code:
    <VirtualHost *:80>
    
    ServerName mon-domaine.com
    ServerAlias taiga.mon-domaine.com
    ProxyPreserveHost Off
    ProxyRequests Off
    ProxyPass / http://IP.du.serveur.virtuel/
    ProxyPassReverse / http://IP.du.serveur.virtuel/
    
    </VirtualHost>
    Que faut-il que je fasse d'autres ?
    J'ai épluché pas mal de doc mais tout ne me semble pas complètement claire ...

    Merci d'avance si une bonne âme peut m'aider


    --- Config : Cooler Master HAF922 - Corsair HX620W - Gigabyte GA-Z68XP-UD4 - Intel Core i7 2700K - Zalman CNPS9900 NT - Gigabyte GeForce GTX 1060 Windforce OC 3G - G.Skill Extreme3 4 x 4 Go PC17000 Ripjaws X CAS9 - OCZ Vertex2 120 Go - Crucial MX100 - 500 Go - WD Black 500Go 7200rpm 32Mo ---

  2. #2
    Administrateur Administrateur
    Inscrit
    novembre 2006
    Lieu
    Niort - 79 - France
    Distribution
    openSUSE Leap 42.3 (64 bits)
    Environnement
    KDE
    Messages
    390
    Salut,

    C'est bizarre que cela laisse passer des adresses non sélectionnées. Mais l'erreur 404 est renvoyée.

    EDIT: peux-tu nous donner le log de démarrage d'Apache?

    EDIT2: installe une protection type fail2ban pour empêcher les requêtes trop nombreuses.
    Dernière édition par Guillaume_G; 12/01/2018 à 11h24
    Guillaume

    * Membre de l'équipe ARM d'openSUSE : https://en.opensuse.org/Portal:ARM
    * Coordinateur de l'équipe de traduction d'openSUSE : http://fr.opensuse.org/Equipe_de_traduction

  3. #3
    Administrateur Administrateur Avatar de Doctor Who
    Inscrit
    juin 2008
    Lieu
    ...dans mon TARDIS
    Distribution
    openSUSE Tumbleweed (64 bits)
    Environnement
    Gnome
    Messages
    3 571
    Billets
    2
    Il y a un fail2ban sur SSH mais pas sur HTTP. Si je le mets, est-ce que des personnes qui upload sur nextcloud beaucoup de fichiers d'un coup ne vont pas être backlisté avec cette méthode ?

    Si je regarde le status d'Apache, il me dit :

    Code:
    Jan 11 19:59:20 data03 systemd[1]: Starting The Apache Webserver...
    Jan 11 19:59:20 data03 start_apache2[19039]: AH00548: NameVirtualHost has no effect and will be removed in the next release /etc/apache2/default-server.conf:123
    Jan 11 19:59:20 data03 systemd[1]: Started The Apache Webserver.
    Jan 12 00:00:00 data03 systemd[1]: Reloading The Apache Webserver.
    Jan 12 00:00:00 data03 start_apache2[5786]: AH00548: NameVirtualHost has no effect and will be removed in the next release /etc/apache2/default-server.conf:123
    Jan 12 00:00:00 data03 systemd[1]: Reloaded The Apache Webserver.


    --- Config : Cooler Master HAF922 - Corsair HX620W - Gigabyte GA-Z68XP-UD4 - Intel Core i7 2700K - Zalman CNPS9900 NT - Gigabyte GeForce GTX 1060 Windforce OC 3G - G.Skill Extreme3 4 x 4 Go PC17000 Ripjaws X CAS9 - OCZ Vertex2 120 Go - Crucial MX100 - 500 Go - WD Black 500Go 7200rpm 32Mo ---

  4. #4
    Administrateur Administrateur Avatar de sogal
    Inscrit
    octobre 2016
    Lieu
    Isère
    Distribution
    openSUSE Leap 15.0 (64 bits)
    Environnement
    Gnome
    Messages
    640
    Salut,
    Il y a un fail2ban sur SSH mais pas sur HTTP. Si je le mets, est-ce que des personnes qui upload sur nextcloud beaucoup de fichiers d'un coup ne vont pas être backlisté avec cette méthode ?
    Si, c'est un risque. J'ai déjà eu le soucis avec Fail2ban et Nextcloud. Donc soit tu mets des valeurs en 'maxretry' mais tu auras des requêtes non désirées qui passeront, soit tu fais un vhost spécifique pour ton Nextcloud dans lequel tu spécifies un fichier de log différent, dans lequel Fail2Ban n'ira pas regarder.

    Pour ton soucis principal, je ne vois pas là de suite, la config ne semble pas déconnante. Comme dit Guillaume, les requêtes échouent, ce qui est bon signe.
    Machine perso : Thinkpad x230 : Leap 15.0 | Workstation hyperviseur: Leap 15.0

  5. #5
    Administrateur Administrateur Avatar de Doctor Who
    Inscrit
    juin 2008
    Lieu
    ...dans mon TARDIS
    Distribution
    openSUSE Tumbleweed (64 bits)
    Environnement
    Gnome
    Messages
    3 571
    Billets
    2
    Salut,

    Merci pour vos réponses
    Citation Envoyé par sogal Voir le message
    Pour ton soucis principal, je ne vois pas là de suite, la config ne semble pas déconnante. Comme dit Guillaume, les requêtes échouent, ce qui est bon signe.
    Le hic est que le trafic est assez encombré avec tout cela et que cela nous ralenti fortement ...
    Mon collègue (Matthieu que vous avez vu à POSS) a vu l'existence d'un module apache appelé security, est-ce une raison possible ? Est-ce conseillé de l'installer ou est il utile seulement pour des cas particuliers ?


    --- Config : Cooler Master HAF922 - Corsair HX620W - Gigabyte GA-Z68XP-UD4 - Intel Core i7 2700K - Zalman CNPS9900 NT - Gigabyte GeForce GTX 1060 Windforce OC 3G - G.Skill Extreme3 4 x 4 Go PC17000 Ripjaws X CAS9 - OCZ Vertex2 120 Go - Crucial MX100 - 500 Go - WD Black 500Go 7200rpm 32Mo ---

  6. #6
    Léon Avatar de loustic
    Inscrit
    avril 2013
    Lieu
    La Farlede, près de Toulon
    Distribution
    Tumbleweed et/ou Leap, selon les machines
    Environnement
    KDE 5.x
    Messages
    10
    salut Docteur

    il me semble que ton host a été repéré par un de ces référenceurs de proxys ouverts, soit "il y a longtemps" soit "récemment", et que donc il a des personnes qui chechent logiquement à rebondir à travers puisqu'ils ont essayé au hasard ton proxy dans les listes dispo sur le site

    et comme certains se prennent des 404 ou des 400, ils en concluent que ce proxy ne marche pas et ils en essayent un autre dans la liste

    mais pour d'autres, il semble que ça marche car ils prennent des 200:

    175.3.2.233 - - [12/Jan/2018:08:41:40 +0100] "GET http://m.search.yahoo.com/ HTTP/1.1" 200 179 "http://m.search.yahoo.com/" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)"
    114.93.181.165 - - [12/Jan/2018:08:41:41 +0100] "GET http://m.search.yahoo.com/ HTTP/1.1" 200 179 "http://m.search.yahoo.com/" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)"

    et donc ça n'aurait pas l'air trop grave en apparence, ... sauf que puisque ton host est effectivement un forward proxy ouvert, on peut quand même l'utiliser si on sait ce qui est accepté ou pas

    et pire: si ce n'est pas une erreur de config mais un payload mal bricolé, alors les gonzes qui ont codé ce truc ont (très probablement) oublier be bloquer 127.0.0.1/8 et on peut donc aussi utiliser cette porte pour attaquer le 127.0.0.1 et donc bypasser ton firewall via un "CONNECT vers ce que je veux en local"

    bref, retour à tes logs. celui-ci est le plus parlant:

    194.28.172.165 - - [12/Jan/2018:08:41:41 +0100] "CONNECT coinstar.me:443 HTTP/1.1" 200 903 "-" "-"

    ce CONNECT est passé (200), ce qui veut dire que 194.28.172.165 a utilisé ton host pour ouvrir une socket tcp avec coinstar.me:443. en gros, il a simplement demandé poliment un CONNECT, ta conf lui a dit OK, et ton apache a fait le forward proxy (et donc c'est ton IP qui apparait comme source chez coinstar.me)

    soit un des softs que tu as installés possède une directive qui active le forward proxy, et donc tu vas le trouver dans une des confs et la dégager, soit un des trucs que tu as installé injecte la conf dorward proxy dans apache (c'est le plus subtil car le grep ne montrera rien), soit un des trucs que tu as installé utilise un blob logiciel (dans le style node.js), qui a "tiré" (intentionnellement ou pas) un autre bout de .js qui est maintenant en train de "servir" le vhost sur lequel il est branché, et qui se débrouille (via du code .js) pour faire des trucs bizarres.mais bon, comme tu as copié/collé des logs apache, c'est bien apache qui fait accepte la requête CONNECT (je m'égare avec node.js...)

    tu peux commencer par forcer un 'ProxyRequests Off' dans ta conf , mais il faut quand même partir à la pêche aux fichiers confs qui pourraient le réactiver plus loin (apache déroule tout le texte de la conf pour chaque vhost, et on peut dire "blanc" au début puis changer d'avis en disant "noir" un peu plus loin)

    et pour éviter de te faire scanner par d'autres hosts, - puisque c'est ton host et que tu sais comment tu as appelé les vhosts que tu vas configurer pour ton utilisation privée -, je te propose de répondre un 403 à toutes les requètes qui entrent par la porte par défaut (celles qui se connectent anonymenent sur l'adresse IP sans passer de nom de vhost correct dans le header 'host:'), et d'accepter tes requètes qui se présenteront avec les bons noms de tes vhosts. si tous tes vhosts perso sont https-only, tu peux aussi ajouter l'option "SSLStrictSNIVHostCheck on" sur le vhost default, et comme ça tous les curieux qui commencent une session TLS se prendront un TCP_FIN dès réception du TLS_client_hello (la dissuasion fait partie du jeu quand on cherche à être tranquille)

    le sparadrap sur le vhost name et le SNI fonctionnera tant que le vrai nom de tes vhosts (dont celui qui accepte les CONNECT) ne sera pas connu sur les sites de référencement de hosts ouverts, et que tu te feras scanner via l'adresse IP (et donc pas la peine de chercher l'intrus dans tes softs)(cherche quand-même ton IP sur shodan et autres consorts pour voir ce que "on" connait publiquement de toi...)

    si tu n'as pas le choix car ton nom de vhost est public, il va falloir que tu procèdes par dichotomie pour trouver où est le problème avant de faire une fresh reinstall. si ton host sert des hosts publics, et puisque tu as un KVM sous la main, il faut absolument que tu cloisonnes chaque soft dans une boite étanche avec zéro gateway sortante (la ségrégration IN/OUT est un bon moyen de tuer les sales bêtes qui tentent de se développer). en mettant un pur reverse-proxy en front de toutes ces VM dédiées (dans une autre VM dédiée), si possible tournant en chroot et of course avec zéro gateway sortante, tu devrais tordre le bras à pas mal de gens mal intensionnés

    concernant mod_security, tu peux effectivement activer ce module, car ca te donnera un nouveau fichier de log en mode "audit" (le tandem errorlog/accesslog classique n'est pas très pratique). une fois mod_security activé, tu auras accès au niveau couteau-suisse++ pour faire TOUT ce que tu veux en IN/OUT, mais le HOWTO de mod_security ne tient pas dans un post sur un forum ;-)

    indépendamment de mod_security, je te conseille aussi de modifier ta conf pour avoir un jeu de fichiers de log pour chaque vhost nommé, plus un jeu de fichiers de log dédié au vhost "default" (celui qui s'allume quand on te cause via l'adresse IP et sans nom de vhost).

    contre les curieux, tu peux aussi utiliser une défense active en t'appuyant sur un couplage HIDS/firewall, de façon à bloquer avec le firewall les adresses IP sources de tous ceux qui font un peu trop de 403 en allant titiller le vhost default

    bonne chasse !
    eric
    Dernière édition par loustic; 20/01/2018 à 19h08

  7. #7
    Administrateur Administrateur Avatar de Doctor Who
    Inscrit
    juin 2008
    Lieu
    ...dans mon TARDIS
    Distribution
    openSUSE Tumbleweed (64 bits)
    Environnement
    Gnome
    Messages
    3 571
    Billets
    2
    Merci Eric pour tes précieux conseils, le premier vhost que j'avais fait n'avait pas de reverse proxy off et donc j'ai eu des visiteurs.
    A présent, c'est du 404 systématiquement, je vais regarder s'il y a encore du 200 après quelques changements de configurations.

    Je rebalaye tout cela et ferai un retour sous quelques jours. Un grand merci à tous


    --- Config : Cooler Master HAF922 - Corsair HX620W - Gigabyte GA-Z68XP-UD4 - Intel Core i7 2700K - Zalman CNPS9900 NT - Gigabyte GeForce GTX 1060 Windforce OC 3G - G.Skill Extreme3 4 x 4 Go PC17000 Ripjaws X CAS9 - OCZ Vertex2 120 Go - Crucial MX100 - 500 Go - WD Black 500Go 7200rpm 32Mo ---

  8. #8
    Léon Avatar de loustic
    Inscrit
    avril 2013
    Lieu
    La Farlede, près de Toulon
    Distribution
    Tumbleweed et/ou Leap, selon les machines
    Environnement
    KDE 5.x
    Messages
    10
    hello docteur

    c'est normal d'avoir "n'importe qui" qui essaye "n'importe quoi" sur un serveur web exposé

    une bonne règle de sécurité est d'avoir un rendu uniforme des erreurs pour toutes les tentatives anonymes, et le plus logique est de retourner 403 pour ceux qui tatonnent sans avoir de session valide.

    pour les utilisateurs valides, je pense qu'il y a débat sur l'utilité du 404, et à plus forte raison pour un 404 sur le front-end reverse proxy --> ma position (psycho-rigide) est qu'une bonne app bien validée ne doit retourner que des 200 ou des 403 sur le front-end (ou des 500 si ça couine en dessous), et on peut effectivement reconnaître que le 404 a une utilité "pour développeur" sur le back-end (pour les utilisateurs valides, donc)

    utilise un outil du type ZAP pour faire un scan de ton front-end, il te retournera une liste bateau de ce que les "tatonneurs" peuvent voir

    tu peux aussi jouer avec "telnet IP port" sur ton interface externe et tenter un "CONNECT 127.0.0.1:22 HTTP/1.1\nhost: 127.0.0.1:22\n\n", pour voir si ta conf prend l'eau ou pas (puis recommencer en remplaçant la valeur du "host:" pour chacun de tes vhosts déclarés)

    eric

  9. #9
    Administrateur Administrateur Avatar de Doctor Who
    Inscrit
    juin 2008
    Lieu
    ...dans mon TARDIS
    Distribution
    openSUSE Tumbleweed (64 bits)
    Environnement
    Gnome
    Messages
    3 571
    Billets
    2
    J'étais en vacances mais je réactive ma todoliste avec un suivi d'ici semaine prochaine. Vais faire un upgrade de nextcloud + configuration memcache qui déconne


    --- Config : Cooler Master HAF922 - Corsair HX620W - Gigabyte GA-Z68XP-UD4 - Intel Core i7 2700K - Zalman CNPS9900 NT - Gigabyte GeForce GTX 1060 Windforce OC 3G - G.Skill Extreme3 4 x 4 Go PC17000 Ripjaws X CAS9 - OCZ Vertex2 120 Go - Crucial MX100 - 500 Go - WD Black 500Go 7200rpm 32Mo ---

Tags pour ce sujet

Règles des messages

  • Vous ne pouvez pas créer de sujets
  • Vous ne pouvez pas répondre aux sujets
  • Vous ne pouvez pas importer de fichiers joints
  • Vous ne pouvez pas modifier vos messages
  •  
  • Les BB codes sont Activés
  • Les Smileys sont Activés
  • Le BB code [IMG] est Activé
  • Le code [VIDEO] est Activé
  • Le code HTML est Désactivé