Linux数据库安全设置规范
2018-01-24 10:12:45
详情:
数据库安全设置规范
一、SQL Server 安全设置规范
1. 安装Microsoft 安全补丁
每月安装微软发布的SQL Server安全补丁
2. 使用安全的密码策略
设置web 发布用户账户的密码策略,强制使用复杂密码。
3. 使用安全的sa 帐号策略
Sa 账户由于在sql server认证模式下无法禁用,所以需使用复杂密码以确保数据库安全。
4. 数据库日志远程备份
数据库日志可以用来分析访问信息,需自动备份到远程服务器。
5. 限制扩展存储过程
需要禁用的存储过程:
xp_cmdshell
xp_regaddmultistring
xp_regdeletekey
xp_regdeletevalue
xp_regenumkeys
xp_regenumvalues
xp_regread
xp_regremovemultistring
xp_regwriteActiveX
sp_OAcreate
sp_OADestroy
sp_OAMethod
sp_OAGetProperty
sp_OASetProperty
sp_OAGetErrorInfo
sp_OAStop
xp_cmdshell
禁止存储过程使用:sp_dropextendedproc ’xp_cmdshell’
允许存储过程使用:sp_addextendedproc ’xp_cmdshell’
6. 对网络连接进行IP 限制
在本机防火墙上限制可以连接的IP 地址
7. sqlserver 和agant 使用独立用户账户开启服务
禁止使用local system开启服务,新建普通用户开启服务。
Sqladmin 账户开启sqlserver 服务
Sqlagent 账户开启sqlserver agent服务
8. 审核指向SQL Server的连接
在SQL server中审核指向SQL Server的访问
9. 对数据库账户进行适当的权限分配
正常情况下,设置单独登录并且授予单独数据库的read 和write 权限,禁止授予db_owner权限。
二、MySQL 安全设置规范
1. root 用户修改uid 并使用复杂密码 UPDATE USER SET USER="shtvumysql" WHERE USER="root";
SET PASSWORD FOR shtvumysql@localhost=PASSWORD(linmysql123);
2. 使用mysql 用户启动服务
检查系统是否使用mysql 独立账户启动MySQL ,如果不是,新建mysql 用户并以该账户启动mysql
3. 包含账户信息的脚本设置为700
包含账户信息的命令和脚本需要控制访问权限,以防止意外的密码泄露。并不要在命令行内使用带密码的命令以防止history 查看。数据库脚本设置成700权限。
4. 修改user 表以防止未经授权的访问
删除所有本地的系统账户,以及root 所有远程 的登录。 delete from user where host="%" and user="root";
delete from user where host="localhost" and user="";
5. 限制访问3306端口的IP 地址
在防火墙上限制访问3306端口的ip 地址,以限制访问数据库服务器。
6. mysql 数据库文件设置权限
chown mysql:mysql /var/lib/mysql
限制其他组和系统账户的读写权限,所有数据库数据文件夹设置权限700,文件设置权限600
7. 监控MySQL 访问记录
使用crontab 自动备份mysql 日志到远程备份服务器。
网上报名 免费试学+报名即可领取免费资料