"
"
1.用普通用戶運行Apache
- 在計算機管理的本地用戶裡新建一個用戶
- 我的電腦——屬性——管理——服務——Apache服務——屬性——登錄
2.Apache目錄權限設置
- Apache所在的根目錄只需要讀取權限;可以在權限設置高級裡選擇——應用到:只有該文件夾——權限:列出文件夾/讀取數據, 讀取屬性,讀取擴展屬性,讀取權限——確定
- Apache的上級目錄,需要讀取權限
- Apache目錄需要列出文件夾目錄”和“讀取”的權限
- Apache下的bin和modules目錄需要讀取和運行權限;logs目錄需要讀寫權限
3.php目錄權限配置
- PHP目錄需要讀取與運行權限
4.mysql目錄權限配置
- Mysql目錄下的bin文件夾和文件(mysql)需要為添加apache用戶的“遍歷文件夾和運行文件”、“列出文件夾和讀取數據”的權限(可以在權限高級設置裡找到)
5.限制讀取訪問目錄,修改Apache安裝目錄下conf下的httpd.conf文件
- 加入:
php_admin_value open_basedir "允許讀取的目錄"
php_admin_value safe_mode On
6.網站根目錄權限配置
- 根目錄上級目錄需要讀取(“列出文件夾和讀取數據”、“讀取屬性”、“讀取擴展屬性”、“讀取權限”)的權限(和Apache的上級目錄權限雷同,不需要繼承到子目錄和文件中去)。
- 根目錄需要讀取權限
基於Linux
1.賬號設置
以專門的用戶賬號和組運行Apache
groupadd 組名 //創建組
useradd 名字 -g 組名 //創建用戶並加入組
在Apache配置文件中加入:
User 名字、Group 組名 //以該用戶運行Apache
2.授權設置
Apache主目錄對應於Apache server配置文件的server root選項中:
server root "Apache主目錄" //限定條件:非超級用戶不能修改Apache主目錄的內容
1
設置配置文件的權限為600;只有屬組可讀寫,其他用戶無權限
設置日誌文件權限為644;屬組可讀寫,其他用戶可讀
3.日誌設置
配置相應的日誌功能,對運行錯誤、用戶訪問等進行記錄,內容包括時間,用戶使用的ip等]
編輯Apache配置文件,設置日誌記錄文件、記錄內容、記錄格式
配置記錄錯誤日誌:
LogLevel notice #日誌的級別;日誌的級別,默認是warn,notice級別比較詳細
ErrorLog /„/logs/error_log #日誌的保存位置(錯誤日誌);ErrorLog 指令設置錯誤日誌文件名和位置。Apache httpd 將在這個文件中存放診斷信息和處理請求中出現的錯誤。
CustomLog /„/logs/access_log combined (訪問日誌) #CustomLog 指令指定了保存日誌文件的具體位置以及日誌的格式。訪問日誌中會記錄服務器所處理的所有請求。
LogFormat #設置日誌格式,建議設置為combined 格式。
LogLevel #用於調整記錄在錯誤日誌中的信息的詳細程度,建議設置為notice。
4.禁止訪問外部文件
禁止Apache訪問web目錄之外的任何文件
編輯Apache配置文件
<Directory /web>
Order Allow,Deny
Allow from all
</Directory>
// 設置可訪問目錄
5.目錄列出
禁止Apache列表顯示文件,修改配置文件
<Directory “”/web”">
Options Indexes FollowSymLinks #刪掉
Indexes
AllowOverride None
Order allow,deny
Allow from all
</Directory>
//將Options Indexes FollowSymLinks 中的Indexes 去掉,就可以禁止Apache 顯示該目錄結構。Indexes 的作用就是當該目錄下沒有index.html文件時,就顯示目錄結構。
6.錯誤頁面重定向
修改配置文件
ErrorDocument 400 /custom400.html
ErrorDocument 401 /custom401.html
ErrorDocument 403 /custom403.html
ErrorDocument 404 /custom404.html
ErrorDocument 405 /custom405.html
http://www.013188.com
ErrorDocument 500 /custom500.html
Customxxx.html 為要設置的錯誤頁面。
7.隱藏Apache版本號
修改配置文件
ServerSignature Off ServerTokens Prod //默認是ServerSignature On ServerTokens OS
8.禁用CGI
如果不需要運行CGI程序,儘量禁用CGI
修改配置文件:把cgi-bin 目錄的配置和模塊都註釋掉
相關推薦
推薦中...