一、創建httpd服務,要求:
(1) 提供兩個基於名稱的虛擬主機:
www1.stuX.com,頁面文件目錄爲/web/vhosts/www1;錯誤日誌爲/var/log/httpd/www1/error_log,訪問日誌爲/var/log/httpd/www1/access_log;
www2.stuX.com,頁面文件目錄爲/web/vhosts/www2;錯誤日誌爲/var/log/httpd/www2/error_log,訪問日誌爲/var/log/httpd/www2/access_log;
(2) 經過www1.stuX.com/server-status輸出其狀態信息,且要求只容許提供帳號的用戶訪問;
(3) www1不容許192.168.1.0/24網絡中的主機訪問;html
二、爲上面的第2個虛擬主機提供https服務,使得用戶能夠經過https安全的訪問此web站點;
(1) 要求使用證書認證,證書中要求使用國家(CN),州(Beijing),城市(Beijing),組織爲(jzbg);
(2) 設置部門爲Ops, 主機名爲www2.stuX.com;web
參考:https://www.cnblogs.com/jzbgltb/p/10051124.html
參考:http://uee.me/bh4Gh
參考:https://blog.51cto.com/shumao/1826349?source=dra
參考:https://www.cnblogs.com/jiesying/p/7710888.html數據庫
一、基於域名的虛擬主機,配置兩個虛擬機主機,沒有域名的使用hosts解析,監聽在本地IP或全部IP的80端口。
二、經過www1.stuX.com/server-status輸出其狀態信息 即添加一個location,安全
1三、status頁面 LoadModule status_module modules/mod_status.so httpd-2.2 <Location /server-status> SetHandler server-status Order allow,deny Allow from 172.16 </Location> httpd-2.4 <Location /server-status> SetHandler server-status <RequireAll> Require ip 172.16 </RequireAll> </Location>
三、資源限制訪問bash
十一、基於用戶的訪問控制 認證質詢: WWW-Authenticate:響應碼爲401,拒絕客戶端請求,並說明要求客戶端提供帳號和密碼; 認證: Authorization:客戶端用戶填入帳號和密碼後再次發送請求報文;認證經過時,則服務器發送響應的資源; 認證方式有兩種: basic:明文 digest:消息摘要認證 安全域:須要用戶認證後方能訪問的路徑;應該經過名稱對其進行標識,以便於告知用戶認證的緣由; 用戶的帳號和密碼存放於何處? 虛擬帳號:僅用於訪問某服務時用到的認證標識 存儲: 文本文件; SQL數據庫; ldap目錄存儲; basic認證配置示例: (1) 定義安全域 <Directory ""> Options None AllowOverride None AuthType Basic AuthName "String「 AuthUserFile "/PATH/TO/HTTPD_USER_PASSWD_FILE" Require user username1 username2 ... </Directory> 容許帳號文件中的全部用戶登陸訪問: Require valid-user (2) 提供帳號和密碼存儲(文本文件) 使用專用命令完成此類文件的建立及用戶管理 htpasswd [options] /PATH/TO/HTTPD_PASSWD_FILE username -c:自動建立此處指定的文件,所以,僅應該在此文件不存在時使用; -m:md5格式加密 -s: sha格式加密 -D:刪除指定用戶 -b:批模式添加用戶 htpasswd -b [options] /PATH/TO/HTTPD_PASSWD_FILE username password 另外:基於組帳號進行認證; (1) 定義安全域 <Directory ""> Options None AllowOverride None AuthType Basic AuthName "String「 AuthUserFile "/PATH/TO/HTTPD_USER_PASSWD_FILE" AuthGroupFile "/PATH/TO/HTTPD_GROUP_FILE" Require group grpname1 grpname2 ... </Directory> (2) 建立用戶帳號和組帳號文件; 組文件:每一行定義一個組 GRP_NAME: username1 username2 ...
四、限制不一樣網段主機訪問服務器
站點訪問控制常見機制 可基於兩種機制指明對哪些資源進行何種訪問控制 文件系統路徑: <Directory ""> ... </Directory> <File ""> ... </File> <FileMatch "PATTERN"> ... </FileMatch> URL路徑: <Location ""> ... </Location> <LocationMatch "PATTERN"> ... </LocationMatch> <Directory>中「基於源地址」實現訪問控制: httpd-2.2: order和allow、deny order:定義生效次序;寫在後面的表示默認法則; Allow from, Deny from 來源地址: IP NetAddr: 172.16 172.16.0.0 172.16.0.0/16 172.16.0.0/255.255.0.0 httpd-2.4: 基於IP控制: Require ip IP地址或網絡地址 Require not ip IP地址或網絡地址 基於主機名控制: Require host 主機名或域名 Require not host 主機名或域名 要放置於<RequireAll>配置塊中或<RequireAny>配置塊中; 控制頁面資源容許全部來源的主機可訪問: httpd-2.2 <Directory ""> ... Order allow,deny Allow from all </Directory> httpd-2.4 <Directory ""> ... Require all granted </Directory> 控制頁面資源拒絕全部來源的主機可訪問: httpd-2.2 <Directory ""> ... Order allow,deny Deny from all </Directory> httpd-2.4 <Directory ""> ... Require all denied </Directory> Options:Configures what features are available in a particular directory 後跟1個或多個以空白字符分隔的「選項」列表; Indexes:指明的URL路徑下不存在與定義的主頁面資源相符的資源文件時,返回索引列表給用戶; FollowSymLinks:容許跟蹤符號連接文件所指向的源文件; None: All:All options except for MultiViews.
五、status頁面網絡
1三、status頁面 LoadModule status_module modules/mod_status.so httpd-2.2 <Location /server-status> SetHandler server-status Order allow,deny Allow from 172.16 </Location> httpd-2.4 <Location /server-status> SetHandler server-status <RequireAll> Require ip 172.16 </RequireAll> </Location>