自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

12條用于Linux的MySQL/MariaDB安全最佳實(shí)踐

運(yùn)維 數(shù)據(jù)庫(kù)運(yùn)維 Linux MariaDB
MySQL 是世界上最流行的開(kāi)源數(shù)據(jù)庫(kù)系統(tǒng),MariaDB(一個(gè) MySQL 分支)是世界上增長(zhǎng)最快的開(kāi)源數(shù)據(jù)庫(kù)系統(tǒng)。在安裝 MySQL 服務(wù)器之后,在默認(rèn)配置下是不安全的,確保數(shù)據(jù)庫(kù)安全通常是通用數(shù)據(jù)庫(kù)管理的基本任務(wù)之一。

MySQL 是世界上最流行的開(kāi)源數(shù)據(jù)庫(kù)系統(tǒng),MariaDB(一個(gè) MySQL 分支)是世界上增長(zhǎng)最快的開(kāi)源數(shù)據(jù)庫(kù)系統(tǒng)。在安裝 MySQL 服務(wù)器之后,在默認(rèn)配置下是不安全的,確保數(shù)據(jù)庫(kù)安全通常是通用數(shù)據(jù)庫(kù)管理的基本任務(wù)之一。

這將有助于增強(qiáng)和提升整個(gè) Linux 服務(wù)器的安全性,因?yàn)楣粽呖偸菕呙柘到y(tǒng)任意部分的漏洞,而數(shù)據(jù)庫(kù)在過(guò)去是重點(diǎn)目標(biāo)區(qū)域。一個(gè)常見(jiàn)的例子是對(duì) MySQL 數(shù)據(jù)庫(kù)的 root 密碼的強(qiáng)制破解。

在本指南中,我們將會(huì)講解對(duì)開(kāi)發(fā)者有幫助的 MySQL/MariaDB 的 Linux 最佳安全實(shí)踐。

1. 安全地安裝 MySQL

這是安裝 MySQL 服務(wù)器后第一個(gè)建議的步驟,用于保護(hù)數(shù)據(jù)庫(kù)服務(wù)器。這個(gè)腳本可以幫助您提高 MySQL 服務(wù)器的安全性:

  • 如果您在安裝期間沒(méi)有設(shè)置 root 帳戶的密碼,馬上設(shè)置它
  • 通過(guò)刪除可從本地主機(jī)外部訪問(wèn)的 root 帳戶來(lái)禁用遠(yuǎn)程 root 用戶登錄
  • 刪除匿名用戶帳戶和測(cè)試數(shù)據(jù)庫(kù),默認(rèn)情況下,所有用戶、甚至匿名用戶都可以訪問(wèn)這些帳戶和測(cè)試數(shù)據(jù)庫(kù)
  1. # mysql_secure_installation 

在運(yùn)行上述命令之后,設(shè)置 root 密碼并通過(guò)輸入 [Yes/Y] 和按下 [Enter] 鍵來(lái)回答一系列問(wèn)題。

 

12條用于Linux的MySQL/MariaDB安全最佳實(shí)踐

安全安裝 MySQL 情況界面

2.將數(shù)據(jù)庫(kù)服務(wù)器綁定到 Loopback 地址

此配置將限制來(lái)自遠(yuǎn)程機(jī)器的訪問(wèn),它告訴 MySQL 服務(wù)器只接受來(lái)自本地主機(jī)的連接。你可以在主配置文件中進(jìn)行設(shè)置。

 

  1. # vi /etc/my.cnf [RHEL/CentOS]  
  2. # vi /etc/mysql/my.conf [Debian/Ubuntu]  
  3. OR  
  4. # vi /etc/mysql/mysql.conf.d/mysqld.cnf [Debian/Ubuntu] 

在 [mysqld] 部分中添加下面這一行

  1. bind-address = 127.0.0.1 

3. 禁用 MySQL 的 LOCAL INFILE

作為安全性增強(qiáng)的一部分,您需要禁用 local_infile ,使用下面的指令以防止在 [mysqld] 部分從 MySQL 中訪問(wèn)底層文件系統(tǒng)。

  1. local-infile=0 

4. 修改 MySQL 的默認(rèn)端口

設(shè)置端口變量用于監(jiān)聽(tīng) TCP/IP 連接的 MySQL 端口號(hào)。默認(rèn)端口號(hào)是 3306,但是您可以在 [mysqld] 中修改它。

  1. Port=5000 

5、啟用 MySQL 日志

日志是了解服務(wù)運(yùn)行過(guò)程中發(fā)生了什么的最好的方法之一,在受到任何攻擊的時(shí)候都可以很容易的從日志里看到任何入侵相關(guān)的行為??梢酝ㄟ^(guò)將下邊的變量添加到配置文件[mysqld]部分來(lái)開(kāi)啟mysql日志功能。

  1. log=/var/log/mysql.log 

6、設(shè)置合適的 MySQL 文件的訪問(wèn)權(quán)限

確保你已經(jīng)為所有的 mysql 服務(wù)文件和數(shù)據(jù)路徑設(shè)置了合適的訪問(wèn)權(quán)限。文件 /etc/my.conf 只能由 root 用戶修改,這樣就可以阻止其他用戶修改數(shù)據(jù)庫(kù)服務(wù)的配置。

  1. # chmod 644 /etc/my.cnf 

7、刪除 MySQL shell 歷史

你在 MySQL shell 中執(zhí)行的所有的命令都會(huì)被 mysql 客戶端保存到一個(gè)歷史文件:~/.mysql_history。這樣是很危險(xiǎn)的,因?yàn)閷?duì)于你創(chuàng)建過(guò)的任何用戶賬戶,所有的在 shell 輸入過(guò)的用戶名和密碼都會(huì)記錄到歷史文件里面。

  1. # cat /dev/null > ~/.mysql_history 

8.不要在命令行中運(yùn)行 MySQL 命令

正如你所知道的,你在終端上輸入的所有命令都會(huì)被存儲(chǔ)在一個(gè)歷史文件中,具體取決于你正在使用的shell(例如 bash 的 shell 歷史文件放在 ~/.bash_history )。攻擊者訪問(wèn)這個(gè)歷史文件可以很容易地看到記錄在那里的任何密碼。

非常不建議在命令行里面輸入密碼,如下:

  1. # mysql -u root -ppassword_ 

 

12條用于Linux的MySQL/MariaDB安全最佳實(shí)踐

使用密碼連接 MySQL

當(dāng)你查看命令行歷史文件的最后的部分時(shí),可以看到之前輸入過(guò)的密碼。

  1. # history 

 

12條用于Linux的MySQL/MariaDB安全最佳實(shí)踐

查看命令行輸入歷史

推薦連接 MySQL 的方式是

 

  1. # mysql -u root -p 
  2. Enter password

9. 定義特定應(yīng)用的數(shù)據(jù)庫(kù)用戶

對(duì)于每一個(gè)在服務(wù)器上運(yùn)行的應(yīng)用,只設(shè)置一個(gè)與該應(yīng)用相關(guān)的數(shù)據(jù)庫(kù)用戶。例如你有一個(gè) wordpress 網(wǎng)站,如下創(chuàng)建一個(gè) wordpress 的數(shù)據(jù)庫(kù)用戶:

 

  1. # mysql -u root -p 
  2. MariaDB [(none)]> CREATE DATABASE osclass_db; 
  3. MariaDB [(none)]> CREATE USER 'osclassdmin'@'localhost' IDENTIFIED BY 'osclass@dmin%!2'
  4. MariaDB [(none)]> GRANT ALL PRIVILEGES ON osclass_db.* TO 'osclassdmin'@'localhost'
  5. MariaDB [(none)]> FLUSH PRIVILEGES
  6. MariaDB [(none)]> exit 

并且要記住對(duì)于不再使用的數(shù)據(jù)庫(kù)用戶要?jiǎng)h掉。

10.使用額外的安全插件和庫(kù)

MySQL 包含許多安全插件:驗(yàn)證客戶端連接到 MySQL 服務(wù)器的請(qǐng)求、密碼校驗(yàn)和敏感信息的安全存儲(chǔ)等,這些都在免費(fèi)版本中提供。

在這里可查看更多: https://dev.mysql.com/doc/refman/5.7/en/security-plugins.html

11.定期修改 MySQL 密碼

定期修改密碼是一個(gè)常見(jiàn)的信息/應(yīng)用/系統(tǒng)安全建議。多久修改一次密碼由你內(nèi)部的安全策略決定。定期修改密碼可以阻止長(zhǎng)期跟蹤你的“窺探者”,獲取你的密碼,登錄你的 MySQL 服務(wù)器。

MariaDB [(none)]> USE mysql;MariaDB [(none)]> UPDATE user SET password=PASSWORD('YourPasswordHere') WHERE User='root' AND Host = 'localhost';MariaDB [(none)]> FLUSH PRIVILEGES;

12.定期更新MySQL Server 包

強(qiáng)烈建議定期從官方倉(cāng)庫(kù)更新 mysql/mariadb 包來(lái)獲取最新的安全更新和錯(cuò)誤改進(jìn)。通常情況下操作系統(tǒng)中默認(rèn)的包是過(guò)時(shí)的。

 

  1. # yum update  
  2. # apt update 

在對(duì) mysql/mariadb server 進(jìn)行任何修改之后,要重啟服務(wù)。

 

  1. # systemctl restart mariadb #RHEL/CentOS  
  2. # systemctl restart mysql #Debian/Ubuntu 

分享到此結(jié)束,歡迎大家在文章下面評(píng)論,并且和我們分享文章中沒(méi)有提到的安全提示。

責(zé)任編輯:未麗燕 來(lái)源: 開(kāi)源中國(guó)翻譯文章
相關(guān)推薦

2013-02-21 10:13:25

2024-03-04 00:00:00

NextJS項(xiàng)目庫(kù)

2023-12-06 09:00:00

2013-03-19 09:57:43

2011-02-21 10:31:24

2024-08-21 08:02:47

2015-10-10 09:35:38

swift規(guī)范

2018-04-04 04:26:09

2024-01-05 00:33:23

2024-09-03 16:28:20

2009-12-31 10:16:49

2015-10-10 10:05:03

Swift2.0實(shí)踐

2023-11-28 07:57:04

Dockerfile指令

2010-08-25 08:58:32

HTML

2018-08-28 07:30:50

云安全云服務(wù)多云

2014-06-27 13:32:07

GartnerAWS安全亞馬遜AWS

2009-08-20 09:41:36

2013-12-26 09:11:39

2010-08-19 11:55:39

2009-01-15 09:57:00

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)