J'ai une petite application sur Rails 2.3.2, servi avec nginx + thin (127). OS FreeBSD 7.1, DB - Posgresql.Rails et ip-spoofing
Twise à cette semaine mon application a l'automne. Dans journal je reçois quelque chose comme (~ 2-50 demande par seconde):
/!\ FAILSAFE /!\ Mon Oct 04 20:13:55 +0300 2010
Status: 500 Internal Server Error
bad content body
/usr/home/../../history/vendor/rails/actionpack/lib/action_controller/vendor/rack-1.0/rack/utils.rb:311:in `parse_multipart'
/usr/home/../../history/vendor/rails/actionpack/lib/action_controller/vendor/rack-1.0/rack/request.rb:125:in `POST'
/usr/home/../../history/vendor/rails/actionpack/lib/action_controller/request.rb:428:in `request_parameters'
/usr/home/../../history/vendor/rails/actionpack/lib/action_controller/request.rb:381:in `parameters'
/usr/home/../../history/vendor/rails/actionpack/lib/action_controller/base.rb:1279:in `assign_shortcuts'
/usr/home/../../history/vendor/rails/actionpack/lib/action_controller/base.rb:518:in `process_without_filters'
Ou:!
/\ FAILSAFE/\ Mar 9 novembre 2010 09:24:39 +0200 Statut : 500 Erreur de serveur interne Attaque d'usurpation d'adresse IP ?! HTTP_CLIENT_IP = "XX.XX.XX.XX" HTTP_X_FORWARDED_FOR = "192.168.XX.XX, YY.YY.YY.YY"
/usr/home/../../history/vendor/rails/actionpack/lib/action_controller/request.rb:229:in `remote_ip'
/usr/home/../../history/vendor/rails/actionpack/lib/action_controller/base.rb:1372:in `request_origin'
/usr/home/../../history/vendor/rails/actionpack/lib/action_controller/base.rb:1304:in `log_processing_for_request_id'
/usr/home/../../history/vendor/rails/actionpack/lib/action_controller/base.rb:1296:in `log_processing'
/usr/home/../../history/vendor/rails/actionpack/lib/action_controller/base.rb:522:in `process_without_filters'
Après ce système repose dans la limite de fichier ouvert max (je suppose que ouvert par des sessions postgesql), postgresql ne peut pas établir une nouvelle connexion et chute de l'application.
Une suggestion, comment je peux protéger mon un ss pp dans cette situation?