2010-06-05 68 views

回答

4

網站本質上容易受到攻擊和騙子的攻擊。它們是外部世界和部署在其上的數據或系統的物理行爲之間的門戶。在部署關鍵任務系統時,保持它們的安全並減少黑客可能造成的潛在損害應始終處於您頭腦的最前沿。

隨着中說,這裏有一些建議的部署提示:

  • ALWAYS Sandbox中的Web應用程序在自己的權限空間。在大多數操作系統中,這意味着給他們自己的非特權用戶帳戶,他們幾乎只知道駐留在目錄空間中的Web應用程序。當涉及到在整個操作系統中向該用戶授予權限時,先採取「先拒絕,再允許一些」的方法。
    影響:在系統上使用您的應用程序做特殊事情可能會比較困難,並且可能需要您在自動化配置系統(如Puppet或Chef)上投入一些時間和金錢,以便您不必記住那些內容設置是每次。但主要的好處是,如果您的應用程序受到攻擊,攻擊者很可能只能訪問該用戶的帳戶,因此無權造成太大的損失。沙盒在多領域或多應用環境中尤爲重要。如果你在Linux上運行,你可能想看看SELinux。

  • 部署策略可能會有所不同。我發現的最好方法是在遠程主機上創建一個sudo特權帳戶,以通過(mr_deployer)進行部署。通過這種方式,您的部署服務器可以使用sudo功能來按照您認爲合適的方式配置系統,但是該web應用程序在啓動時將以您爲其創建的低級用戶(mr_app)運行。您可以在啓動之前更改my_app擁有的應用程序文件的權限。 影響:沒有網絡應用程序應該需要sudo功能。這是一個嚴重的安全漏洞。你不是美國航空航天局。你沒有時間或專業知識來使其萬無一失。甚至有時NASA也是錯誤的。

  • 總是禁用主機上的根SSH登錄功能。除非有一個很好的理由(甚至是......),否則您絕不應該以root身份進行SSH連接並部署應用程序。
    含義:如果你可以通過SSH進入,別人可以。部署爲不同用戶的好處是,黑客難以猜測用戶名:每個系統上都有「root」或「administrator」用戶。

  • 只要記住:如果黑客可以闖入用戶的應用程序,用戶可能會被入侵。減少一個用戶可以做的損害的數量:這是很多系統管理員的座右銘。

祝你好運! - Harmon