tutorial que dynos cycling app ruby-on-rails security heroku ip rack

ruby-on-rails - que - no dynos on heroku



¿Cómo se puede bloquear o filtrar las direcciones IP en Heroku? (2)

¿Hay alguna manera de implementar las reglas de filtrado de IP o de acceso IP de forma similar a como lo haría con nginx / apache para restringir o bloquear ciertas direcciones IP en Heroku?

Nota: Sé que esto se puede hacer desde mi aplicación (Rails 3.2) muy fácilmente, pero no creo que este sea el uso más eficiente de mis recursos en Heroku. Además, una solución basada en Rack sería mejor que implementar el filtrado en Rails.


Agregué ''rack-block'' como middleware Rack. En config / initializers, agregue un nuevo archivo:

YourApp::Application.configure do config.middleware.insert_before(Rack::Lock, Rack::Block) do # Add your rules with the rack-block syntax in here end end

Funciona de maravilla.


Deberías echarle un vistazo al rack-attack . Parece que hace lo mismo que el bloqueo de rack, pero es mucho más utilizado y actualizado con frecuencia. Para bloquear una IP específica puedes hacer esto:

# Block requests from 1.2.3.4 Rack::Attack.blacklist(''block 1.2.3.4'') do |req| # Requests are blocked if the return value is truthy ''1.2.3.4'' == req.ip end