httpd題目

題目

1、建立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網絡中的主機訪問;

2、爲上面的第2個虛擬主機提供https服務,使得用戶可以通過https安全的訪問此web站點;
(1) 要求使用證書認證,證書中要求使用國家(CN),州(Beijing),城市(Beijing),組織爲(jzbg);
(2) 設置部門爲Ops, 主機名爲www2.stuX.com;

參考

參考: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

實驗總結

1、基於域名的虛擬主機,配置兩個虛擬機主機,沒有域名的使用hosts解析,監聽在本地IP或所有IP的80端口。
2、通過www1.stuX.com/server-status輸出其狀態信息 即添加一個location,

13、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> 

3、資源限制訪問

11、基於用戶的訪問控制

    認證質詢:
        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  ...

4、限制不同網段主機訪問

站點訪問控制常見機制

可基於兩種機制指明對哪些資源進行何種訪問控制

    文件系統路徑:
        <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.

5、status頁面

13、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> 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章