網(wǎng)站使用https服務(wù)
1,目標(biāo)
我們現(xiàn)在使用的是http協(xié)議明文傳輸,如果后期有賬號密碼等敏感信息時明文傳輸就會非常不安全入宦。所以使用https服務(wù)非常關(guān)鍵了,我們在前章節(jié)的基礎(chǔ)上進行進一步修改驶鹉。
2脚囊,設(shè)計分析
在開通https服務(wù)之前我們需要先準(zhǔn)備這些內(nèi)容:域名固逗、ssh證書彬坏。
我用的是在阿里云申請的免費證書挟鸠,1年可申請20個(Symantec免費版 SSL)嘉赎。
在開啟https服務(wù)后我們還需要修改防火墻規(guī)則置媳。最后還需要讓http服務(wù)強行切換成https服務(wù)。
針對證書安裝公条、防火墻配置拇囊、服務(wù)強行切換在下文中詳細描述。
3靶橱,設(shè)計內(nèi)容
證書安裝
首先先去申請證書寥袭,把域名信息、個人信息都填好后关霸,就可以提交申請了传黄,然后2小時左右就能申請成功并下發(fā)。進入控制臺找到申請成功的證書队寇,我們搭建的是tomcat服務(wù)器膘掰,所以點擊下載tomcat如下圖
下載后解壓,有兩個文件佳遣。
其中pfx-password.txt文件內(nèi)存放的是密碼识埋,文章下文中后面會用到凡伊。
還一個是證書文件,我下載的證書是3829361_www.simbahiker.com.pfx
通過WinSCP工具將證書文件上傳到服務(wù)器普通用戶目錄中窒舟。
然后將其放置到指定的路徑(/opt/tomcat/cert)下
sudo mkdir /opt/tomcat/cert
sudo cp 3829361_www.simbahiker.com.pfx /opt/tomcat/cert/
防火墻配置
首先使用https服務(wù)需要用到433端口系忙。在前個章節(jié)中描述過屬于系統(tǒng)端口號,那么繼續(xù)利用端口映射的方式辜纲。這里我們讓443端口映射到8443笨觅。
sudo iptables -A PREROUTING -t nat -p tcp --dport 443 -j REDIRECT --to-port 8443
這樣一來我們還需要防火墻再開通兩個端口號
sudo ufw allow 443
sudo ufw allow 8443
由于我們修改了防火墻配置,那么需要重新保存iptables規(guī)則
su root
iptables-save > /etc/iptables.rules
后面的指令使用普通用戶前行即可
su hiker
hiker是我的用戶名耕腾,請?zhí)钭约旱摹?/p>
然后配置 server.xml
sudo vi /opt/tomcat/conf/server.xml
填加如下信信息,注意下文中的3829361_www.simbahiker.com.pfx請?zhí)钭约旱淖C書,XXXXXXXX填寫pfx-password.txt文件中保存的密碼杀糯。
<Connector port="8443"
protocol="HTTP/1.1"
SSLEnabled="true"
scheme="https"
secure="true"
keystoreFile="/opt/tomcat/cert/3829361_www.simbahiker.com.pfx"
keystoreType="PKCS12"
keystorePass="XXXXXXXX"
clientAuth="false"
SSLProtocol="TLSv1+TLSv1.1+TLSv1.2"
ciphers="TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA256"/>
如下圖
繼續(xù)修改此文件扫俺,找到connector port="8080"的位置,配置http跳轉(zhuǎn)端口號為443固翰。
最后修改web.xml添加http強行調(diào)整功能狼纬。
sudo vi /opt/tomcat/conf/web.xml
這個文件非常大,這里說個小技巧可以快速到文件結(jié)尾骂际。在vi編輯器下輸入:10000000直接跳轉(zhuǎn)到10000000行的位置就到最后了疗琉。添加如下內(nèi)容
<login-config>
<!-- Authorization setting for SSL -->
<auth-method>CLIENT-CERT</auth-method>
<realm-name>Client Cert Users-only Area</realm-name>
</login-config>
<security-constraint>
<!-- Authorization setting for SSL -->
<web-resource-collection >
<web-resource-name >SSL</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
如下圖所示
tomcat服務(wù)重啟
sudo systemctl restart tomcat
瀏覽器打開門戶網(wǎng)測試
4,總結(jié)
本章節(jié)主要是對SSL證書安裝歉铝、端口映射盈简、防火墻配置、http強行跳轉(zhuǎn)到https服務(wù)太示。
其中防火墻配置柠贤,我們雖然http已經(jīng)強行跳轉(zhuǎn)為https服務(wù),但是在訪問過程中在跳轉(zhuǎn)之前還是會用到80类缤、8080這兩個端口臼勉,因此防火墻依然不可以關(guān)閉這兩個端口。
https://www.simbahiker.com/news/0220200426002.html