mysql與redis安全問題

作爲網絡服務的中心,網絡服務器,經常會受到來自外部的***,今天簡單概括一下,作爲服務端重要組成部分--數據庫服務,存在哪些不安全的地方,以及如何去防範;


常見服務的安全問題:

1、redis服務;

2、mysql服務;


redis服務所存在的潛在安全問題:

redis crackit 漏洞利用實例;

由於很多reids服務都是免密碼登錄的,

連接無密碼認證的reids服務;

測試是否支持config命令,並查看當前db文件位置;

修改db文件路徑到crontab文件(覆蓋/var/spool/cron/crontabs/下的文件)

修改db文件路徑到ssh登陸祕鑰文件(覆蓋~/.ssh/authorized_keys文件)

這樣,基本就可以通過***機器,ssh到redis所屬機器上了。並且拿到啓動redis的用戶權限;


redis服務需要注意的安全常識:

redis服務安全配置(/etc/redis.conf)

只監聽localhost或對訪問源進行限制;

使用低權限的獨立服務賬號(redis)

增加密碼認證

禁用config、flushdb、flushall、keys等特殊指令;


mysql服務安全配置:

只監聽localhost或對訪問源進行限制;

使用低特權的獨立服務賬號(由於mysql內置了一套較爲高級的賬號管理系統,不同的賬號不僅對不同的數據庫、表有不同的管理權限,而且不同的賬號對其他的賬號具有一定的權限管理,相當的高級)

合理劃分mysql賬號權限

爲所有sql賬號設置複雜密碼,禁用特權賬號遠程登陸

合理設置linux文件系統權限

禁止mysql賬號對非數據庫文件的寫入



對於包括數據庫服務在內的,所有服務而言,一些通用的防禦手段

採用規範的軟件安裝方法,對安裝軟件以及相關的配置運行目錄權限進行較爲注意的設置,

只保留必要的服務/端口

採取訪問來源限制

合理的權限分配(文件權限和運行權限)

及時修復已知漏洞,補丁更新;


安全歸類表格:

服務分類通用redismysqlweb服務
外部訪問源控制限制源ip限制源ipwaf等
外部訪問鑑權設置強密碼設置強密碼增加token等方式
內部程序內防禦禁用特權命令只允許訪問部分數據判斷數據是否合法
內部服務權限劃分運行權限限制運行權限限制運行權限限制
內部服務權限劃分文件權限劃分文件權限劃分文件權限劃分
內部操作系統防禦修補已知漏洞修補已知漏洞修補已知漏洞



設置密碼策略:


密碼長度、字符集、獨立密碼、獨立模式

推薦工具:mkpasswd (linux系統工具)


運行權限限制:

服務應運行在獨立的低特權賬號下

需監聽1000以下端口則採用master-worker結構(如:nginx/apache/php-fpm)


工作賬號運行服務的風險:

服務唄攻破後獲取工作賬號特權(可控制較多重要數據)

如,通過修改 ~/.bashrc,加入反彈shell腳本

當工作賬號以sudo -s/-i 等方式切換到root時,會以root加載工作賬號的環境,即執行惡意腳本

***者利用工作賬號的正常操作實現提權;


文件權限限制:

禁止使用777等全員讀寫執行權限

合理設置文件屬主及權限,重要文件及目錄禁止讀寫執行

可寫目錄不解析,解析目錄不可寫(web)

可寫文件不執行,執行文件不可寫(mysql)


本文來自:http://blog.csdn.net/dengjiexian123/article/details/52973247

參考文章:https://blog.51cto.com/simeon/2115184

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章