Linux下PhpMyAdmin程序目錄結構的安全管理
PhpMyAdmin是一套放在服務器端的通過瀏覽器界面管理的程序,因此,確保其目錄安全性十分重要,否則,將導致數據被盜取甚至遭到惡意破壞。下面將詳細講述一般的防范措施。
一、 修改phpMyAdmin目錄名:
在不修改目錄名前,其他人很容易洞察該目錄名,造成安全隱患。如,假設一臺Linux主機的域名為:www.test.com,那么不修改目錄名的情況下,在地址欄中輸入:www.test.com/phpMyAdmin/ 就將進入phpMyAdmin管理程序。因此如果將phpMyAdmin目錄改名為一個別人不易知道的目錄,如mynameadmin,這樣,你在管理自己的數據庫時,只要鍵入:www.test.com/mynameadmin/ 就可以通過瀏覽器管理數據庫了。(注:下面仍將使用phpMyAdmin目錄名,如果目錄名已換,只需把phpMyAdmin改名為新的目錄名即可。)
二、 對phpMyAdmin目錄加用戶身份驗證:
這是很多網站需要用戶驗證時普遍使用的方法,這樣當用戶第一次瀏覽進入該目錄時,都將出現一個提示窗口,提示用戶輸入用戶名和密碼驗證,其是通過使用Apache Server的標準 mod_auth模塊實現的,具體操作方法如下:
1、VI編輯Apache Server配置文件,確保文件中如下兩句話沒有加注釋,如果這兩句話前有"#"符號,去掉"#"號。
DocumentRoot /data/web/apache/public/htdocs
AccessFileName . htaccess
AllOerride All
2、passwd程序創建用戶文件:
htpasswd - c /data/web/apache/secrects/.htpasswd 88998
其中,-c表示選項告訴htpasswd你想生成一個新的用戶文件,/data/web/apache/secrects/ 是你想存放 .htpasswd 文件的目錄,文件名稱為 .htpasswd,88998 是在驗證時所用到的用戶名,敲如以上命令后,系統提示你輸入密碼,這個密碼就是驗證時所需要用到的密碼,該密碼在 .htpasswd 文件中是加密的,F在用more來查看 /data/web/apache/secrects/.htpasswd文件,可以看到其中有一行用戶名和一串加密密碼。
3、創建 .htaccess 文件:
使用文本編輯器,在目錄 phpMyAdmin (如果已經改名,就是新的目錄名)下創建 .htaccess 文件,在文件中加入如下語句:
AuthName "用戶驗證"
AuthType Basic
AuthUserFile /data/web/apache/public/htdocs/phpMyAdmin/.htpasswd
require user 88998
保存所做操作后,再去看phpMyAdmin目錄,將提示驗證窗口,輸入剛用 htpasswd 命令創建的用戶名和密碼,即可進入該目錄。
三、 增加基于主機的訪問控制:
在修改了目錄名和增加訪問驗證機制后,應該說現在的phpMyAdmin已經很安全了,但由于phpMyAdmin目錄一般只是數據庫管理員使用,為防止別人還知道目錄名稱和驗證密碼,還可以增加如下的基于主機的訪問控制,基于主機的訪問是通過驗證用戶機器IP來實現的,即只有符合條件的IP才可以反問該目錄,否則拒絕訪問。
修改 .htaccess 文件如下:
AuthName "用戶驗證"
AuthType Basic
AuthUserFile /data/web/apache/public/htdocs/phpMyAdmin/.htpasswd
require user 88998
order deny,allow
deny from all
allow from 202.100.222.80
這里增加了三條基于主機訪問控制指令,其中第一條 order 指令的值是由一個逗號隔開的名單,這個名單表明了哪一個指令更高的優先權,第二條指令 deny 定義不能訪問該目錄的主機,第三條指令 allow 定義可以訪問該目錄的主機,這樣,該目錄除了IP地址為 202.100.222.80 的機器可以訪問該目錄之外,其他的都不能訪問,讀者可以把該地址該為用戶數據庫管理員IP。
總結:通過以上三點相結合,就可很好的確保 phpMyAdmin 目錄的安全,非數據庫管理員將很難通過phpMyAdmin程序讀取數據。這里所講的是針對于phpMyAdmin目錄進行講述,其他目錄如需加訪問限制,也可依此方法操作。
關鍵字:Linux、PhpMyAdmin、程序、服務器
新文章:
- CentOS7下圖形配置網絡的方法
- CentOS 7如何添加刪除用戶
- 如何解決centos7雙系統后丟失windows啟動項
- CentOS單網卡如何批量添加不同IP段
- CentOS下iconv命令的介紹
- Centos7 SSH密鑰登陸及密碼密鑰雙重驗證詳解
- CentOS 7.1添加刪除用戶的方法
- CentOS查找/掃描局域網打印機IP講解
- CentOS7使用hostapd實現無AP模式的詳解
- su命令不能切換root的解決方法
- 解決VMware下CentOS7網絡重啟出錯
- 解決Centos7雙系統后丟失windows啟動項
- CentOS下如何避免文件覆蓋
- CentOS7和CentOS6系統有什么不同呢
- Centos 6.6默認iptable規則詳解