如果服務(wù)器幾個(gè)月不重啟,那一定會(huì)有安全問(wèn)題。當(dāng)然對(duì)于那些連補(bǔ)丁都不敢打的,從安全的視角來(lái)看,談?wù)撝貑](méi)有意義。
不可預(yù)期重啟的危害
你永遠(yuǎn)不知道你的服務(wù)器會(huì)在何時(shí)重啟,有可能
你自己重啟
別人重啟
系統(tǒng)更新定期的重啟
虛擬化故障導(dǎo)致重啟
系統(tǒng)藍(lán)屏導(dǎo)致重啟
掉電重啟
你可以有些方法在操作系統(tǒng)層面阻止重啟,但是你不能阻止所有重啟。我遇到過(guò)太多因?yàn)橹貑⒁鸬膯?wèn)題了。
突然掉電的重啟是很可怕的,當(dāng)然,如果只是用一些很標(biāo)準(zhǔn)的操作,還是可控的。操作系統(tǒng)和應(yīng)用層面的容錯(cuò)率越來(lái)越高了。
重啟后重要的配置沒(méi)有保存導(dǎo)致失效,比如防火墻用命令行手寫(xiě)實(shí)時(shí)生效,但是沒(méi)有寫(xiě)入持久化配置文件
重啟后服務(wù)沒(méi)有自動(dòng)啟動(dòng),很多外包公司從來(lái)不是寫(xiě)systemd的,啟動(dòng)后需要人工干預(yù)。
重啟有自動(dòng)啟動(dòng),依賴關(guān)系沒(méi)有處理好。比如NFS、數(shù)據(jù)庫(kù)需要比Web先起來(lái),而且有些依賴又不會(huì)自動(dòng)重試。
物理機(jī)器,重啟后掛了。很多機(jī)器,一直跑著,他可能就進(jìn)入隨遇平衡態(tài)了,一旦有個(gè)干擾可能就不正常了。自行車,一停下來(lái)就要倒的。物理機(jī)器hard reboot要跑自檢,有啟動(dòng)阻力,自檢會(huì)檢查一些你運(yùn)行時(shí)不會(huì)檢查的東西。
哪天插著U盤(pán)拷貝東西,忘記拔了,重啟后從U盤(pán)啟動(dòng)了。
重啟后文件沒(méi)有了。有些文件被刪除了,但是不影響系統(tǒng)運(yùn)行,因?yàn)橐呀?jīng)加載到內(nèi)存了,或者句柄還在,但是一旦你重啟,這些都沒(méi)有了。
虛擬機(jī)要啟動(dòng)發(fā)現(xiàn)啟動(dòng)不起來(lái),雖然看起來(lái)虛擬機(jī)注冊(cè)在平臺(tái)里,但是底層文件已經(jīng)被刪除了。
病毒寫(xiě)入啟動(dòng)目錄,重啟后開(kāi)始發(fā)作。
你應(yīng)該在何時(shí)重啟
做了重要配置后,一定要全量重啟一下看看各類服務(wù)是否正常。不重啟,會(huì)讓你的變更導(dǎo)致的錯(cuò)誤疊加,讓你越發(fā)在下次重啟需要解決更多的問(wèn)題。
打了內(nèi)核補(bǔ)丁,如果不重啟操作系統(tǒng)有些是不生效的。如果只是一些服務(wù)或者運(yùn)行的進(jìn)程,一般更新完補(bǔ)丁會(huì)自動(dòng)重啟。Linux也有很多免重啟的內(nèi)核熱補(bǔ)丁方案。
硬件需要更換
有一個(gè)跟重啟相關(guān)的是出了故障,很多時(shí)候重啟一下就好了,但是其實(shí)更推薦,如果對(duì)業(yè)務(wù)影響可控,應(yīng)當(dāng)在故障重現(xiàn)的時(shí)候找到問(wèn)題,實(shí)在不行才考慮重啟的方案。
我的業(yè)務(wù)很重要,SLA要求高,不能重啟!!!???
SLA要求高跟服務(wù)器重啟沒(méi)有任何關(guān)系,不是不重啟的理由。如果你的業(yè)務(wù)確實(shí)SLA要求非常高,你應(yīng)當(dāng)是使用負(fù)載均衡、滾動(dòng)重啟、減少服務(wù)預(yù)熱時(shí)間等多個(gè)其他措施來(lái)保障,單個(gè)服務(wù)器的重啟不應(yīng)當(dāng)影響高SLA要求。
不敢重啟,實(shí)際上是暴露了你SLA保障方面的弱點(diǎn)。
在預(yù)期時(shí)間重啟不應(yīng)當(dāng)被計(jì)入SLA,我以前玩魔獸世界,固定會(huì)在業(yè)界通用的周二補(bǔ)丁日(Patch Tuesday,MS是每個(gè)月第二周的周二)進(jìn)行更新、維護(hù)。你如果算他的SLA是97%,跟體驗(yàn)是不一致的。
很多公司是打包成容器,每秒重啟銷毀幾千個(gè)容器,卻是他SLA高的保證。
各類操作系統(tǒng)對(duì)非預(yù)期重啟的提醒
非預(yù)期重啟問(wèn)題這么多,我們也會(huì)有多個(gè)層面來(lái)保障減少非預(yù)期重啟導(dǎo)致的問(wèn)題,比如說(shuō)數(shù)據(jù)庫(kù)會(huì)有WAL預(yù)寫(xiě)日志來(lái)保護(hù),電源方面有雙電源,UPS的保護(hù),甚至于在地震中利用電磁波的傳播速度比橫波縱波快的原理來(lái)進(jìn)行預(yù)警讓服務(wù)器安全關(guān)機(jī)。
各類操作系統(tǒng)也從各種方式進(jìn)行預(yù)防和提醒。
Windows Server對(duì)于非預(yù)期重啟,在下次管理員登錄后會(huì)要求你記錄重啟的原因。
如果在服務(wù)器安裝了Zabbix客戶端,監(jiān)控系統(tǒng)可以提醒你某臺(tái)服務(wù)器機(jī)器進(jìn)行了重啟。
如何知道我的服務(wù)器是否需要重啟
如果沒(méi)有掌握正確的判斷是否需要重啟的方法,很多時(shí)候你打補(bǔ)丁等于白打。
Windows Server
Windows Server有GUI界面的,會(huì)在右下角提醒你更新需要重啟,并且讓你安排重啟時(shí)間段。
Windows Server Core等沒(méi)有GUI界面的,可以通過(guò)注冊(cè)表進(jìn)行查詢是否需要重啟,這個(gè)查詢可以寫(xiě)成PowerShell腳本重復(fù)檢查。
CentOS
相比Windows Server和Ubuntu,CentOS對(duì)于重啟的提醒不是太明顯,所以很多人會(huì)忽略了重啟。
Ubuntu
Ubuntu會(huì)在你遠(yuǎn)程登錄后顯示
如何知道我的服務(wù)器在何時(shí)重啟過(guò)
Windows
在GUI下,在“任務(wù)管理器”的“性能”“CPU”左下角,有“正常運(yùn)行時(shí)間”。
在GUI下,在“事件查看器”里,“Windows日志”“系統(tǒng)”,“篩選當(dāng)前日志”,輸入“事件ID”為6005,可以看到各次重啟時(shí)間段。
CLI下,有多重方法可以看。
Linux
客戶端怎么重啟?
PC機(jī)、筆記本、手機(jī)、家里路由器,建議也經(jīng)常性重啟下,讓操作系統(tǒng)甩掉包袱,跑得更快一點(diǎn)吧!
及時(shí)掌握網(wǎng)絡(luò)安全態(tài)勢(shì) 盡在傻蛋網(wǎng)絡(luò)安全監(jiān)測(cè)系統(tǒng)
【網(wǎng)絡(luò)安全監(jiān)管部門(mén)】免費(fèi)試用
本文來(lái)源:互聯(lián)網(wǎng)
如涉及侵權(quán),請(qǐng)及時(shí)與我們聯(lián)系,我們會(huì)在第一時(shí)間刪除或處理侵權(quán)內(nèi)容。
電話:400-869-9193 負(fù)責(zé)人:張明