簡體   English   中英

Apache是​​否足以防止未經授權的訪問?

[英]Is Apache enough to prevent unauthorized access?

我剛剛被分配完成具有用戶受限訪問權限的應用程序的開發。 最初的開發者和我一樣都是合作社學生。

在查看了他的代碼之后,看來用戶僅訪問過index.php,而其他的php頁面在對用戶進行身份驗證並確定請求后才通過Include語句調用。

include __DIR__ . DIRECTORY_SEPARATOR . 'pages' . DIRECTORY_SEPARATOR . $page . 'Logic.php';

但是,我注意到他的網絡應用程序的包含文件中有一條評論,

// Since this page can be accessed if the user knows its
// URL, we must check if user has been authenticated and
// authorized through index.php
// todo

他意識到存在一個漏洞,使得可以猜測某些文件名稱的用戶可以獲得未經身份驗證的訪問權限,他建議在每個包含文件的開頭執行其他授權檢查。

我已經了解了一些有關Apache的知識,並且知道它可以限制用戶對某些文件和/或目錄的訪問。 但是,如果我這樣做了,我不確定是否足夠,是否還應該在index.php中的一些auth檢查中編寫代碼。

如果配置正確,Apache本身只需稍作調整即可處理一些基本攻擊。

您可以了解有關使用.htaccess防止直接訪問文件的信息,因為某些攻擊者將放置后門以獲得訪問權限,而他們必須直接訪問后門。 本教程可以成為學習它的一個很好的開始。

您還可以使用apache設置基本權限 ,因此只有授權人員才能訪問。

如果您喜歡修改更多內容,則可以開始學習使用mod_security來防止某些高級攻擊,只需確保您不會因為自己的配置而陷入麻煩,因為某些配置會觸發誤報。 您可以從OWASP應用一些免費規則,以便了解其工作原理。 或者,如果您需要更高級的規則,則可以從trustwave購買正式規則 (是的,它很昂貴),或者從atomorop購買更便宜的規則 (更便宜,更完整的規則,但有時會帶來很多誤報)。

如果php引擎被禁用並直接訪問頁面目錄下的任何URL,無論是在主配置中還是.htaccess文件中,那么這足以防止人們無需瀏覽index.php頁面即可訪問頁面。 但是從您的描述來看並非如此。 此外,即使有這些限制,它也不是一個非常安全的體系結構,但是您需要多少安全性取決於您要保護的內容-您沒有告訴我們任何相關信息。

向每個腳本添加身份驗證是解決問題的非常糟糕的方法。

不幸的是,但是與許多人相比,Apache並不完全安全。 這樣做的目的是使開發人員很難在代碼中創建良好的結構和組織。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM