2017-06-13 40 views
0

一名非技術性,安全偏執的員工堅稱,確保我們網站安全的有效方法是將應用程序分爲三部分;前端,API和後臺管理區域。通過使用不起眼的域名保護網站安全

API和管理系統都位於只是隨機字符集的域名上。

應用程序持有敏感數據,但是,所有的應用程序都在同一臺服務器上。

我面臨的問題是,在處於此狀態時調試或添加應用程序的功能使工作變得非常困難,因爲它不清楚應用程序的哪一部分執行了什麼操作。 (沒有文檔,以前的開發者已經離開公司。)

他堅持說未來的項目會遵循相同的套件,它們有自己獨立的API和管理區域,我認爲這對於相對簡單的應用程序來說是不必要的。

第二個問題是我知道通過默默無聞的安全性並不一定是安全的,我沒有看到使用複雜的域來承載部分或全部網站的重點。

所以我的問題是這樣的:

1)是使用API​​這樣準備進行任何安全好處?我們是否有其他方法可以確保應用程序的安全,並且數據是安全的,從而不會影響開發速度。

2)是否使用必要的隱蔽域來保持應用程序的安全?再次,有沒有其他方法可以同樣有效,對於未來的開發人員來說看起來並不奇怪?

3)管理系統使用用戶名和密碼進行保護。將管理系統安裝在website.com/admin而不是randomcharacters.com上一樣安全嗎?

+0

僱員:我如何訪問管理區域? ... HiPPO:你得到了http://fd7fsdfcxc9sffgdfg9b0kjh9rewfr9sas9vhfghg.com得到了......哦,你不允許將它同步到一個不安全的地方,它不允許加入書籤; p –

回答

2
  1. 使用這樣的API會帶來什麼安全性好處嗎?我們是否有其他方法可以確保應用程序的安全,並且數據是安全的,從而不會影響開發速度。

API應該通過OAuth訪問令牌(AuthN)等認證機制來保護。誰可以做該API上的內容,然後由訪問令牌(AuthZ)中的聲明確定。認證和授權應該用這些術語來思考。

'我是這個校長,我可以證明這一點,因爲我有一個你發給我的標記,你可以驗證只有你可以發佈它。我有很多的信息,您可以使用到什麼我被允許做」作出決定的

  • 是利用必要的一個不起眼的領域保證應用程序的安全?再次,有沒有其他方法可以同樣有效,對於未來的開發人員來說看起來並不奇怪?
  • 不,使用隱蔽域名不提供任何級別的安全性。它們只是通過DNS條目轉換爲IP地址的字母 - 要使用my-website-address.com或hdsfiuycxzuyecgfr.com,您必須將此信息傳達給某人,並且此時他們同樣安全!

    1. 管理系統使用用戶名和密碼進行保護。將管理系統安裝在website.com/admin而不是randomcharacters.com上一樣安全嗎?

    問的問題是,誰是系統不同部分的用戶,誰應該訪問什麼?前端應用程序是否可以在互聯網上公開顯示,並可供不同客戶使用?管理體系是否屬於同一類別,還是更多的是內部工具?確定組件的用例,並考慮您是通過應用程序邏輯(如OAuth令牌)還是基礎架構限制(例如,只有特定IP地址範圍/子網內的計算機才能訪問管理工具)來保護它們。它通常是應用程序和基礎架構安全性的組合,可提供最佳級別的保護。

    讓前端應用程序和託管爲不同應用程序的管理工具可能允許您在它們周圍應用不同的安全邊界,這可能很有用。

    然而,這是一個決定你的威脅演員是誰並據此進行設計的問題。

    1

    一個晦澀的域名只需要泄漏一次某處;只要任何攻擊者獲得域名的風頭,它就不再是晦澀難懂的,並且不會帶來任何好處。如果您有一個公共網站向「隱蔽」後端進行API調用,那麼該域名已被公佈。

    不,爲安全起見,使用不明確名稱幾乎沒有意義。如果您的API不安全並且允許未經授權的訪問,是您的安全弱點;而不是域名可能已知的事實。