【问题标题】:Securing Local Development Ruby on Rails保护本地开发 Ruby on Rails
【发布时间】:2013-01-22 15:42:27
【问题描述】:

有没有人尝试在 Ruby on Rails 中限制他们的本地开发服务器?

我正在我的 PC 上开发一个正在开发的项目,我想知道是否有办法限制这一点,以便只有 localhost(我的机器)可以发出请求。

目前,网络上的任何人都可以导航到我的机器并在我运行开发时访问我的应用程序。这是一个非常基本的 RoR 开箱即用安装。

【问题讨论】:

  • 你不信任你的同事?为什么需要保护它?如果您有疑虑,请告诉您的管理人员告诉所有人不要使用您的盒子。
  • 在开发过程中实践良好的安全性更重要。
  • 在内部环境中,尊重他人的工作环境应该是众所周知的。如果你不能期待,那么,是的,立即启用基本身份验证,并开始寻找更成熟的工作。
  • 感谢您的建议,它不是公司而是我自己的网络。
  • 啊。打开您的防火墙,除非您授予他们访问权限,否则没有人可以看到它。将服务器设置在 0.0.0.0 或 127.0.0.1 上,这样只有您可以像 @mosch 所说的那样看到它。

标签: ruby-on-rails ruby security


【解决方案1】:
bundle exec rails server -b 127.0.0.1

【讨论】:

  • 127.0.0.1 被实施以允许这种情况 - 仅在主机内部访问。
【解决方案2】:

从网络的角度来看,最好的方法是保护您的 iptables。

从房子的栏杆一侧,您可以使用basic auth 或类似设计的东西。或者使用带有前置过滤器的request object 并将您的机器列入白名单。

祝你好运!

【讨论】:

  • 我喜欢添加基本身份验证的想法,我的应用程序实际上并不需要任何类型的身份验证,但我想成为唯一可以访问的人。绑定到地址并添加基本身份验证将是我的腰带和大括号。
【解决方案3】:
before_filter :restrict_access
def restrict_access
  return unless config_option(:allowed_IPs)
  if not config_option(:allowed_IPs).include?(request.env['REMOTE_ADDR'])
    render :file => "#{Rails.public_path}/401.html", :status => :unauthorized
    return
  end
end

(/config/site_config.yml):
development:
production:
  allowed_IPs:
    - IP1
    - IP2
    # etc.

this post的帮助下

【讨论】:

  • 感谢这是对未来的重要参考。
猜你喜欢
  • 2019-05-16
  • 1970-01-01
  • 2015-06-18
  • 1970-01-01
  • 2014-06-22
  • 2011-06-24
  • 2011-05-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多