互聯(lián)網(wǎng)時(shí)代的到來(lái)對企業(yè)的經(jīng)營(yíng)方式產(chǎn)生了深遠的影響。對于大多數想要保持相關(guān)性和競爭力的公司而言,維持在線(xiàn)形象不再是可有可無(wú)的選擇?,F有和潛在客戶(hù)使用 Internet 進(jìn)行購買(mǎi)、管理他們的帳戶(hù)、研究產(chǎn)品等等。這樣做的好處是無(wú)法估量的,但它也有陰暗面——黑客。由于您的網(wǎng)站和在線(xiàn)聲譽(yù)受到如此多的影響,確保服務(wù)器安全絕對至關(guān)重要。
安全專(zhuān)業(yè)人員將他們的整個(gè)職業(yè)生涯都投入到跟上在線(xiàn)威脅不斷變化的本質(zhì),而全球公司擁有擁有大量資源的整個(gè)團隊,致力于確保其在線(xiàn)財產(chǎn)的安全。承擔保護服務(wù)器的繁重工作似乎是一項艱巨的任務(wù),但我們隨時(shí)為您提供幫助!我們已經(jīng)確定了一些關(guān)鍵做法,可以充分保護您的服務(wù)器以抵御絕大多數攻擊并阻止除最精英黑客之外的所有黑客。使用這些方法保護您的服務(wù)器不需要大量的系統管理能力,但如果您愿意將其交給我們有能力的人, 請查看我們的管理計劃和SecureServer+服務(wù)。
躲在防火墻后面
任何安全環(huán)境的第一道防線(xiàn)都是防火墻。有多種防火墻可供選擇,但它們通常都具有相同的基本功能。防火墻是駐留在 Internet 和服務(wù)器上任何面向網(wǎng)絡(luò )的服務(wù)之間的應用程序或物理設備。它充當網(wǎng)絡(luò )流量的看門(mén)人,使用一組規則來(lái)過(guò)濾入站和出站連接。但是,防火墻的好壞取決于它所使用的規則。一個(gè)配置良好的防火墻可以過(guò)濾掉絕大多數惡意連接,而配置不當的防火墻則效果會(huì )差很多。
第一個(gè)決定是硬件還是軟件。大多數現代操作系統都帶有內置的軟件防火墻應用程序,這通常就足夠了。專(zhuān)用設備,也稱(chēng)為硬件防火墻,通常用在多服務(wù)器環(huán)境前面,為防火墻管理提供單點(diǎn)。
無(wú)論您最終使用哪種類(lèi)型的防火墻,下一步都是定義一套好的規則。配置防火墻時(shí)的第 1 條規則,尤其是遠程配置時(shí),要非常小心,不要通過(guò)阻止用于訪(fǎng)問(wèn)防火墻的連接來(lái)將自己鎖在門(mén)外。如果您不小心阻止了自己的連接——通常是物理控制臺或帶外控制臺解決方案,如 IPMI、ILO 或 DRAC,最好使用后備訪(fǎng)問(wèn)方法來(lái)更改防火墻規則。
首先考慮您的服務(wù)器提供的服務(wù)。網(wǎng)絡(luò )服務(wù)利用特定端口來(lái)幫助區分連接類(lèi)型。將它們想象成一條非常寬的高速公路上的車(chē)道,帶有分隔線(xiàn)以防止改變車(chē)道。例如,網(wǎng)絡(luò )服務(wù)器通常使用端口 80 進(jìn)行標準連接,使用端口 443 進(jìn)行使用 SSL 證書(shū)保護的連接。這些服務(wù)可以配置為使用非標準端口,因此請務(wù)必驗證您的服務(wù)正在使用哪些端口。
接下來(lái),確定您將如何遠程管理您的服務(wù)器。在 Windows 上,這通常是通過(guò) RDP(遠程桌面協(xié)議)完成的,而在 Linux 上,您可能會(huì )使用 SSH(安全外殼)。理想情況下,您將希望阻止對用于管理的端口的訪(fǎng)問(wèn),除了少數 IP 或一個(gè)小型子網(wǎng)之外的所有端口,以限制不在您組織內的任何人對這些協(xié)議的訪(fǎng)問(wèn)。例如,如果您是 Linux 服務(wù)器的唯一管理員,請打開(kāi) SSH 端口(通常為 22)以?xún)H從您計算機的靜態(tài) IP 地址進(jìn)行連接。如果您沒(méi)有靜態(tài) IP 地址,您通??梢源_定一個(gè)子網(wǎng),您將從中分配一個(gè) IP。雖然將一系列 IP 列入白名單并不理想,但這比向整個(gè) Internet 開(kāi)放該端口要好得多。
要生成一套可靠的規則,請阻止來(lái)自所有 IP 的所有端口,然后創(chuàng )建特定規則以打開(kāi)您的服務(wù)和管理所需的那些端口——記住不要將自己鎖在外面。為您的服務(wù)開(kāi)放的端口通常應該從所有 IP 開(kāi)放,但如上所述限制管理端口。
雖然防火墻不應該是您唯一的防線(xiàn),但創(chuàng )建一套合理的防火墻規則是增強服務(wù)器安全性的一個(gè)很好的起點(diǎn)。事實(shí)上,任何服務(wù)器都不應沒(méi)有至少基本的防火墻配置。
身份驗證和密碼
增強服務(wù)器安全性的最簡(jiǎn)單方法之一就是實(shí)施強身份驗證策略。您的服務(wù)器僅與密碼最弱的帳戶(hù)一樣安全。對于服務(wù)器上使用的任何密碼,請遵循良好的密碼指南,例如確保您的密碼長(cháng)度足夠,而不是字典中的單詞,并且不要用于其他本身可能會(huì )受到威脅并泄露您的密碼的服務(wù)。雖然您可以通過(guò)良好的防火墻配置限制對服務(wù)器的遠程訪(fǎng)問(wèn),但仍然存在可用于通過(guò)在開(kāi)放網(wǎng)絡(luò )端口上運行的受損或未修補服務(wù)向系統發(fā)送命令的漏洞。
在許多情況下,完全無(wú)密碼是可能的(而且更方便)!如果您訪(fǎng)問(wèn)服務(wù)器的主要方法是通過(guò) SSH,您可以在服務(wù)器的 SSH 配置文件中禁用密碼驗證,而是使用一對公鑰和私鑰來(lái)授權您的連接。
請記住,如果您需要能夠隨時(shí)從任何地方登錄到您的服務(wù)器,則此方法可能不那么方便,因為您需要將您的私鑰添加到您連接的任何新系統。此外,雖然這種方法使遠程連接的安全性提高了一個(gè)數量級,但不要忘記為您的帳戶(hù)設置一個(gè)強密碼。黑客有時(shí)可以通過(guò)其他方式訪(fǎng)問(wèn)系統,您不希望擁有一個(gè)由密碼(如“1234”)保護的提升訪(fǎng)問(wèn)權限的帳戶(hù)。
如今,雙因素身份驗證 (2FA) 變得非常流行。使用 2FA 時(shí),用戶(hù)不僅需要使用密碼進(jìn)行身份驗證,還需要提供發(fā)送到先前注冊的電子郵件地址或移動(dòng)設備的一次性代碼,以進(jìn)一步驗證其身份??梢酝ㄟ^(guò)第三方服務(wù)或使用支持 2FA 的帳戶(hù)(如 Google 或 Microsoft)在您的服務(wù)器上實(shí)現類(lèi)似的功能。cPanel\WHM 現在支持雙因素身份驗證,因此如果您使用此控制面板作為服務(wù)器管理的主要方式,這可能是您的一個(gè)選擇。
蠻力保護
服務(wù)器上的常見(jiàn)攻擊向量是暴力攻擊。這些是使用猜測的用戶(hù)名和密碼進(jìn)行的遠程登錄嘗試,在服務(wù)器和網(wǎng)絡(luò )允許的范圍內一遍又一遍地重復。在不受保護的情況下,每天可能會(huì )進(jìn)行數十萬(wàn)次嘗試——足以在一個(gè)月內破解任何 8 個(gè)字符的密碼。出于這個(gè)原因,謹慎的做法是在您的服務(wù)器上安裝某種形式的暴力破解保護。
大多數暴力保護方法都采用兩種形式之一。第一種方法在登錄嘗試之間引入超時(shí)。即使此超時(shí)時(shí)間短至一秒,這也會(huì )導致攻擊花費多倍的時(shí)間來(lái)破解密碼。您可能希望更長(cháng)的超時(shí)時(shí)間以提供更好的安全性,同時(shí)又不會(huì )過(guò)度干擾拼寫(xiě)錯誤的用戶(hù)的合法登錄嘗試。一些系統通過(guò)增加每次失敗嘗試的超時(shí)時(shí)間來(lái)采用這種方法,通常是指數級的。失敗一次,等待1秒。再次失敗,等待 5 秒。第三次失敗,等待 30 秒……到第四次嘗試時(shí),您將非常小心地輸入密碼。
或者,此方法的一種變體對設定時(shí)間段內允許的嘗試次數設置了硬性上限。登錄失敗次數過(guò)多將導致帳戶(hù)被鎖定——或者是暫時(shí)的,或者在更極端的情況下,直到被服務(wù)器管理員解鎖。這種方法有效地阻止了任何暴力攻擊,但對于不太小心輸入密碼的有效用戶(hù)來(lái)說(shuō),它可能會(huì )更加煩人。
第二種方法是在登錄請求中引入驗證碼。這迫使用戶(hù)執行一項對人類(lèi)來(lái)說(shuō)微不足道但對計算機來(lái)說(shuō)卻很困難的壯舉。通常,這涉及某種圖像識別,例如識別包含路燈的網(wǎng)格中的所有圖片,或破譯一些用模糊字體書(shū)寫(xiě)的文本。雖然計算機通常最終能夠解決這些請求,但它們花費的時(shí)間比一般人類(lèi)要長(cháng)得多,并且大大減慢了攻擊速度。驗證碼還經(jīng)常用于保護公眾評論部分免受垃圾郵件帖子和注冊表單的侵害。
暴力破解保護可以在許多防火墻或操作系統本身中找到——但不要忘記其他帳戶(hù),例如 WordPress、cPanel/WHM 等。確保任何暴露的登錄都啟用了某種形式的暴力破解保護。
軟件更新和安全補丁
軟件和操作系統更新以及安全補丁對于維護安全服務(wù)器也很重要。如果您運行的是易受已知漏洞利用的過(guò)時(shí)操作系統版本,那么您所有其他的努力都將毫無(wú)意義并完全付諸東流。
大多數軟件和操作系統供應商都投入了大量資源來(lái)為他們的產(chǎn)品打補丁以應對最近發(fā)現的漏洞,以至于許多次要版本包含的安全修復程序多于功能更新。對其產(chǎn)品的舊版本保持這種警惕性可能代價(jià)高昂,因此軟件和操作系統在多年后經(jīng)常被歸類(lèi)為生命周期結束 (EOL)。除其他事項外,這意味著(zhù)該產(chǎn)品將不再接收在達到 EOL 后可能發(fā)現的漏洞的更新。
這種類(lèi)型的常見(jiàn)案例與 PHP 相關(guān),PHP 是 Web 上常用的一種腳本語(yǔ)言。在本文發(fā)布之時(shí),所有早于 7.2 的 PHP 版本都已停產(chǎn)。盡管如此,PHP 5.3 的舊版本仍然很普遍。7.2 和 5.3 之間存在顯著(zhù)差異,如果不對代碼進(jìn)行重大修改,就不可能升級到受支持的版本。
幸運的是,通過(guò)這個(gè)特定的 PHP 版本示例,CloudLinux 已經(jīng)讓您了解了cPanel 服務(wù)器。CloudLinux 提供舊 PHP 版本的強化版本,以及安全更新,遠遠超過(guò) EOL 日期。然而,這個(gè)問(wèn)題可能發(fā)生在任何軟件上,而且大多數沒(méi)有像 CloudLinux 這樣簡(jiǎn)單的解決方案。
運行過(guò)時(shí)的操作系統也不是好的做法。例如,CentOS 5 已經(jīng)停產(chǎn)一段時(shí)間了,但這并不是一個(gè)非常罕見(jiàn)的景象。如果您碰巧正在運行這樣的東西,您應該盡快規劃您的升級路徑。當您運行的操作系統進(jìn)入 EOL 時(shí),即使您的服務(wù)器上受支持的軟件也將停止接收更新,這是很常見(jiàn)的,因為供應商不會(huì )在 EOL OS 版本上提供新版本。這會(huì )對您的服務(wù)器的安全產(chǎn)生級聯(lián)的負面影響。
代碼和自定義應用程序
不幸的是,即使是最堅固的服務(wù)器仍然容易受到網(wǎng)站上運行的不安全代碼或應用程序的攻擊。
如果您正在運行可自定義的 Web 應用程序,例如 WordPress、Joomla 或 Magento,那么不僅要使核心應用程序保持最新,而且還要使所有插件或主題保持最新,這一點(diǎn)至關(guān)重要。這也適用于項目本身的代碼——如果您懷疑您的主題或插件“死了”并且不再更新,尋找替代品是明智的。新的漏洞不斷被發(fā)現,應用程序或插件只有在上次更新時(shí)才安全。
在處理開(kāi)發(fā)人員為您創(chuàng )建的自定義代碼時(shí),明智的做法是與您的開(kāi)發(fā)人員保持持續的關(guān)系,以便您可以繼續接收更新。否則,您可能會(huì )遇到上述情況,您發(fā)現無(wú)法再更新您的 PHP 或其他重要軟件,因為該網(wǎng)站與新版本不兼容。
這種攻擊向量可能是最難防御的,因為您的數據中心或托管服務(wù)提供商通常不支持在您的服務(wù)器上運行的自定義軟件和代碼。除非您運行的是完全現成的軟件,否則請確保您有一個(gè)計劃來(lái)更新和修補您的代碼。
如您所見(jiàn),保護服務(wù)器遠遠超出了初始設置的范圍。雖然這很重要,但同樣重要的是保持它是最新的,以對抗不斷增長(cháng)的已知黑客和漏洞利用列表。系統受損可能造成巨大的經(jīng)濟損失和聲譽(yù)損失。正如一句古老的格言所說(shuō),一盎司的預防勝過(guò)一磅的治療。