亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數據庫 > MySQL > 正文

MySQL數據庫安全配置指南(二)

2019-09-08 23:26:48
字體:
來源:轉載
供稿:網友

  2)MySQL授權表運行機制

  MySQL的訪問控制分兩個步驟:

  a)服務器檢查是否允許該用戶連接。

  b)如果該用戶有權連接,那么服務器還會檢查它的每一個請求是否有足夠的權限。比如:用戶檢索數據庫中的一個表需要有這個數據庫的select權限,用戶刪除數據庫中的一個表需要有這個數據庫的drop權限。

  授權表的user, db,host表使用這兩個步驟,tables_priv和columns_priv表只使用第二步(檢查請求)。每個授權表包含決定一個權限何時運用的范圍列和決定授予哪種權限的權限列。

  范圍列指定表中的權限何時運用。每個授權表條目包含User和Host列來指定權限何時運用于一個給定用戶從給定主機的連接。其他表包含附加的范圍列,如db表包含一個Db列指出權限運用于哪個數據庫。類似地,tables_priv和columns_priv表包含范圍字段,縮小范圍到一個數據庫中的特定表或一個表的特定列。

  下面是user表的Host字段和User字段組合的一些例子:

  圖9

  SQL的字符串通配符%表示匹配任意字符,可以是0個字符,通配符_表示匹配一個字符。

  權限列指出在范圍列中指定的用戶擁有何種權限。該表使用GRANT語句的權限名稱。對于絕大多數在user、db和host表中的權限列的名稱與GRANT語句中有明顯的聯系。如Select_priv對應于SELECT權限。

  3)授權表使用舉例

  grant用于給增加用戶和創建權限,revoke用于刪除用戶權限。

  下面是一些用grant增加用戶和創建權限的例子:

mysql> grant all privileges on *.* to test@localhost identified by 'test' with grant option;
  這句增加一個本地具有所有權限的test用戶(超級用戶),密碼是test。ON子句中的*.*意味著"所有數據庫、所有表"。with grant option表示它具有grant權限?!?
mysql> grant select,insert,update,delete,create,drop privileges on test.* to test1@'192.168.1.0/255.255.255.0' identified by 'test';
  這句是增加了一個test1用戶,口令是test,但是它只能從C類子網192.168.1連接,對test庫有select,insert,update,delete,create,drop操作權限。

  用grant語句創建權限是不需要再手工刷新授權表的,因為它已經自動刷新了。

  給用戶創建權限還可以通過直接修改授權表: 

mysql> insert into user
values("localhost","test",password("test"),"Y","Y","Y","Y","Y","Y","Y","Y","Y","Y","Y","Y","Y","Y");
mysql> flush privileges;
  這兩句和上面第一句grant的效果是一樣的,也是增加了一個本地的test超級用戶。我們看到用grant方便多了,而且還不需flush privileges。

mysql> insert into user (host,user,password) values("192.168.1.0/255.255.255.0","test1",PASSWORD("test")); mysql> insert into db values("192.168.1.0/255.255.255.0","test","test1","Y","Y","Y","Y","Y","Y","N","N","N","N") mysql> flush privileges;
  這三句和上面第二句grant的效果也是一樣的,也是增加了一個只能從C類子網192.168.1連接,對test庫有select,insert,update,delete,create,drop操作權限的test1用戶,口令是test。要取消一個用戶的權限,使用revoke語句。revoke的語法非常類似于grant語句,除了to用from取代并且沒有identified by和with grant option子句,下面是用revoke刪除用戶權限的例子: 
mysql> revoke all on test.* from test1@'192.168.1.0/255.255.255.0';
  這句revoke就撤消了上面第二句grant創建的權限,但是test1用戶并沒有被刪除,必須手工從user表刪除:

mysql> delete from user where user='test1';
mysql> flush privileges;
  這樣,test1用戶就徹底刪除了。

  這些只是MySQL授權表的簡單使用,更多詳細的資料請見MySQL提供的手冊。

  4、編程需要注意的一些問題

  不管是用哪種程序語言寫連接MySQL數據庫的程序,有一條準則是永遠不要相信用戶提交的數據!

  對于數字字段,我們要使用查詢語句:SELECT * FROM table WHERE ID='234',不要使用SELECT * FROM table WHERE ID=234這樣的查詢語句。MySQL會自動把字串轉換為數字字符并且去除非數字字符。如果用戶提交的數據經過了mysql_escape_string處理,這樣我們就可以完全杜絕了sql inject攻擊。

  各種編程語言該注意的問題:

  1)所有Web程序:

  a)嘗試在Web表單輸入單引號和雙引號來測試可能出現的錯誤,并找出原因所在。

  b)修改URL參數帶的%22 ('"'), %23 ('#'), 和 %27 (''')。

  c)對于數字字段的變量,我們的應用程序必須進行嚴格的檢查,否則是非常危險的。

  d)檢查用戶提交的數據是否超過字段的長度。

  e)不要給自己程序連接數據庫的用戶過多的訪問權限。

  2)PHP:

  a)檢查用戶提交的數據在查詢之前是否經過addslashes處理,在PHP 4.0.3以后提供了基于MySQL C

  API的函數mysql_escape_string()。

  3)MySQL C API:

  a)檢查查詢字串是否用了mysql_escape_string() API調用。

  4)MySQL++:

  a)檢查查詢字串是否用了escape和quote處理。

  5)Perl DBI:

  a)檢查查詢字串是否用了quote()方法。

  6)Java JDBC:

  a)檢查查詢字串是否用了PreparedStatement對象。

  5、一些小竅門

  1)如果不慎忘記了MySQL的root密碼,我們可以在啟動MySQL服務器時加上參數--skip-grant-tables來跳過授權表的驗證 (./safe_mysqld --skip-grant-tables &),這樣我們就可以直接登陸MySQL服務器,然后再修改root用戶的口令,重啟MySQL就可以用新口令登陸了。

  2)啟動MySQL服務器時加上--skip-show-database使一般數據庫用戶不能瀏覽其它數據庫。

  3)啟動MySQL服務器時加上--chroot=path參數,讓mysqld守護進程運行在chroot環境中。這樣SQL語句LOAD DATA INFILE和SELECT ... INTO OUTFILE就限定在chroot_path下讀寫文件了。這里有一點要注意,MySQL啟動后會建立一個mysql.sock文件,默認是在/tmp目錄下。使用了chroot后,MySQL會在chroot_path/tmp去建立mysql.sock文件,如果沒有chroot_path/tmp目錄或啟動MySQL的用戶沒有這個目錄寫權限就不能建立mysql.sock文件,MySQL會啟動失敗。比如我們加了--chroot=/usr/local/mysql/啟動參數,那么最好建立一個啟動MySQL的用戶能寫的/usr/local/mysql/tmp目錄,當然我們也可以用--socket=path來指定mysql.sock文件的路徑,但這個path一定要在chroot_path里面。

  4)啟動MySQL服務器時加上--log-slow-queries[=file]參數,這樣mysqld會把SQL命令執行時間超過long_query_time的寫入file文件。如果沒有指定=file,mysqld默認會寫到數據目錄下的hostname-slow.log。如果只指定了filename,沒有指定路徑,那么mysqld也會把filename寫到數據目錄下。我們通過這個日志文件可以找出執行時間超長的查詢語句,然后盡可能的優化它減輕MySQL服務器的負擔。

  5)如果我們只需本機使用MySQL服務,那么我們還可以加上--skip-networking啟動參數使MySQL不監聽任何TCP/IP連接,增加安全性。(非常推薦)

  6)MySQL的更多mysqld啟動選項請見MySQL手冊4.16.4 mysqld Command-line Options

MYSQL 數據庫 安全配置

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
激情亚洲一区二区三区四区| 亚洲影视九九影院在线观看| 亚洲wwwav| 成人精品一区二区三区| 亚洲精品ady| 久久视频国产精品免费视频在线| 中文字幕一区日韩电影| 国产视频精品在线| 亚洲国产99精品国自产| 国产91精品高潮白浆喷水| 欧美日韩中国免费专区在线看| 亚洲欧美综合v| 午夜精品蜜臀一区二区三区免费| 中文字幕欧美日韩在线| 国产主播欧美精品| 日韩最新在线视频| 国产一区二区欧美日韩| 国产欧美日韩最新| 在线播放日韩av| 亚洲人午夜精品| 在线国产精品播放| 久久精品国产一区二区电影| 91九色国产社区在线观看| 亚洲精品久久久久中文字幕欢迎你| 成人免费视频在线观看超级碰| 成人444kkkk在线观看| 亚洲无限乱码一二三四麻| 久久久噜久噜久久综合| 成人乱色短篇合集| 日韩在线视频观看正片免费网站| 亚洲视频综合网| 日韩有码片在线观看| 欧美性高跟鞋xxxxhd| 成人午夜激情网| 国产日韩换脸av一区在线观看| 国产精品第3页| 4438全国成人免费| 久久夜精品香蕉| 国产精品十八以下禁看| 国产精品久久久久久久久久免费| 国产精品久久久久一区二区| 国产精品www色诱视频| 午夜精品国产精品大乳美女| 久久中文字幕在线视频| 欧美日韩国产成人在线| 欧美成年人视频网站| 国产一区二区三区在线免费观看| 欧美日韩免费在线| 91网站在线免费观看| 海角国产乱辈乱精品视频| 午夜精品99久久免费| 色中色综合影院手机版在线观看| 另类美女黄大片| 日韩欧美成人精品| 色黄久久久久久| 亚洲精品日韩久久久| 欧美激情综合色综合啪啪五月| 日韩激情第一页| 国产成+人+综合+亚洲欧洲| 欧美午夜性色大片在线观看| 成人自拍性视频| 91九色视频在线| 亚洲电影免费观看高清完整版| 色综合天天狠天天透天天伊人| 午夜精品久久17c| 亚洲一级黄色片| 国产视频欧美视频| 色伦专区97中文字幕| 欧美日韩福利电影| 欧美日韩免费在线| 精品国产自在精品国产浪潮| 成人福利视频网| 96pao国产成视频永久免费| 高清欧美电影在线| 亚洲人成电影网站| 国产精品高潮呻吟视频| 欧美高清视频在线| 自拍偷拍亚洲在线| 热久久这里只有| 欧美性生活大片免费观看网址| 国产午夜精品一区二区三区| 国产狼人综合免费视频| 亚洲美女精品成人在线视频| 国产精品9999| 中文国产亚洲喷潮| 久久精品国亚洲| 久热精品在线视频| 欧洲s码亚洲m码精品一区| 欧美大片免费看| 亚洲乱码一区二区| 精品调教chinesegay| 久久久免费精品视频| 78色国产精品| 日韩精品久久久久久福利| 91日韩在线播放| 色噜噜狠狠狠综合曰曰曰| 国产精品福利无圣光在线一区| 欧美日韩美女视频| 91在线|亚洲| 福利一区福利二区微拍刺激| 国产精品盗摄久久久| 国产精品69av| 97在线精品国自产拍中文| 久久91亚洲精品中文字幕| 国产亚洲欧美视频| 亚洲在线免费视频| 91欧美视频网站| 国产一区二中文字幕在线看| 国产亚洲欧美日韩精品| 欧美性感美女h网站在线观看免费| 亚洲人成电影在线观看天堂色| 懂色av中文一区二区三区天美| 91系列在线播放| 日韩在线观看网站| 亚洲最大福利视频网站| 亚洲香蕉av在线一区二区三区| 日韩国产高清污视频在线观看| 亚洲欧美国产精品久久久久久久| 亚洲天堂网站在线观看视频| 亚洲福利在线播放| 美女撒尿一区二区三区| 日韩免费观看在线观看| 91情侣偷在线精品国产| 色婷婷综合成人| 日韩欧美国产一区二区| 亚洲jizzjizz日本少妇| 国产香蕉一区二区三区在线视频| 久久99青青精品免费观看| 欧美不卡视频一区发布| 亚洲日本成人网| 亚洲精品98久久久久久中文字幕| 国产69久久精品成人看| 欧美另类69精品久久久久9999| 亚洲精品中文字幕女同| 欧美性猛交xxxxx免费看| 97视频在线观看网址| 国产日韩精品在线| 国产999视频| 亚洲成人三级在线| 日韩av在线影视| 欧美激情第三页| 亚洲精品99久久久久中文字幕| 日韩av不卡电影| 欧美大胆在线视频| 91久久精品国产91久久性色| 国产在线观看一区二区三区| 亚洲国产又黄又爽女人高潮的| 97国产精品视频人人做人人爱| 国产ts一区二区| 尤物yw午夜国产精品视频明星| 亚洲精品国产成人| 国产精品入口免费视| 国产在线98福利播放视频| 视频一区视频二区国产精品| 自拍偷拍亚洲一区| 国产精品99久久久久久白浆小说| 日本最新高清不卡中文字幕| 欧美激情亚洲国产| 亚洲裸体xxxx| 日韩三级影视基地| 国产精品中文久久久久久久| 久久天天躁狠狠躁夜夜躁| 国产一区二区丝袜高跟鞋图片| 日韩在线欧美在线|