1、mysql可行安全方案 MYSQL可行安全方案1、Mysql软件的介绍1、简介:MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 旗下公司。MySQL 最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。MySQL 是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL 所使用的 SQL 语言是用于访问数据库的最常用标
2、准化语言。MySQL 软件采用了双授权政策(本词条授权政策),它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。由于其社区版的性能卓越,搭配 PHP 和 Apache 可组成良好的开发环境。2、软件特点:1使用C和C+编写,并使用了多种编译器进行测试,保证源代码的可移植性2支持AIX、FreeBSD、HP-UX、Linux、Mac OS、NovellNetware、OpenBSD、OS/2 Wrap、Solaris、Windows等多种操作系统3为多种编程语言提供了API。这些编程语言包括C、C+、Pyt
3、hon、Java、Perl、PHP、Eiffel、Ruby和Tcl等。4支持多线程,充分利用CPU资源5优化的SQL查询算法,有效地提高查询速度6既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中。7提供多语言支持,常见的编码如中文的GB 2312、BIG5,日文的Shift_JIS等都可以用作数据表名和数据列名。8提供TCP/IP、ODBC和JDBC等多种数据库连接途径。9提供用于管理、检查、优化数据库操作的管理工具。10支持大型的数据库。可以处理拥有上千万条记录的大型数据库。11支持多种存储引擎。2、Mysql的安全问题:1、数据的备份:数据储存
4、的硬盘或者文件系统本身,如果发生故障,会给数据带来不可逆的怕坏,所以要通过软件对数据进行自动的备份,或者定期备份数据,保护数据不受到破坏数据库每天凌晨2点进行自动备份2、数据库的访问权限:数据库的默认用户,通常有匿名用户和root用户两种,所以要非常注意设置用户的访问权限,避免有人通过匿名用户访问数据库,发生数据的泄漏。在数据库不需要用户访问的时候,最好关闭数据库的远程保护功能,可以采取的措施包括关闭远程访问功能,或者通过软件让远程访问无法连接的数据库,还有把mysql强行绑定到本地主机(这样只有一个用户可以登录数据库)(1) 关闭匿名用户的方式(2) 只允许我的ip访问数据库且只是用sele
5、ct权限3、数据库的操作权限黑客攻击或者管理员的误操作都会造成数据库的损坏,为了保证数据库的安全,必须要严格把控数据库的操作权限,比如Select,insert,update,delete,create,是对数据库相应的操作权限,权限过高,操作权限太多,就可能影响数据库的安全,如果黑客获得拥有delete,create权限的帐号,不仅仅会造成数据泄漏,甚至会让数据库内的数据全部变成错误的或者被删除(1)分别建立三个数据库管理员:一个具备select和update;一个具备create和insert;一个具备delete;4、数据库的网络安全在mysql服务器架构中,网络的传输过程中安全问题非常
6、重要,比如如果客户端服务器事务是以明文(信息未加密)的方式进行的,那么黑客很容易就能发现这些传输中的数据包,并从中获取敏感信息。要解决这个问题就要对网络中传输的数据进行加密。加密可以通过激活mysql设置中的ssl,或者使用openssh这样的安全外壳程序。这样就可以在一定程度上,让黑客无法破译传输中的数据包,保护数据的信息(1)重点解释下5、应用程序的安全隐患因为数据库的特殊性,很多php程序或者命令都可以引用数据库内的数据,在一定程度上也会影响到数据库的信息安全。比如一个具有suid权限的php程序,可能会被黑客利用,来窃取修改数据库内的数据。要想控制这种情况,必须要严格控制相关的程序和脚
7、本的权限,也可以利用selinux来进行设置。(例如:LOCAL INFILE命令,可以从文件系统中读取文件,并显示在屏幕中或保存在数据库中。如果攻击者能够从应用程序找到SQL注入漏洞,这个命令就相当危险。Selinux可以禁用这条命令)(1)这块说的太过笼统,咱们的应用环境是linux+php+mysql+nginx,基于这个环境考虑应用程序安全隐患!6、Mysql授权表的管理MySQL的访问控制系统是通过一系列所谓授权表进行运作的,这些授权表使我们能够在数据库、表和列水平上定义每一位用户的访问级别。而这些表也能够让管理员授予某用户普适许可(即总是允许)或授予表使用通配符的权限,这样做相当危
8、险,因为黑客有可能会使用一个被盗帐号来获取访问系统其他部分的权限。因此,在分配用户权限时要谨慎行事,做到准确无误,并且始终确保用户获得的访问权限恰好足够他们完成任务即可。此外,还要谨防给个人用户分配SUPER特权,因为这个级别的权限允许用户操纵基本服务器配置并访问所有数据库。7、Mysql用户帐号密码的泄漏很多时候,为了使服务器连接更加快捷方便,无论是个人用户还是服务器管理员都把他们的用户帐号密码存储在MySQL的per-user选项文件中。但是,这个密码是以纯文本形式存储在这个文件中的,很容易就会被读取。因此,确保系统的其他用户无法查看类似于per-user这种配置文件,并把这些文件存储在非
9、公共区域就显得至关重要。最好是把per-user配置文件存储在用户帐户的私人主目录下,并将权限设置为0600(只能被根用户读写)。8、服务器本身的安全Mysql数据库是服务器的重要的部分,可安全的mysql也必须要建立在安全地服务器之上,必须要保证服务器的安全,才能再去谈数据库的安全,所以在做mysql安全方案的过程中,也要把服务器的安全考虑进去。所以采用selinux和iptables来保护服务器的安全,selinux采取权限最小原则:规则只开启足够使用的就可以,其他全部功能程序都用selinux的规则进行限制。同时iptables也只要满足服务器需要的必要端口,其他的全部都关闭。避免过多的
10、端口开启,给黑客更多的可乘之机。3、Mysql安全的必要性数据库是电子商务、金融以及ERP系统的基础,通常都保存着重要的商业伙伴和客户信息。大多数企业、组织以及政府部门的电子数据都保存在各种数据库中,他们用这些数据库保存一些个人资料,比如员工薪水、个人资料等等。数据库服务器还掌握着敏感的金融数据。包括交易记录、商业事务和帐号数据,战略上的或者专业的信息,比如专利和工程数据,甚至市场计划等等应该保护起来防止竞争者和其他非法者获取的资料。数据完整性和合法存取会受到很多方面的安全威胁,包括密码策略、系统后门、数据库操作以及本身的安全方案。所以数据库安全是重中之重,要保证数据的安全,全面的指定数据库安
11、全方案。4、Mysql数据库的管理可以使用命令行工具管理MySQL数据库(命令mysql 和 mysqladmin),也可以从MySQL的网站下载图形管理工具MySQL Administrator,MySQL Query Browser和MySQL Workbench。hpMyAdmin是由php写成的MySQL资料库系统管理程程序,让管理者可用Web界面管理MySQL资料库。hpMyBackupPro也是由PHP写成的,可以透过Web界面创建和管理数据库。它可以创建伪cronjobs,可以用来自动在某个时间或周期备份MySQL 数据库。(1)了解清楚phpmyadmin的使用和搭建!五、针对
12、Mysql安全问题,相应的方案1、让Mysql通过ssl进行控制和数据传输1)建立ca凭证2)建立mysql-server凭证3)建立mysql-client凭证4)修改mysql配置文件f2、mysql数据库的备份1)安装配置drbd2)配置mysql因为试验中的sdb1是整个文件系统的所在,包括了数据库。如果是单独加的块设备,应该要挂载,再把数据库目录改到挂载的目录之下3、通过iptables和selinux对mysql的数据库进行安全防护1)iptables的设置因为drbd的数据备份,需要通过7788端口,所以要把7788端口放开,如果是程序或者是功能需要,也可以添加一些其他的端口2)
13、Selinux的配置安装管理工具因为selinux也有自动禁用不常用端口和软件程序访问数据库的功能,所以想要正常在selinux,数据库正常工作,满足应有的功能,应该把必须的端口程序和文件,给他们开启运行引用的权限如果有需要,可以开启其他相关的访问规则 4、控制mysql的授权表注释:Grant是增加用户和增减权限的Revoke是减少用户和减少以增加的权限的Select,insert,update,delete,create,是对数据库相应的操作权限Identified:是鉴定验证,(只能通过192.168.70.29的test用户访问并具有相应的权限)可以根据配置mysql授权表来进行访问控制,保护数据库的安全5、积极监控mysql的访问日志日志中有访问信息,修改信息,报错信息因为日志增长太快,所以设置只保存7天的日志6、安装mysql的管理程序可以用安装这些软件来管理mysql服务器
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1