建站綜合設(shè)置
1剪侮,目的
現(xiàn)在我們的門戶已經(jīng)被其他人訪問(wèn)了垦页,但是還存在一些問(wèn)題:
(1)如何取消瀏覽器輸入服務(wù)器IP后的8080娘锁;
(2)如何提高服務(wù)器的安全性钮莲。
服務(wù)器IP可當(dāng)做是域名地址照藻,因?yàn)楹竺嫖覀兩暾?qǐng)到域名后會(huì)把域名和服務(wù)器IP進(jìn)行綁定袜啃。那么在域名后顯示一個(gè):8080是一個(gè)非常奇怪的事情,訪問(wèn)起來(lái)也不方便幸缕。
另外一個(gè)方面是我們?nèi)绾翁岣甙踩浴群发,F(xiàn)在我們的門戶網(wǎng)是完全暴露在互聯(lián)網(wǎng)上,我們需要建立一個(gè)圍墻发乔,防止咱們私有財(cái)產(chǎn)被輕易篡改熟妓。
2,設(shè)計(jì)分析
對(duì)于消除域名后的":8080"問(wèn)題栏尚,網(wǎng)上搜索很多人的方法是直接將端口由8080改成80起愈,由于80端口是http訪問(wèn)的默認(rèn)端口,所以在不輸入端口時(shí)會(huì)默認(rèn)訪問(wèn)80端口译仗。理論上講這樣調(diào)整是完全可行的抬虽,但是我們使用這個(gè)方法會(huì)產(chǎn)生新的問(wèn)題。主要原因是由于小于1024的端口都是系統(tǒng)端口纵菌,如果訪問(wèn)這些端口那么必須獲取超級(jí)用戶的權(quán)限斥赋,在前文中也提到,我們搭建的tomcat采用的是普通用戶權(quán)限产艾。那么tomcat就無(wú)法訪問(wèn)80端口疤剑,對(duì)于我們來(lái)說(shuō)這個(gè)問(wèn)題并未被解決滑绒。
繼續(xù)查詢有發(fā)現(xiàn)了幾個(gè)方法:1)給tomcat訪問(wèn)80端口時(shí)獲得超級(jí)權(quán)限,其它端口依舊是普通權(quán)限隘膘,這樣tomcat就具備了此端口的使用權(quán)疑故。2)利用系統(tǒng)自帶的工具iptables進(jìn)行端口映射,將系統(tǒng)的80端口映射到8080端口上弯菊,那么在訪問(wèn)80端口時(shí)就是訪問(wèn)的8080纵势。最終使用的方法是后者。
對(duì)于安全性處理管钳,首先我的處理是安裝防火墻钦铁。其次就是對(duì)一些tomcat默認(rèn)配置網(wǎng)頁(yè)進(jìn)行裁切,作為搭建門戶網(wǎng)站而言后面不會(huì)使用那些配置頁(yè)面才漆,防止被惡意篡改最好進(jìn)行刪除處理牛曹。
3,設(shè)計(jì)內(nèi)容
配置轉(zhuǎn)發(fā)規(guī)則醇滥,外網(wǎng)訪問(wèn)80端口時(shí)數(shù)據(jù)直接轉(zhuǎn)發(fā)到8080端口黎比,指令如下
sudo iptables -A PREROUTING -t nat -p tcp --dport 80 -j REDIRECT --to-port 8080
現(xiàn)在可以在瀏覽器中嘗試直接輸入服務(wù)器地址而不加端口號(hào)
http://192.168.146.134/
在配置完成后將規(guī)則進(jìn)行保存,保存之前需要先獲取超級(jí)用戶權(quán)限。
su root
iptables-save > /etc/iptables.rules
這個(gè)指令非常關(guān)鍵鸳玩,后文中會(huì)多次被用到阅虫。比如修改防火墻配置、添加新的端口映射等不跟。如果規(guī)則調(diào)整后但是未進(jìn)行保存颓帝,那么重啟后規(guī)則將會(huì)被還原(前次配置不會(huì)生效)。
自動(dòng)啟用規(guī)則方法如下:
sudo vi /etc/network/if-pre-up.d/iptables
添加如下內(nèi)容
#!/bin/bash
/sbin/iptables-restore < /etc/iptables.rules
對(duì)此腳本添加系統(tǒng)權(quán)限
sudo chmod +x /etc/network/if-pre-up.d/iptables
這里需要說(shuō)明一下窝革,為什么開機(jī)自啟動(dòng)文件放置在if-pre-up.d而非是.bashrc或者.profile购城,主要因?yàn)槲覀円?guī)則啟用必須是root權(quán)限。
安裝防火墻
sudo apt-get install ufw
開啟防火墻
sudo ufw enable
輸入Y
查看防火墻狀態(tài)
sudo ufw status
顯示“Status: active”表示已經(jīng)激活
現(xiàn)在我們的網(wǎng)站已經(jīng)無(wú)法打開了聊闯,我們需要添加允許通過(guò)的端口。
sudo ufw allow 22
sudo ufw allow 80
sudo ufw allow 8080
允許22米诉、80和8080端口號(hào)通過(guò)菱蔬,允許后我們的網(wǎng)站又可以被訪問(wèn)了。其中22是我們使用ssh服務(wù)的端口史侣,我們后續(xù)的操作都需要的所以必須要打開拴泌。
查看防火墻已經(jīng)開通的端口狀態(tài)
sudo ufw status
由于我們修改了防火墻的允許規(guī)則,那么需要重新保存iptables規(guī)則
su root
iptables-save > /etc/iptables.rules
現(xiàn)在我們就可以重啟了惊橱,再次啟動(dòng)后查看所有的配置是否正常蚪腐。
關(guān)閉自動(dòng)部署功能,仿真黑客安裝未確認(rèn)的應(yīng)用程序税朴。
sudo vi /opt/tomcat/conf/server.xml
找到下圖位置進(jìn)行修改將autoDeploy="true"改成false
刪除docs回季、examples家制、host-manager、manager目錄泡一。
注意:第三條指令“l(fā)s | grep -v ROOT |xargs rm -rf”必須在webapps 路徑下執(zhí)行颤殴。
注意:第三條指令“l(fā)s | grep -v ROOT |xargs rm -rf”必須在webapps 路徑下執(zhí)行。
注意:第三條指令“l(fā)s | grep -v ROOT |xargs rm -rf”必須在webapps 路徑下執(zhí)行鼻忠。
su root
cd /opt/tomcat/webapps/
ls | grep -v ROOT |xargs rm -rf
當(dāng)請(qǐng)求處理發(fā)生錯(cuò)誤時(shí)涵但,Tomcat會(huì)向請(qǐng)求者顯示調(diào)試信息,在Tomcat根目錄下的conf/web.xml文件里面的web-app添加子節(jié)點(diǎn):
<error-page>
<exception-type>java.lang.Throwable</exception-type>
<location>/error.jsp</location>
</error-page>
當(dāng)訪問(wèn)未定義的網(wǎng)址或錯(cuò)誤頁(yè)面時(shí)帖蔓,自動(dòng)跳轉(zhuǎn)到error.html頁(yè)面
<error-page>
<error-code>404</error-code>
<location>/error.html</location>
</error-page>
<error-page>
<error-code>500</error-code>
<location>/error.html</location>
</error-page>
4矮瘟,總結(jié)
IP映射功能設(shè)置完成后,頁(yè)面就可以通過(guò)IP訪問(wèn)了塑娇。防火墻在修改或配置完成后需要重新保存iptables規(guī)則澈侠,不然重啟后規(guī)則會(huì)丟失。
對(duì)于安全性考慮钝吮,我們現(xiàn)在使用的是http服務(wù)埋涧,所有信息是以明文傳輸?shù)摹:竺嬗辛擞蛎覀兙涂梢圆捎胔ttps服務(wù)奇瘦,這樣安全性會(huì)進(jìn)一步提高棘催。
現(xiàn)在我們就抓緊時(shí)間去租借域名和服務(wù)器了。域名需要實(shí)名認(rèn)證和域名信息設(shè)置耳标,域名審核的時(shí)間比較快1~2天就好了醇坝。域名和服務(wù)器綁定需要進(jìn)行備案,這個(gè)時(shí)間較長(zhǎng),我辦下來(lái)超過(guò)1周次坡。
https://www.simbahiker.com/news/0220200426001.html