使用不起眼的域名保证网站安全

时间:2017-06-13 08:19:12

标签: php security dns

工作中非技术性,安全偏执的员工坚持认为,保护我们网站的有效方法是将申请分为三个部分;工作人员的前端,API和后端管理区域。

API和管理系统都在域名上,这些域名只是一组随机字符。

应用程序保存敏感数据,但是,所有应用程序都在同一台服务器上。

我面临的问题是,在应用程序处于此状态时调试或添加功能会使工作变得非常困难,因为不清楚应用程序的哪个部分可以执行哪些操作。 (没有文档,之前的开发人员已离开公司。)

他坚持认为未来的项目遵循相同的套件,具有各自独立的API和管理区域,我认为这对于相对简单的应用程序来说是不必要的。

第二个问题是,我知道通过默默无闻的安全性不一定是安全性的,而且我没有看到使用复杂的主机部分或整个网站的重点。

所以我的问题是:

1)使用这样的API会带来任何安全性好处吗?是否有其他方法可以确保应用程序及其数据的安全性,从而不会影响开发速度。

2)是否使用了保护应用程序安全所必需的模糊域名?同样,是否存在对未来开发人员而言看起来有点奇怪的替代方法?

3)管理系统使用用户名和密码进行保护。将管理系统安装在website.com/admin而不是randomcharacters.com上是否安全?

2 个答案:

答案 0 :(得分:2)

  
      
  1. 使用这样的API会带来任何安全性好处吗?是否有其他方法可以确保应用程序及其数据的安全性,从而不会影响开发速度。
  2.   

应通过OAuth访问令牌(AuthN)等身份验证机制保护API。那些API可以做什么,然后应该由访问令牌(AuthZ)中的声明确定。应该用这些术语来考虑认证和授权。

'我是这个校长,我可以证明这一点,因为我有一个你发给我的令牌,你可以验证只有你可以发出它。我有许多信息可以用来决定我允许做什么'

  
      
  1. 是否使用了保护应用程序安全所必需的模糊域名?同样,是否有其他方法可以同样有效,对未来的开发人员来说并不奇怪?
  2.   

不,使用晦涩的域名不提供任何级别的安全性。它们只是通过DNS条目转换为IP地址的字母 - 要使用my-website-address.com或hdsfiuycxzuyecgfr.com,您必须将其传达给某人,并且此时它们同样安全!

  
      
  1. 管理系统使用用户名和密码进行保护。将管理系统与website.com/admin一样安全,而不是randomcharacters.com吗?
  2.   

要问的问题是,谁是系统不同部分的用户以及谁应该访问什么?前端应用程序是否在互联网上公开显示,是否可以被各种客户使用?管理系统是属于同一类别,还是更多的内部工具?确定组件的用例,并考虑是通过应用程序逻辑(如OAuth令牌)还是基础结构限制来保护它们(例如,只有特定IP地址范围/子网内的计算机才能访问管理工具)。它通常是应用程序和基础结构安全性的组合,可提供最佳级别的保护。

将前端应用程序和管理工具托管为不同的应用程序可能允许您在它们周围应用不同的安全边界,这可能很有用。

然而,这是确定你的威胁演员是谁以及相应地设计的问题。

答案 1 :(得分:1)

一个不起眼的域名只需要在某处泄漏;一旦任何攻击者获得域名,它就会不再模糊,也不会带来任何好处。如果您有一个公共网站对“模糊”的后端进行API调用,那么该域名已经被广泛宣传。

不,为了安全起见,使用晦涩的名字几乎没有意义。如果您的API不安全且允许未经授权的访问,则 是您的安全弱点;不是域名可能已知的事实。