事情是這樣的:
周五(2020年3月13日),公司綜合部的同事告訴我公司門戶網(wǎng)站80端被聯(lián)通封了,意味著我們公司網(wǎng)站對外已經(jīng)不能訪問了,問一下原因,甩給我一張截圖:
看了有點(diǎn)懵逼....
瀏覽器輸入 www.szyzzd.com 這個(gè)網(wǎng)址,確實(shí)被解析到了我公司的網(wǎng)站,我問了一圈同事,沒有人知道這個(gè)域名是誰注冊、解析到公司網(wǎng)站的,我對域名解析確實(shí)了解不多....我只知道域名是執(zhí)行服務(wù)器IP來達(dá)到用戶輸入域名可以訪問到服務(wù)器的,從我的認(rèn)知來看,域名的解析是域名持有人來配置的,我能有什么辦法?再說別的域名指向到我公司的服務(wù)器,多了一個(gè)訪問渠道,又有什么壞處???
想著讓聯(lián)通那邊的老師關(guān)停他的解析不就行了,關(guān)我們什么事情?結(jié)果老師的反饋如下:
看來問題不是我想的那么簡單,我就去查了一下什么是惡意域名解析:
乖乖,孤陋寡聞了....
回到我們要解決的問題,我們要聯(lián)通放開我們的80端口啊啊啊啊,因?yàn)闆]有處理這種事情的經(jīng)驗(yàn),虛心請教了聯(lián)通管事老師,我們需要怎么處理,老師給了兩點(diǎn)建議:
1.尋找域名來源,如非自身工作人員申請,可投訴域名商,要求去除惡意解析。
2.加強(qiáng)自身網(wǎng)絡(luò)安全防護(hù),要自身服務(wù)器阻斷惡意解析可以訪問的權(quán)限,出現(xiàn)惡意解析,應(yīng)反饋403錯(cuò)誤提示,而非自身網(wǎng)頁。
我主要關(guān)注第二條,公司門戶代碼不是我寫的,應(yīng)用不是我部署的,但是這個(gè)不重要,分析一下:
- 域名解析對應(yīng)的是服務(wù)器的公網(wǎng)地址;
- 域名解析對應(yīng)的默認(rèn)是80端口(廢話,不然封我們80端口還用鳥?)
- 80端口的使用者是公司的門戶應(yīng)用;
這個(gè)時(shí)候我查了一下,門戶是JAVA寫的,但是這個(gè)不重要,跟它沒關(guān)系,不能把鍋甩給他....承載門戶應(yīng)用的容器是Tomcat,應(yīng)該是要從他下手了,怎么樣讓Tomcat只能通過制定的域名來訪問內(nèi)部的應(yīng)用?
容器級別的問題,看來需要去研究Tomcat的配置文件了(server.xml)....
十分鐘學(xué)習(xí)了解server.xml各個(gè)屬性的作用.....
然后再打開我們自己的配置文件,發(fā)現(xiàn)配置文件基本就是按照默認(rèn)的寫的,沒有什么變化,看來配置Tomcat的同事也是個(gè)菜鳥...
下面附上最后修改的代碼:
只改了兩個(gè)位置的代碼:
defaultHost="localhost" 修改為 defaultHost="forbidden",默認(rèn)禁止所有來源訪問;
Host的name標(biāo)簽寫上公司的域名,表示只允許通過指定的域名來訪問,如果你想多個(gè)域名可以訪問這個(gè)應(yīng)用,
可以創(chuàng)建多個(gè)Host,指定不同的name屬性來實(shí)現(xiàn);
這是Tomcat的實(shí)現(xiàn),順手搜索了一下IIS的實(shí)現(xiàn):
IIS防止惡意域名解析
還有Ngix、Apache,嗯.....我沒用這兩個(gè),你們自己找方法吧,思路差不多。┗( ▔, ▔ )┛
然后呢,還是要求我們提供了一份對該事件的處理過程才能對80端口解禁,老老實(shí)實(shí)寫了一下處理過程申請解禁:
最后呢,結(jié)果皆大歡喜,沒有用太久,80端口就解禁了,公司門戶恢復(fù)訪問!
又get到一些小知識,我真是個(gè)愛學(xué)習(xí)的大叔~! o(´^`)o