mysql怎么防止暴力mysql暴力破解

十年网站开发经验+多家企业客户+靠谱的建站团队

量身定制+运营维护+专业推广+无忧售后,网站问题一站解决

摘至网页链接

常见Mysql配置文件:linux系统下是my.conf,windows环境下是my.ini;

数据库整体安全需求:机密性、完整性、可用性;

1、操作系统级别安全配置

1.1不要将数据库放在系统分区

Windows系统:直接检查是否将数据库放置在C盘。

Linux系统:

在终端连接上mysql数据库,执行如下命令:

showvariableswherevariable_name='datadir';

然后返回shell命令行:

df-hdatadir

其中datadir是上一条命令的返回值。

上述命令的返回值不应是/、/var、/usr

1.2使用专用的最小权限账号运行mysql数据库进程

Windows系统:直接打开任务管理器,查看运行mysql进程的操作系统账号,不能为administrator账号。

Shell命令行运行如下命令:

ps-ef|grepmysql

查看mysql服务的运行账号是否为root或其他高权限账号,如果是的,则需要创建一个非管理员专用账号来运行mysql服务。

1.3禁止使用mysql命令行历史记录

执行如下命令:

find/-name".mysql_history"

查看是否存在mysql的历史命令记录文件,如果存在,则需要进行如下加固:

(1)删除.mysql_history文件;

(2)设置环境变量MYSQL_HISTFILE为/dev/null,并添加到shell的初始化脚本中,创建mysql_history到/dev/null的链接:

ln-s/dev/null$HOME/.mysql_history

1.4确保MYSQL_PWD环境变量未设置敏感信息

Windows系统下进入cmd命令行,使用如下命令:

Set

查看是否设置了环境变量MYSQL_PWD。

Linux系统下使用如下命令:

grepMYSQL_PWD/proc/*/environ

查看MYSQL_PWD环境变量是否设置了敏感信息。

确认那个配置文件或脚本设置了MYSQL_PWD环境变量。

2、安装

2.1使用数据库专用服务器

使用专用的服务器安装mysql服务可以减少mysql服务的攻击面,尽量卸载或删除操作系统上的不必要的应用或服务,减少其他应用的安装可能给mysql的运行带来的安全风险。

2.2不要复用数据库账号

运行mysql服务的操作系统账号不要用来运行其他应用或服务,这样可以避免其他应用或服务器被攻击给mysql服务带来影响。

2.3历史命令行密码设置为不可见

使用如下命令:

mysql-uadmin-ppassword

连接mysql数据库服务,退出后查看历史命令,确认password是否为明文。

(1)先输入mysql-uadmin-p

(2)根据命令行提示输入密码;

而不要在一整条命令中输入密码。

另外要控制mysql配置文件访问权限。

3、文件权限控制

3.1控制数据目录的访问权限

数据目录是mysql数据库存放的位置,在mysql命令行界面下执行如下命令:

在终端命令行下执行如下命令:

ls-ldatadir/..|egrep"^d[r|w|x]{3}------\s*.\s*mysql\s*mysql\s*\d*.*mysql"

其中datadir是第一条命令的执行结果

如果存在问题,linux环境下在终端执行如下命令进行加固:

chmod700datadir

chownmysql:mysqldatadir

3.2控制二进制日志文件的权限

mysql的运行会产生很多日志,例如二进制日志、错误日志、慢查询日志等等,Mysql命令行下执行如下命令:

showvariableslike'log_bin_basename';

在终端命令行执行如下命令:

lslog_bin_basename.*

对于发现的每一个文件,执行如下命令:

ls-llog_bin_basename.nnnnn|egrep"^-[r|w]{2}-[r|w]{2}----\s*.*$"

根据输出确认日志文件的权限设置是否存在问题。

对于每个日志文件,修改其权限和属组如下:

chmod660logfile

chownmysql:mysqllogfile

3.3控制错误日志文件的权限

Mysql命令行下执行如下命令:

showvariableslike'log_error';

lslog_error.*

ls-llog_error|egrep"^-[r|w]{2}-[r|w]{2}----\s*.*$"

3.4控制慢查询日志文件的权限

showvariableslike'slow_query_log_file';

lsslow_query_log_file.*

ls-lslow_query_log_file|egrep"^-[r|w]{2}-[r|w]{2}----\s*.*$"

3.5控制通用日志文件的权限

showvariableslike'general_log_file';

lsgeneral_log_file.*

ls-lgeneral_log_file|egrep"^-[r|w]{2}-[r|w]{2}----\s*.*$"

3.6控制审计日志文件的权限

showglobalvariableswherevariable_name='audit_log_file';

在终端执行如下命令:

ls-laudit_log_file|egrep"^-rw[-x]rw[-x][-r][-w][-x][\t]*[0-9][\t]*mysql[

\t]*mysql.*$"

chmod660audit_log_file

chownmysql:mysqlaudit_log_file

4、通用安全

4.1安装最新的补丁

在mysql命令行下查询MySQL的版本:

SHOWVARIABLESWHEREVariable_nameLIKE"version";

确认是否由需要安装的补丁包,如果有请安装。

4.2删除test数据库

Mysql数据库默认安装好后,存在一个名为test的数据库,如果存在,请执行如下命令删除:

Dropdatabase“test”

4.3确保读取本地文件的参数设置为失效

Mysql命令行下,使用如下命令:

SHOWVARIABLESWHEREVariable_name='local_infile';

查看结果是否为OFF。

如果该命令为ON,则数据库用户可以通过LOADDATAINFILE或者SELECTlocal_file读取到数据库所在操作系统本地的文件,在这种情况下,需要在mysql配置文件中新增一行:

Local-infile=0;

然后重启数据库服务。

5、权限配置

5.1控制可以访问所有数据库的账号

Mysql数据库下的user表和db表中存放着可以授予数据库用户的权限,确保只有管理员账号才能访问所有数据库。可以访问mysql数据库的用户或许可以查看密码哈希值、修改用户权限等等。

使用如下sql语句:

SELECTuser,hostFROMmysql.user

WHERE(Select_priv='Y')OR(Insert_priv='Y')OR(Update_priv='Y')

OR(Delete_priv='Y')OR(Create_priv='Y')OR(Drop_priv='Y');

SELECTuser,hostFROMmysql.dbWHEREdb='mysql'

AND((Select_priv='Y')OR(Insert_priv='Y')OR(Update_priv='Y')

OR(Delete_priv='Y')OR(Create_priv='Y')OR(Drop_priv='Y'));

确保返回结果只能是数据库管理员账号。

5.2限制非管理员用户的权限

Mysql.user表中的权限列有:

file_priv:表示是否允许用户读取数据库所在主机的本地文件;

Process:表示是否允许用户查询所有用户的命令执行信息;

Super_priv:表示用户是否有设置全局变量、管理员调试等高级别权限;

Shutdown_priv:表示用户是否可以关闭数据库;

Create_user_priv:表示用户是否可以创建或删除其他用户;

Grant_priv:表示用户是否可以修改其他用户的权限;

应确保只有数据库管理员才有上述权限,使用如下sql语句查看拥有各个权限的数据库账号:

selectuser,hostfrommysql.userwhereFile_priv='Y';

selectuser,hostfrommysql.userwhereProcess_priv='Y';

SELECTuser,hostFROMmysql.userWHEREShutdown_priv='Y';

SELECTuser,hostFROMmysql.userWHERECreate_user_priv='Y';

SELECTuser,hostFROMmysql.userWHEREGrant_priv='Y';

SELECTuser,hostFROMmysql.dbWHEREGrant_priv='Y';

确保查询结果中不存在非管理员用户。

如果存在非管理员用户,使用如下命令进行权限回收:

REVOKEFILEON*.*FROM'user';

REVOKEPROCESSON*.*FROM'user';

REVOKESUPERON*.*FROM'user';

REVOKESHUTDOWNON*.*FROM'user';

REVOKECREATEUSERON*.*FROM'user';

REVOKEGRANTOPTIONON*.*FROMuser;

其中user为上述查询到的非管理员用户。

SELECTUser,Host,DbFROMmysql.dbWHERESelect_priv='Y'

ORInsert_priv='Y'ORUpdate_priv='Y'ORDelete_priv='Y'ORCreate_priv='Y'

ORDrop_priv='Y'ORAlter_priv='Y';

REVOKESELECTONhost.databaseFROMuser;

REVOKEINSERTONhost.databaseFROMuser;

REVOKEUPDATEONhost.databaseFROMuser;

REVOKEDELETEONhost.databaseFROMuser;

REVOKECREATEONhost.databaseFROMuser;

REVOKEDROPONhost.databaseFROMuser;

REVOKEALTERONhost.databaseFROMuser;

6、审计和日志

6.1开启错误日志审计功能

错误日志包括数据库运行和停止过程中的一系列活动信息,有助于分析数据库运行过程中的一些异常活动,一般情况下需要开启错误日志记录功能,使用如下命令查询:

SHOWvariablesLIKE'log_error';

6.2确保日志存放在非系统区域

日志文件随着数据库的运行会不断增加,如果存放在系统区域,则会影响系统的正常运行,使用如下命令进行查询:

SELECT@@global.log_bin_basename;

确保返回结果不是如下路径:/、/var、/usr

6.3关闭原始日志功能

原始日志选项会决定一些敏感信息是否会被明文写进日志中,例如查询日志、慢查询日志、二进制日志,确保数据库配置文件中存在如下配置项:

Log-raw=OFF

7、认证

7.1Old_passwords环境变量设置

Old_passwords决定了使用PASSWORD()函数和IDENTIFIEDBY、CREATEUSER、GRANT等语句是时的hash算法:

0-authenticatewiththemysql_native_passwordplugin

1-authenticatewiththemysql_old_passwordplugin

2-authenticatewiththesha256_passwordplugin

SHOWVARIABLESWHEREVariable_name='old_passwords';

确保返回值不为1。

7.2secure_auth选项设置

如果客户端采用Old_passwords发起连接请求,如果服务器端设置了secure_auth,则客户端会拒绝连接请求,可以根据安全需求在配置文件中做相应配置。

7.3密码保存

确保密码没有明文保存在全局配置文件中。

SELECTUser,host

FROMmysql.user

WHERE(pluginIN('mysql_native_password','mysql_old_password')

AND(LENGTH(Password)=0

ORPasswordISNULL))

OR(plugin='sha256_password'ANDLENGTH(authentication_string)=0);

7.5不存在空账号

使用如下命令查询是否存在空账号:

SELECTuser,hostFROMmysql.userWHEREuser='';

8、网络设置

如果mysql数据库服务器与应用是跨信任域部署的,则需要考虑在数据库服务器与应用服务器之间建立ssl通道进行数据传输,不过这种场景一般很少见,在此不详细描述。

9、数据库备份

Mysql会自动开启3306端口用于远程连接mysql服务.3306端口就是MySQL的默认端口,但是黑客可以通过它来攻击你的主机系统.服务器默认MySQL端口是3306,最近经常被扫描,甚至扫描到网站很慢或者打不开.如果不需要远程数据库连接就可以让Mysql关闭3306端口,既提高了访问速度,又提高了安全性.避免远程连接mysql数据库.本地程序可以通过mysql.sock来连接,不影响使用.

SSH到主机上输入下面的命令:

vi/etc/my.cnf

在[mysqld]下添加:

skip-networking

最后重启Mysql

servicemysqldrestart

检查Mysql是否正常运行

servicemysqldstatus

应该是有人想暴力破解你的密码,做好安全防护,及时修改账户密码,设置的复杂些。查看下是什么IP在操作,禁止它访问

--配置文件增加以下配置(按需求)

[mysqld]

plugin-load-add=connection_control.so

connection-control=FORCE

connection-control-failed-login-attempts=FORCE

connection_control_min_connection_delay=1000

connection_control_max_connection_delay=86400

connection_control_failed_connections_threshold=5

--插件动态安装启用

--验证是否正常安装

+-------------------------------------------------+------------+

|Variable_name|Value|

|connection_control_failed_connections_threshold|3|

|connection_control_max_connection_delay|2147483647|

|connection_control_min_connection_delay|1000|

--定制化配置(动态)

--查看修改后的配置

+-------------------------------------------------+-------+

|connection_control_max_connection_delay|86400|

connection_control_failed_connections_threshold

失败尝试的次数,默认为3,表示当连接失败3次后启用连接控制,0表示不开启

connection_control_max_connection_delay

connection_control_min_connection_delay

--重新配置connection_control_failed_connections_threshold变量,该表记录会被删除(重置)

THE END
1.安全软件下载安全软件免费下载[软件合集]本站安全软件合集为您提供安全软件相关最新资源下载安装。本合集有360安全卫士、腾讯电脑管家、火绒安全软件等软件。关注本站安全软件合集帮您掌握安全软件最新版本动态,并提供同类型相关软件的下载,望能助您提升效率,快速解决遇到的难题!欢迎大家关注本站,了解更多资讯! 共...https://www.downza.cn/zt/13579.html
2.金狗保险柜总部电话多少《2024汇总》郫都区金狗保险柜各号码《今日汇总》 郫都区金狗保险柜各热线号码2024已更新(2024已更新) 郫都区金狗保险柜维修电话:(1)400-9963-901(点击咨询)(2)400-9963-901(点击咨询) 郫都区金狗保险柜24小时热线(1)400-9963-901(点击咨询)(2)400-9963-901(点击咨询) 郫都区金狗保险柜各区点热线号码《今日发...http://m.7y72.cn/jpost/SYMAbsMzD8xLNp.html?%E9%87%91%E7%8B%97%E4%BF%9D%E9%99%A9%E6%9F%9C
3.安全狗文件绕过iwhattt(8)空格添加法 (9)分号法 (10)删除content-type (11)header中添加任意字符 (12)删除form-data (13)双后缀名绕过 0x02示例过安全狗 安全狗4.0# (1)filename换行 (2)filename多=号 (3)多分号 (4)修改文件后缀 (5)多单引号 安全狗3.5# (1)删除form-data ...https://www.cnblogs.com/ihacker/p/11406241.html
4.SQL注入安全狗apache3.5.12048版本绕过(下)SQL注入 安全狗apache3.5.12048版本绕过 2. 测试and 直接使用and的时候,没有异常,但是使用and 1=1的时候,出现问题 正常 Welcome Dhakkan YANDARERGMYUS款mm心YMoe 曝样式编辑器 存储 口查吞器 网络 调试器 无障碍环境 性第 应用程序 内存 四控制台 ...https://developer.aliyun.com/article/1215010
5.服务器安全配置常用软件站长服务器常用软件服务器常用组件站长...为了满足经常维护服务器的朋友,我们特整理了一些服务器安全配置常用软件、组件,连接服务器的客户端等软件下载http://s.jb51.net/
6.网站安全狗IIS枸杞2版v3.5.11497网站安全狗IIS枸杞2版 v3.5.11497 网站安全狗是一款集网站内容安全防护、网站资源保护及网站流量保护功能为一体的服务器工具。功能涵盖网马/木马扫描、防SQL注入、防盗链、防黑链、防CC攻击、下载线程保护、IP黑白名单管理、实时流量监控、实时CPU监控等功能,并提供了界面密码保护功能。作为...https://www.iteye.com/resource/weixin_38595019-13457325
1.手机安全软件安卓安全软件咕咕猪手机安全软件合集为你提供手机安全软件,安卓安全软件,iPhone安全软件 ...详情下载列表 相关专题 最新专题 本类排行榜 手机安全软件易视看摄像头 安全 2024-11-21 12321助手 系统 2024-11-20 掌信签 系统 2024-11-20 防监听大师 系统 2024-11-20 2345清理王 系统 2024-11-19 千鸟物联摄像头app ...https://www.guguzhu.com/zt/anquan/
2.ZOOMSERVO兽狗牧场:动物的温馨家园卫士下载站 首页 游戏资讯 攻略问答 人气游戏 应用软件 ZOOMSERVO 兽狗牧场:动物的温馨家园日期:2024-11-18 13:27:59 频道:游戏资讯 在这个快节奏的现代社会中,我们常常忽略了与动物之间的亲密联系。ZOOMSERVO 兽狗牧场为我们提供了一个重新与动物建立联系的机会,让我们了解到动物不仅仅是我们的伙伴,更是我们的...http://m.k2shilichunfeng.com/k2news/5618.html
3.ZOOMSERVO兽狗最新版本:相关介绍随着ZOOMSERVO 兽狗的广泛应用,也引发了一些关于和社会影响的思考。例如,在一些特殊情况下,它的使用可能会涉及到隐私问题和安全风险。如何在发挥其优势的合理规范其使用,确保其对社会产生积极的影响,是我们需要认真面对和解决的问题。 ZOOMSERVO 兽狗的最新版本代表了科技发展的前沿成果。它的出现为我们的生活和工作带...http://m.akbattery.com/akgl/125188.html
4.ZOOMSERVO兽狗:强大的机械伙伴ZOOMSERVO 兽狗还具备强大的安全保护功能。它配备了先进的传感器和警报系统,能够及时发现并防范潜在的危险。它可以保护主人的家庭安全、防止陌生人入侵,还可以在主人遇到紧急情况时及时发出警报并寻求帮助。 ZOOMSERVO 兽狗不仅是一款实用的机械伙伴,更是一个有趣的玩伴。它可以与主人一起玩耍、互动,为主人带来无尽的欢...http://m.sylab.com.cn/sydt/20015.html
5.狗的6合和3合/手机APP下载(最新版)★配合爱牵挂关爱系列智能设备,随时关注家人健康与安全情况。 ---主要功能--- 智能远程照护——远程定位、一键SOS、电子防狗的6合和3合走失围栏、在家离家判定……完善的功能助你方便、省心的照护家人。 健康监测——不管是自己还是远在家乡的父母亲,通过绑定关爱系列智能设备,即可随时随地掌握自己的心率、血压、睡...http://tgbus.com/caipiaonewsim629/
6.网站安全狗Apache版网站安全狗Apache版下载v3.5.1204...网站安全狗是为IDC运营商、虚拟主机服务商、企业主机、服务器管理者等用户提供服务器安全防范的实用系统,是集网站内容安全防护、网站资源保护及网站流量保护功能为一体的服务器网站安全防护软件。功能涵盖了网马/木马扫描、防SQL注入、防盗链、防CC攻击、网站流量实时监控、网站CPU监控、下载线程保护、IP黑白名单管理等模...https://www.wmzhe.com/soft-7481.html
7.网站安全狗IIS版网站安全防护V3.5.11493安全技术网站安全狗是一款集网站内容安全防护、网站资源保护及网站流量保护功能为一体的网站安全防护软件。功能涵盖了网马/木马扫描、防SQL注入、防盗链、防CC攻击、网站流量实时监控、网站CPU监控、下载线程保护、IP黑白名单管理等。软件支持全系列的Windows服务器操作系统(Windows2003/Windows2008/Windows2012 32位 64位)。https://www.coder100.com/index/index/content/id/1980569
8.安全狗3.5创建服务器名安全狗注册同时,通过点击服务器安全狗信息窗上的“显示主窗口”或者“隐藏主窗口”按钮可以实现信息窗与服务器安全狗主面板的切换。 使用步骤 在你的服务器上下载安装一款名为安全狗的服务器安全软件。安装后如下图所示: 2.设置网络防火墙一栏。 将下面的相关安全全部开启:DDOS防火墙、CC攻击、ARP防火墙、应用防火墙 ...http://shouzuofang.com/article/dojesed.html
9.安全狗3.5版本SQL注入绕过安全狗3.5from绕过安全狗3.5版本SQL注入绕过 博主成功解决新版安全狗Apache服务启动问题,关键在于理解`/*!60000xxx*/`对MySQL版本的限制。分享了使用特定SQL注释绕过union和select拦截的方法,以及版本差异对拦截策略的影响。 摘要由CSDN通过智能技术生成 环境搭建: phpstudy+sqli-labs-master...https://blog.csdn.net/weixin_40052958/article/details/118895192
10.网站安全狗Apache版V4.0正式版下载网站安全狗是一款集网站内容安全防护、网站资源保护及网站流量保护功能为一体的服务器工具。功能涵盖网马/木马扫描、防SQL注入、防盗链、防CC攻击、下载线程保护、IP黑白名单管理等功能。作为服务器安全专家,这套软件已通过公安部信息安全产品检测中心的检测,并获检验合格证书。 https://www.xiazaiba.com/html/1562.html
11.安全狗软件下载服务器安全狗安全狗官方下载服务器防护软件哪个好?安全狗是一款注重于电脑网络安全服务管理工具,依托云端技术和大数据安全分析能力为用户提供专业的云安全产品与服务,IT猫扑网小编为大家准备了安全狗软件大全,内含有安全狗服云客户端、安全狗服务器版、网站安全狗Apache版、安全狗服云app等,满足大家的需求。快来IT猫扑网瞧瞧吧!https://www.itmop.com/key/anquangou
12.SQL注入安全狗超大数据包绕过腾讯云开发者社区这里演示的是安全狗apache3.5.12048版本超大数据包绕过,后面还会分享4.0版本的一些教程,教程难免有纰漏,请各位谅解 测试版本:apache3.5.12048版本 0x01 测试条件 这个是get请求的,要求对方可以接收post请求,也就是说对方应该是REQUEST接收方式。 测试所使用的靶场为sqli-labs靶场 ...https://cloud.tencent.com/developer/article/1856683
13.代码审计XYHCMSV3.5URL重定向漏洞分析2.V3.5内测版新增币额宝随存随取高收益产品 Qbao NetworkV3.5内测版本中,币额宝新增ETH、QTUM等多个币种随 网站安全狗V3.5枸杞版正式发布 、最高效的服务器安全管理及服务。本次网站安全狗V3.5枸杞版就是根据用户反馈的意见进行更新修复的版本。具体修复内容如下:1、优化网马查杀引擎,提高查杀效率与准确率;2、...https://www.pianshen.com/article/4800128688/
14.传神3脱机挂3.5正式版+挂机脚本编辑器怀旧传奇3论坛收藏的一些光通时代的脱机挂,喜欢的拿去收藏。http://www.cq3.in/thread-2819-1-1.html
15.九游APP官网九游游戏中心安卓iOS下载【下载次数516】现在下载,新用户还送新人礼包?九游app官网入口安全狗互联网安全实验室(SafeDog Internet Security Lab)推出的集云核算与服务器重要数据备份为一体的云安全服务项目。安全狗云备份首要用于为广阔用户供给包含网站文件、数据库文件、配置文件等服务器、网站重要数据备份及备份复原功用,一起,...http://www.m.share.shispan.com/rqO/detail/qKkPYn.html