1. <wbr id="cnjas"><legend id="cnjas"></legend></wbr>

          Linux培訓
          達內IT學院

          400-111-8989

          在 Apache 上使用網絡安全服務(NSS)實現 HTTPS--RHCE 系列(八)

          • 發布:Linux培訓
          • 來源:紅帽認證考試
          • 時間:2015-12-21 15:26

          達內linux認證頻道為大家分享:RHCE 系列:第八部分 - 使用網絡安全服務(NSS)為 Apache 通過 TLS 實現 HTTPS

          如果你是一個負責維護和確保 web 服務器安全的系統管理員,你需要花費最大的精力確保服務器中處理和通過的數據任何時候都受到保護。

          為了在客戶端和服務器之間提供更安全的連接,作為 HTTP 和 SSL(Secure Sockets Layer(安全套接層))或者最近稱為 TLS(Transport Layer Security(傳輸層安全))的組合,產生了 HTTPS 協議。

          由于一些嚴重的安全漏洞,SSL 已經被更健壯的 TLS 替代。由于這個原因,在這篇文章中我們會解析如何通過 TLS 實現你 web 服務器和客戶端之間的安全連接。

          這里假設你已經安裝并配置好了 Apache web 服務器。如果還沒有,在進入下一步之前請閱讀下面站點中的文章。

          在 RHEL/CentOS 7 上安裝 LAMP(Linux,MySQL/MariaDB,Apache 和 PHP)

          安裝 OpenSSL 和一些工具包

          首先,確保正在運行 Apache 并且允許 http 和 https 通過防火墻:

              # systemctl start http
              # systemctl enable http
              # firewall-cmd --permanent –-add-service=http
              # firewall-cmd --permanent –-add-service=https

          然后安裝一些必需的軟件包:

              # yum update && yum install openssl mod_nss crypto-utils

          重要:請注意如果你想使用 OpenSSL 庫而不是 NSS(Network Security Service(網絡安全服務))實現 TLS,你可以在上面的命令中用 mod_ssl 替換 mod_nss(使用哪一個取決于你,但在這篇文章中我們會使用 NSS,因為它更加安全,比如說,它支持最新的加密標準,比如 PKCS #11)。

          如果你使用 mod_nss,首先要卸載 mod_ssl,反之如此。

              # yum remove mod_ssl

          配置 NSS(網絡安全服務)

          安裝完 mod_nss 之后,會創建默認的配置文件 /etc/httpd/conf.d/nss.conf。你應該確保所有 Listen 和 VirualHost 指令都指向 443 號端口(HTTPS 默認端口):

          nss.conf – 配置文件

              Listen 443
              VirtualHost _default_:443

          然后重啟 Apache 并檢查是否加載了 mod_nss 模塊:

              # apachectl restart
              # httpd -M | grep nss

          在 Apache 中檢查 mod_nss 模塊

          在 Apache 中檢查 mod_nss 模塊

          檢查 Apache 是否加載 mod_nss 模塊

          下一步,在 /etc/httpd/conf.d/nss.conf 配置文件中做以下更改:

          1、 指定 NSS 數據庫目錄。你可以使用默認的目錄或者新建一個。本文中我們使用默認的:

              NSSCertificateDatabase /etc/httpd/alias

          2、 通過保存密碼到數據庫目錄中的 /etc/httpd/nss-db-password.conf 文件來避免每次系統啟動時要手動輸入密碼:

              NSSPassPhraseDialog file:/etc/httpd/nss-db-password.conf

          其中 /etc/httpd/nss-db-password.conf 只包含以下一行,其中 mypassword 是后面你為 NSS 數據庫設置的密碼:

              internal:mypassword

          另外,要設置該文件的權限和屬主為 0640 和 root:apache:

              # chmod 640 /etc/httpd/nss-db-password.conf
              # chgrp apache /etc/httpd/nss-db-password.conf

          3、 由于 POODLE SSLv3 漏洞,紅帽建議停用 SSL 和 TLSv1.0 之前所有版本的 TLS(更多信息可以查看這里)。

          確保 NSSProtocol 指令的每個實例都類似下面一樣(如果你沒有托管其它虛擬主機,很可能只有一條):

              NSSProtocol TLSv1.0,TLSv1.1

          4、 由于這是一個自簽名證書,Apache 會拒絕重啟,并不會識別為有效發行人。由于這個原因,對于這種特殊情況我們還需要添加:

              NSSEnforceValidCerts off

          5、 雖然并不是嚴格要求,為 NSS 數據庫設置一個密碼同樣很重要:

              # certutil -W -d /etc/httpd/alias

          為 NSS 數據庫設置密碼

          為 NSS 數據庫設置密碼

          創建一個 Apache SSL 自簽名證書

          下一步,我們會創建一個自簽名證書來讓我們的客戶機可以識別服務器(請注意這個方法對于生產環境并不是最好的選擇;對于生產環境你應該考慮購買第三方可信證書機構驗證的證書,例如 DigiCert)。

          我們用 genkey 命令為 box1 創建有效期為 365 天的 NSS 兼容證書。完成這一步后:

              # genkey --nss --days 365 box1

          選擇 Next:

          創建 Apache SSL 密鑰

          創建 Apache SSL 密鑰

          你可以使用默認的密鑰大小(2048),然后再次選擇 Next:

          選擇 Apache SSL 密鑰大小

          選擇 Apache SSL 密鑰大小

          等待系統生成隨機比特:

          生成隨機密鑰比特

          生成隨機密鑰比特

          為了加快速度,會提示你在控制臺輸入隨機字符,正如下面的截圖所示。請注意當沒有從鍵盤接收到輸入時進度條是如何停止的。然后,會讓你選擇:

          是否發送驗證簽名請求(CSR)到一個驗證機構(CA):選擇 No,因為這是一個自簽名證書。

          為證書輸入信息。

          最后,會提示你輸入之前給 NSS 證書設置的密碼:

              # genkey --nss --days 365 box1

          Apache NSS 證書密碼

          Apache NSS 證書密碼

          需要的話,你可以用以下命令列出現有的證書:

              # certutil –L –d /etc/httpd/alias

          列出 Apache NSS 證書

          列出 Apache NSS 證書

          然后通過名字刪除(如果你真的需要刪除的,用你自己的證書名稱替換 box1):

              # certutil -d /etc/httpd/alias -D -n "box1"

          如果你需要繼續進行的話,請繼續閱讀。

          測試 Apache SSL HTTPS 連接

          最后,是時候測試到我們服務器的安全連接了。當你用瀏覽器打開 https://,你會看到著名的信息 “This connection is untrusted”:

          檢查 Apache SSL 連接

          檢查 Apache SSL 連接

          在上面的情況中,你可以點擊添加例外(Add Exception) 然后確認安全例外(Confirm Security Exception) - 但先不要這么做。讓我們首先來看看證書看它的信息是否和我們之前輸入的相符(如截圖所示)。

          要做到這點,點擊上面的視圖(View...)-> 詳情(Details)選項卡,當你從列表中選擇發行人你應該看到這個:

          確認 Apache SSL 證書詳情

          確認 Apache SSL 證書詳情

          現在你可以繼續,確認例外(限于此次或永久),然后會通過 https 把你帶到你 web 服務器的 DocumentRoot 目錄,在這里你可以使用你瀏覽器自帶的開發者工具檢查連接詳情:

          在火狐瀏覽器中,你可以通過在屏幕中右擊,然后從上下文菜單中選擇檢查元素(Inspect Element)啟動開發者工具,尤其要看“網絡(Network)”選項卡:

          檢查 Apache HTTPS 連接

          檢查 Apache HTTPS 連接

          請注意這和之前顯示的在驗證過程中輸入的信息一致。還有一種方式通過使用命令行工具測試連接:

          左圖(測試 SSLv3):

              # openssl s_client -connect localhost:443 -ssl3

          右圖(測試 TLS):

              # openssl s_client -connect localhost:443 -tls1

          測試 Apache SSL 和 TLS 連接

          測試 Apache SSL 和 TLS 連接

          參考上面的截圖了解更詳細信息。

          總結

          我想你已經知道,使用 HTTPS 會增加會在你站點中輸入個人信息的訪客的信任(從用戶名和密碼到任何商業/銀行賬戶信息)。

          在那種情況下,你會希望獲得由可信驗證機構簽名的證書,正如我們之前解釋的(步驟和設置需要啟用例外的證書的步驟相同,發送 CSR 到 CA 然后獲得返回的簽名證書);否則,就像我們的例子中一樣使用自簽名證書即可。

          相關推薦:

          基于紅帽企業版Linux 7考試的考試目標

          預約申請免費試聽課

          填寫下面表單即可預約申請免費試聽!怕錢不夠?可就業掙錢后再付學費! 怕學不會?助教全程陪讀,隨時解惑!擔心就業?一地學習,可全國推薦就業!

          上一篇:在Linux 客戶端配置基于Kerberos 身份驗證的NFS 服務器--RHCE 系列(七)
          下一篇:使用無客戶端配置 Postfix 郵件服務器(SMTP)--RHCE 系列(九)

          在 RHEL/CentOS 7 中設置 NTP(網絡時間協議)服務器--RHCE 系列(十)

          在 Apache 上使用網絡安全服務(NSS)實現 HTTPS--RHCE 系列(八)

          在Linux 客戶端配置基于Kerberos 身份驗證的NFS 服務器--RHCE 系列(七)

          安裝Samba 并配置 Firewalld 和SELinux和Windows共享文件--RHCE 系列(六)

          • 掃碼領取資料

            回復關鍵字:視頻資料

            免費領取 達內課程視頻學習資料

          • 視頻學習QQ群

            添加QQ群:1143617948

            免費領取達內課程視頻學習資料

          Copyright ? 2021 Tedu.cn All Rights Reserved 京ICP備08000853號-56 京公網安備 11010802029508號 達內時代科技集團有限公司 版權所有

          選擇城市和中心
          黑龍江省

          吉林省

          河北省

          湖南省

          貴州省

          云南省

          廣西省

          海南省

          欧美做爰视频免费播放_做暖全过程免费的视频_性爱免费视频 百度 好搜 搜狗
          <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <文本链> <文本链> <文本链> <文本链> <文本链> <文本链>