mariadb在Ubuntu上的安全策略主要包括以下幾個(gè)方面:
安裝和更新
基本安全配置
- 運(yùn)行安全安裝腳本:使用mysql_secure_installation腳本進(jìn)行安全配置,包括設(shè)置或更改root用戶的密碼、刪除匿名用戶賬戶、禁止root用戶遠(yuǎn)程登錄、刪除測(cè)試數(shù)據(jù)庫(kù)、啟用二進(jìn)制日志、限制訪問(wèn)本地文件系統(tǒng)的權(quán)限。
- 修改配置文件:編輯mariadb的配置文件/etc/mysql/mariadb.conf.d/50-server.cnf,進(jìn)行以下修改:
- 將bind-address從127.0.0.1注釋掉或修改為0.0.0.0,以允許遠(yuǎn)程連接。
- 修改max_connections參數(shù)以增加最大連接數(shù)。
高級(jí)安全配置
- 啟用ssl連接:配置SSL證書(shū)以加密客戶端和服務(wù)器之間的通信。
- 配置防火墻:使用ufw防火墻工具,只允許必要的端口如ssh和http,并定期檢查防火墻設(shè)置。
- 限制用戶權(quán)限:創(chuàng)建新的數(shù)據(jù)庫(kù)和用戶,并賦予相應(yīng)的權(quán)限,避免使用root賬戶進(jìn)行日常操作。
系統(tǒng)安全加固
- 控制系統(tǒng)賬戶,除了root賬戶需要登錄以外,其他賬戶應(yīng)設(shè)置為禁止登錄。
- 修改口令生存期,將口令生存期設(shè)置為最小,例如7天,以減少密碼被猜測(cè)的風(fēng)險(xiǎn)。
- 設(shè)置口令復(fù)雜度,確保新建用戶時(shí)輸入的口令復(fù)雜程度,至少包含一個(gè)數(shù)字、一個(gè)小寫(xiě)字母、一個(gè)大寫(xiě)字母、一個(gè)特殊字符。
- 限制登錄超時(shí),限制用戶登錄成功后的等待時(shí)間,無(wú)操作則斷開(kāi)連接,防止暴力破解。
- 修改SSH遠(yuǎn)程端口,修改SSH默認(rèn)端口,以減少被自動(dòng)掃描的風(fēng)險(xiǎn)。
- 禁用root登錄,通過(guò)編輯/etc/ssh/sshd_config文件,將PermitRootLogin設(shè)置為no,禁止直接通過(guò)SSH登錄root賬戶。
- 啟用公鑰登錄,確保PubkeyAuthentication設(shè)置為yes,使用密鑰對(duì)進(jìn)行身份驗(yàn)證,提高安全性。
- 配置防火墻,使用ufw防火墻工具,只允許必要的端口如SSH和HTTP,并定期檢查防火墻設(shè)置。
- 安裝并配置Fail2Ban,防止暴力破解攻擊。
定期審計(jì)和監(jiān)控
- 通過(guò)檢查系統(tǒng)日志、服務(wù)狀態(tài)和安全工具,及時(shí)發(fā)現(xiàn)并解決潛在的安全問(wèn)題。
請(qǐng)注意,安全性是一個(gè)持續(xù)的過(guò)程,需要不斷地監(jiān)控和更新。