Question mod_proxy - devrais-je être nerveux?


Autant que je sache, tout le matériel mod_proxy est désactivé sur mon serveur de production Apache. Quel est un moyen raisonnable de tester ou de confirmer cela? En regardant mon httpd.conf, je peux vous dire que toute ligne contenant un "proxy" est commentée, pour ce que cela vaut.

La raison pour laquelle je demande est que j'ai vu ce genre de chose dans mon rapport de surveillance du journal ce matin:

 Connection attempts using mod_proxy:
   81.88.124.30 -> 64.12.202.116:443: 1 Time(s)
   81.88.124.30 -> 64.12.202.15:443: 1 Time(s)
   81.88.124.30 -> 64.12.202.1:443: 1 Time(s)
   81.88.124.30 -> 64.12.202.22:443: 1 Time(s)
   81.88.124.30 -> 64.12.202.29:443: 1 Time(s)
   81.88.124.30 -> 64.12.202.36:443: 1 Time(s)
   81.88.124.30 -> 64.12.202.43:443: 1 Time(s)
   81.88.124.30 -> 64.12.202.50:443: 1 Time(s)
   81.88.124.30 -> 64.12.202.8:443: 1 Time(s)

 Requests with error response codes
   403 Forbidden
      64.12.202.116:443: 1 Time(s)
      64.12.202.15:443: 1 Time(s)
      64.12.202.1:443: 1 Time(s)
      64.12.202.22:443: 1 Time(s)
      64.12.202.29:443: 1 Time(s)
      64.12.202.36:443: 1 Time(s)
      64.12.202.43:443: 1 Time(s)
      64.12.202.50:443: 1 Time(s)
      64.12.202.8:443: 1 Time(s)

Ce n'est pas quelque chose qui est normalement dans mes rapports. Donc, on dirait qu'il a eu 403 points pour les tentatives, ce qui est bon, je suppose. Mais qu'est-ce qui lui a valu la peine d'essayer?


6
2017-08-28 14:34


origine




Réponses:


Peut-être qu'il / elle / il essayait de savoir si cela valait la peine d'essayer. Il ne leur en coûte rien de simplement envoyer une demande de proxy à un serveur et de voir si cela fonctionne, alors ils envoient généralement ces demandes sans distinction.

Pour info, un moyen sûr de s’assurer que mod_proxy est désactivé est de s’assurer que la ligne

LoadModule mod_proxy.so proxy_module

est commenté. Cela ne devrait se produire qu'une seule fois dans les fichiers de configuration, mais cela ne ferait pas de mal à grep de le faire. En outre, vous pouvez exécuter

apache2ctl -M

(ou peut-être un équivalent pour votre système, sur le mien c'est /etc/init.d/apache2 modules) pour lister les modules chargés et vérifier que le module proxy ne figure pas dans la liste.


7
2017-08-28 14:43



Merci pour la réponse. Je parie que phpinfo () listerait également les modules, n'est-ce pas? J'avais oublié l'évidence ... :) - Chris_K
Pour CentOS, apachectl -M a fait le bon choix. Pas de modules avec "proxy" dans leurs noms. - Chris_K
Je ne sais pas si phpinfo () liste les modules Apache, mais vous pouvez l'essayer et le vérifier. (Vous pouvez obtenir la liste des modules en utilisant mod_status, généralement à quelque chose comme http://localhost/server-status si le module d'état est activé) - David Z
Que diriez-vous si je veux que mod_proxy soit activé mais que le nombre de personnes pouvant y accéder soit limité? par exemple. Utilisation d'un serveur Web Apache en tant qu'intermédiaire et connexion de mod_proxy à un serveur (Tomcat / Jetty / ...) - ssasa
@ssasa, il existe des directives de configuration pour Apache qui vous permettent de limiter les types de demandes de proxy autorisés. Mais cela sort du cadre de cette question. La documentation de mod_proxy et les autres questions de ce site devraient vous aider. - David Z


Pour vérifier que vous n'êtes pas un proxy ouvert, il suffit de connecter telnet au port 80 et d'envoyer:

GET http://www.google.com/ HTTP/1.0

(Vous avez besoin de deux retours à la ligne à la fin, mais c'est mangé). Vous devriez récupérer une page 404. Si vous récupérez Google, vous êtes ouvert.


2
2017-08-28 17:53



Hmmm ... --------------------------------------- Connecté à mysite.com (abc 1). Le caractère d'échappement est '^]'. OBTENIR google.com HTTP / 1.0 HTTP / 1.1 200 OK Date: vendredi, 28 août 2009 18:02:07 Serveur GMT: Apache / 2.2.3 (Red Hat) X-Powered-By: PHP / 5.1.6 Longueur du contenu: 0 Connexion: fermer Content-Type: text / html; charset = UTF-8 Connexion fermée par un hôte étranger. - Chris_K
SO ... j'ai 200 en retour. Je pense. Basé sur apachectl -M, je n'ai aucun module proxy. Qu'est-ce que cela nous dit? - Chris_K


Sur Apache 2.x par défaut, même si le module mod_proxy est activé, le proxy est désactivé via la valeur par défaut de la directive suivante:

ProxyRequests Off

Si vous le définissez sur On, vous êtes un proxy ouvert - sinon, autant que je sache, vous devriez être en sécurité.

https://httpd.apache.org/docs/2.0/mod/mod_proxy.html#proxyrequests


2
2017-09-09 06:25





Vous pouvez désactiver ProxyRequests, mod_proxy ne pas être chargé et obtenir une réponse de 200. J'ai rencontré une configuration sur le serveur Web d'un client qui a provoqué ce problème - l'hôte virtuel par défaut avait une directive .htaccess qui envoyait toutes les demandes via un script php, et la page "page introuvable" a renvoyé un code de réponse 200. Vous pouvez demander littéralement n'importe quoi et ne jamais obtenir d'erreur 404. Pas une situation idéale, mais pas un proxy ouvert non plus. C'est l'enfer des indexeurs de moteurs de recherche .. LOL


1
2017-09-11 13:18



Je pense que cette réponse est destinée à être une réponse à ce commentaire. - Ladadadada
Oui c'était ... désolé, mon mauvais :) - Amy


FWIW, le meilleur moyen de s’assurer qu’il n’est pas chargé est de supprimer le module de votre lecteur, puis de redémarrer Apache.


0
2017-08-28 15:37



Je ne supprimerais pas le module, vous en aurez peut-être besoin ultérieurement. Au moins ... c'est ce que je découvre toujours quand je supprime des choses. - Joe
Ensuite, renommez-le. :) - sybreon