你如何保护Django管理站点?

10

我曾考虑将其限制为仅显示在某些IP上,但我有一些没有静态IP的自由职业者需要能够登录到管理站点。我推出了一个大项目,正在寻找一些保护管理站点免受不必要的访问的方法。


2
将urls.py中的URL映射更改可能有所帮助?例如,http://yoursite.com/helloworld来访问管理门户网站!!! - shahjapan
3个回答

3
如果您在apache后面运行它,则可以使用其众多的HTTP身份验证模块之一(其他服务器也有类似的模块)。这样,用户甚至无法在登录之前进入登录页面。
另一个选择是阻止所有远程URL的访问,并要求用户使用VPN访问管理页面。(我认为这会很麻烦)
我们有一个站点,其中管理员界面位于单独的域上,它不会隐藏任何内容,但会将它们分开。

2

1)限制IP范围。在您的情况下可能不是完全可能的,但您可以考虑只允许少数子网访问。如果用户每次都在同一网络上访问,则即使他们的IP是动态的,它们很可能来自同一子网。这可以降低被完全暴露的风险。

2)将默认管理员URL更改为非显而易见的内容。


1

我们目前正在探讨这个问题。最初,我们通过IP地址限制了访问权限,但在客户签署后被要求关闭该限制。我们目前在管理员上使用摘要认证。我们正在考虑登录尝试限制和最小密码强度要求。我认为这些将是相关的保护措施,因为保护管理员包括防止选择弱密码。

如果时间和预算允许,我们可能会考虑mod_security,用于许多事情,包括IP地址声誉(地理位置)、黑名单和暴力攻击检测。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接