8
votes

Je continue à obtenir de cesser de fumer et de connecter des méthodes HTTP envoyées à mon serveur, que veulent-ils dire?

Je continue à obtenir les deux erreurs suivantes de mon serveur, j'ai supposé qu'ils étaient simplement des bots à la recherche de cibles potentielles, mais quelqu'un sait-il précisément pourquoi je reçois ces? J'utilise le plug-in SSLREQUER pour vous assurer que tous les hits sur la page de connexion / d'inscription sont redirigés vers SSL, de sorte que toutes ces demandes de HTTPS bizarre à root doivent simplement être redirigées à HTTP régulier.


A ActionController :: UnknownHttpMethod s'est produit dans l'index de l'application #: Quitter, les méthodes HTTP acceptées sont obtenues, la tête, la mise, la post, la suppression et les options

/usr/local/lib/ruby/gems/1.9.1/gems/actionpack-2.3.4/lib/action_Controller/request.rb:35:in `requier_method '

  • path_info: /
  • Remote_addr: 99.19.208.249
  • REMOTE_PORT: 6376
  • Demande_Method: Connect
  • request_uri: /
  • Server_port: 443
  • Server_Protocol: http / 1.0
  • Server_Software: Apache

    A ActionController :: UnknownHttpMethod s'est produit dans l'index de l'application #: Connecter, les méthodes HTTP acceptées sont obtenues, la tête, la mise, la publication, la suppression et les options

    /usr/local/lib/ruby/gems/1.9.1/gems/actionpack-2.3.4/lib/action_Controller/request.rb:35:in `requier_method '

    • https: sur
    • http_x_formwarded_proto: https
    • path_info: /
    • REMOTE_ADDRDDR: 91.209.196.76
    • REMOTE_PORT: 50751
    • Demande_Method: Quittez
    • request_uri: /
    • Server_port: 443
    • Server_Protocol: http / 0.9

0 commentaires

5 Réponses :


0
votes

Connect: http://www.w3.org /Protocols/rfc2616/rfc2616-sec9.html#sec9.9

Quitter signifie généralement "fermer la connexion".


0 commentaires

14
votes

the Connect commande est utilisé par les serveurs proxy HTTP pour indiquer que le client veut simplement connecter une prise directement à un autre serveur; Ceci est généralement utilisé pour la tunneling TLS sur un proxy HTTP, mais pourrait être utilisé pour un tunneling presque n'importe quel protocole.

Quit n'est pas une commande HTTP, mais c'est un Commande SMTP . Il est possible que vous obteniez ces commandes d'un bot qui tente de trouver des relais ouverts pour envoyer des spams; Il essaie de comprendre si vous avez un relais SMTP ouvert ou un proxy HTTP ouvert qui permet la commande Connect qui pourrait également être utilisée pour Tunnel SMTP Traffic.

Ainsi, probablement, vous êtes simplement frappé par un spam Botnet essayant de trouver des relais ouverts. Mon conseil serait de laisser tomber ces demandes le plus tôt possible et ne vous inquiétez pas pour eux.


2 commentaires

Comment devrions-nous arrêter ces demandes de frapper nos applications? Mon application est sur une tranche de Slicehost.


@lakshmanan Je vous recommande de poser une question distincte sur la façon d'arrêter ces demandes de frapper votre application, avec des détails sur le type de configuration que vous avez (tout proxie inverse, serveurs Web, serveurs d'applications, etc.). Vous ne fournissez pas assez de détails dans votre commentaire pour que je vous aide, et je ne connais peut-être pas avec des éléments de votre configuration; Une nouvelle question vous procurera de meilleures réponses. N'hésitez pas à créer un lien vers cette question pour le contexte de la raison pour laquelle vous souhaitez supprimer ces connexions.



0
votes
# Avoid annoying ActionController::UnknownHttpMethod exceptions like:
#
#   ActionController::UnknownHttpMethod) "CONNECT, accepted HTTP methods are get, head, put, post, delete, and options"
#
# Install this file in app/metal and these requests will receive a 405
# "Method Not Allowed" status and will be logged under `info'.
class IgnoreUnknownHttpMethod
  def self.call(env)
    [
     if ActionController::Request::HTTP_METHODS.include?(env["REQUEST_METHOD"].downcase)
       404 # Not Found
     else
       Rails.logger.info("Ignoring unknown HTTP method; #{env.inspect}")

       405 # Method Not Allowed
     end, {"Content-Type" => "text/plain"}, []]
  end
end
Credit https://gist.github.com/remvee/600569

0 commentaires

0
votes

Je viens de remarquer quelques tentatives de connexion à mes serveurs, nous voyons que cela se termine par un arrêt ...

198.20.87.98 - - [22/Dec/2015:21:43:42 -0800] "GET / HTTP/1.1" 444 5666 "-" "-"
198.20.87.98 - - [22/Dec/2015:21:43:42 -0800] "GET /robots.txt HTTP/1.1" 444 5666 "-" "-"
198.20.87.98 - - [22/Dec/2015:21:43:42 -0800] "GET /sitemap.xml HTTP/1.1" 444 5666 "-" "-"
198.20.87.98 - - [22/Dec/2015:21:43:58 -0800] "quit" 405 5461 "-" "-"
  • comme une note latérale, mon serveur renvoie 444 qui n'est pas un code HTTP légal. Cela signifie pas de réponse et je fais cela parce que leur "String d'agent" Strong> est vide. Em> li> ul>

    En regardant l'adresse IP, j'ai trouvé un moteur de recherche qui cherche choses em> sur Internet. Pas un pirate informatique qui essaie de se briser en soi. (il n'y a pas de mal, il semble.) em> Je suppose que certaines des applications qu'ils vérifient doivent comprendre le cessé d'arrêt. Donc, comme un robot, il est logique que vous voudriez essayer ce qui ressemblerait autrement comme des commandes étranges telles que Connnect et Quitter. Il n'y a pas de limite réelle aux commandes une application peut prendre en charge, même si ces commandes ne sont pas des commandes HTTP officielles. P>

    Si votre application ne comprend pas ces méthodes, rien ne se passera donc de sorte que vous ne devriez pas déranger trop à propos de ceux-ci. p>

    Si votre application reçoit ces méthodes, vous voudrez peut-être écrire un peu quelque chose au début pour obtenir la méthode et comparer pour obtenir et poster (et quoi que ce soit d'autre que vous supportez, comme supprimez et mettez-le. ) Et si cela correspond à aucun de ceux-ci, répondez avec un code d'erreur 405: "Méthode non autorisée". p>

    https://www.rfc-editor.org/rfc/rfc7231#ssection-6.5.5 P>

    Si vous ne pouvez pas changer Votre application et vous ne savez pas si cela pourrait réagir à une connexion Connect / QuitT, vous pouvez alors rechercher une configuration telle que mod_security pour Apache2. P> P>


0 commentaires

0
votes

Selon Jturkel à https://gist.github.com/remvee/600569 . Dans Rails 3.2 Pour les actions non HTTP, j'ai ajouté ce qui suit à la fin de la configuration / application.rb et a résolu le problème de cesser de fumer.

# silence ActionController::UnknownHttpMethod exceptions
ActionDispatch::ExceptionWrapper.rescue_responses.merge!( 'ActionController::UnknownHttpMethod' => :method_not_allowed )


0 commentaires