7 招搞定你的網(wǎng)站安全(上)
時間:2023-04-18 13:12:01 | 來源:網(wǎng)站運營
時間:2023-04-18 13:12:01 來源:網(wǎng)站運營
7 招搞定你的網(wǎng)站安全(上):原文發(fā)表于:
7 招搞定你的網(wǎng)站安全(上)在設(shè)置基礎(chǔ)結(jié)構(gòu)時,讓應(yīng)用程序啟動并運行通常是您的主要關(guān)注點。但是,使應(yīng)用程序正常工作,而不解決基礎(chǔ)設(shè)施的安全需求可能會產(chǎn)生毀滅性的后果。
在本指南中,我們將討論在設(shè)置應(yīng)用程序之前或設(shè)置過程中最好配置的一些基本安全措施。
SSH密鑰
SSH密鑰是一對加密密鑰,可用于向SSH服務(wù)器進行身份驗證,作為基于密碼登錄的替代方法。在認證之前創(chuàng)建私有和公共密鑰對。私鑰被用戶保密和安全,而公鑰可以與任何人共享。
要配置SSH密鑰認證,必須將用戶的公鑰放在服務(wù)器上的特殊目錄中。當用戶連接到服務(wù)器時,服務(wù)器將要求證明客戶端具有關(guān)聯(lián)的私鑰。 SSH客戶端將使用私鑰以一種證明私鑰所有權(quán)的方式進行響應(yīng)。然后服務(wù)器將讓客戶端在沒有密碼的情況下連接。要了解有關(guān)SSH密鑰如何工作的更多信息,請查看我們的文章。
它們?nèi)绾卧鰪姲踩裕?/h4>使用SSH,任何種類的身份驗證(包括密碼身份驗證)都已完全加密。但是,當允許基于密碼的登錄時,惡意用戶可以重復(fù)嘗試訪問服務(wù)器。利用現(xiàn)代計算能力,可以通過自動化這些嘗試并在組合之后嘗試組合直到找到正確的密碼來進入服務(wù)器。
設(shè)置SSH密鑰身份驗證允許您禁用基于密碼的身份驗證。 SSH密鑰通常比密碼具有更多的數(shù)據(jù)位,這意味著攻擊者必須有更多可能的組合。許多SSH密鑰算法被現(xiàn)代計算硬件認為是不可破解的,因為它們將需要太多的時間來運行可能的匹配。
這是怎么實現(xiàn)?
SSH密鑰很容易設(shè)置,是遠程登錄任何Linux或Unix服務(wù)器環(huán)境的推薦方式。您的計算機上可以生成一對SSH密鑰,您可以在幾分鐘內(nèi)將公鑰傳輸?shù)椒?wù)器。
要了解如何設(shè)置密鑰,請按照本指南操作。如果您仍然覺得需要密碼身份驗證,請考慮在服務(wù)器上實施像fail2ban 這樣的解決方案,以限制密碼猜測。
VPN和專用網(wǎng)絡(luò)
專用網(wǎng)絡(luò)是僅可用于某些服務(wù)器或用戶的網(wǎng)絡(luò)。
VPN或虛擬專用網(wǎng)絡(luò)是在遠程計算機之間創(chuàng)建安全連接并呈現(xiàn)該連接的方式,就像它是本地專用網(wǎng)絡(luò)一樣。這提供了一種方式來配置您的服務(wù),就像它們在專用網(wǎng)絡(luò)上,并通過安全連接連接遠程服務(wù)器。
它們?nèi)绾卧鰪姲踩裕?/h4>利用私人而不是公共網(wǎng)絡(luò)進行內(nèi)部通信幾乎總是優(yōu)選的,因為兩者之間的選擇。但是,由于數(shù)據(jù)中心內(nèi)的其他用戶能夠訪問同一網(wǎng)絡(luò),因此您仍然必須實施其他措施以確保服務(wù)器之間的通信安全。
使用VPN有效地映射出只有您的服務(wù)器可以看到的專用網(wǎng)絡(luò)。溝通將完全私密和安全。其他應(yīng)用程序可以配置為通過VPN軟件公開的虛擬接口傳遞其流量。這樣,只有公共互聯(lián)網(wǎng)上的客戶端可以使用的服務(wù)才需要在公共網(wǎng)絡(luò)上公開。
怎么實現(xiàn)?
在具有此功能的數(shù)據(jù)中心中利用專用網(wǎng)絡(luò)非常簡單,只需在服務(wù)器創(chuàng)建和配置應(yīng)用程序和防火墻期間啟用該接口即可使用專用網(wǎng)絡(luò)。請記住,數(shù)據(jù)中心范圍的專用網(wǎng)絡(luò)與使用相同網(wǎng)絡(luò)的其他服務(wù)器共享空間。
對于VPN,初始設(shè)置有點更多的參與,但增加的安全性對于大多數(shù)使用情況是值得的。 VPN上的每個服務(wù)器必須具有建立安裝和配置的安全連接所需的共享安全和配置數(shù)據(jù)。 VPN啟動并運行后,應(yīng)用程序必須配置為使用VPN隧道。要了解如何設(shè)置VPN以安全地連接您的基礎(chǔ)架構(gòu),請查看我們的OpenVPN教程。
公鑰基礎(chǔ)設(shè)施和SSL / TLS加密
公鑰基礎(chǔ)設(shè)施或PKI是指旨在創(chuàng)建,管理和驗證證書以識別個人和加密通信的系統(tǒng)。 SSL或TLS證書可用于相互驗證不同的實體。在認證之后,它們也可以用于建立加密通信。
它們?nèi)绾卧鰪姲踩裕?/h4>建立證書頒發(fā)機構(gòu)并管理服務(wù)器的證書允許基礎(chǔ)架構(gòu)中的每個實體驗證其他成員身份并加密其流量。這可以防止中間人攻擊,其中攻擊者模仿基礎(chǔ)架構(gòu)中的服務(wù)器攔截流量。
每個服務(wù)器可以配置為信任集中式證書頒發(fā)機構(gòu)。之后,權(quán)威簽名的任何證書都可以隱式信任。如果您使用的應(yīng)用程序和協(xié)議支持TLS / SSL加密,這是一種加密系統(tǒng)而不需要VPN隧道(內(nèi)部通常也使用SSL)的開銷。
怎么實現(xiàn)?
配置證書頒發(fā)機構(gòu)和設(shè)置其余的公鑰基礎(chǔ)設(shè)施可能涉及相當多的初始努力。此外,在需要創(chuàng)建,簽署或撤銷新證書時,管理證書可能會產(chǎn)生額外的管理負擔。
對于許多用戶來說,實施一個完整的公鑰基礎(chǔ)設(shè)施將更有意義,因為他們的基礎(chǔ)設(shè)施需求的增長。使用VPN保護組件之間的通信可能是一個很好的停止間隙措施,直到您達到PKI值得額外管理成本的點。
防火墻
防火墻是控制向網(wǎng)絡(luò)暴露的服務(wù)的一個軟件(或硬件)。這意味著阻止或限制對每個端口的訪問,但應(yīng)公開提供的端口除外。
在典型的服務(wù)器上,默認情況下可能正在運行多個服務(wù)。這些可以分為以下幾組:
公共服務(wù),可以由互聯(lián)網(wǎng)上的任何人訪問,通常是匿名的。一個很好的例子是可能允許訪問您的網(wǎng)站的 Web 服務(wù)器。 私人服務(wù),只應(yīng)由特定的授權(quán)帳戶組或特定位置訪問。其示例可以是數(shù)據(jù)庫控制面板。 內(nèi)部服務(wù)應(yīng)該只能從服務(wù)器本身內(nèi)部訪問,而不會將服務(wù)暴露給外部世界。例如,這可以是僅接受本地連接的數(shù)據(jù)庫。 防火墻可以確保根據(jù)上述類別限制對您的軟件的訪問。公共服務(wù)可以保持開放,每個人都可以使用,私人服務(wù)可以根據(jù)不同的標準進行限制。內(nèi)部服務(wù)可以完全無法訪問外部世界。對于未使用的端口,大多數(shù)配置中的訪問被完全阻止。