如何安全应对MySQL攻击

面对MySQL的攻击,管理员应当尽可能的保证服务器的安全。下面的文章将向您介绍如何在面对MySQL攻击时保证安全。

当你连接到MySQL服务器时,你应使用一个密码。密码不以明文在上传输。客户端连接序列中的密码处理在MySQL 4.1.1中已经升级,很安全。如果你仍然使用pre-4.1.1-风格的密码,加密算法不如新算法强;通过一些工作,可以窃取客户端和服务器之间的通信的聪明的攻击者可以破解密码。如果客户端和服务器之间的连接通过不可信任网络,你应使用SSH隧道来加密通信。

有其它信息以文本传送,可以被可以看到连接的任何人读取。如果你担心这个,你可以使用压缩协议来使通信更难以解密。要想使连接更加安全,你应使用SSH来获得加密的MySQL服务器和MySQL客户端之间的TCP/IP连接。(注释:你还可以使用MySQL内部OpenSSL支持。)

为了使MySQL系统安全,强烈要求你考虑下列建议:

◆对所有MySQL用户使用密码。客户端程序不需要知道运行它的人员的身份。对于客户端/服务器应用程序,用户可以指定客户端程序的用户名。例如,如果other_user没有密码,任何人可以简单地用mysql -u other_user db_name冒充他人调用mysql程序进行连接,进行MySQL攻击。如果所有用户有密码,使用其它用户的账户进行连接要困难得多。

要想更改用户的密码,应使用SET PASSWORD语句。还可以直接更新mysql数据库中的user表。例如,要更改所有root用户的MySQL账户的密码。

以下为引用的内容:
shell> mysql -u root
mysql> UPDATE mysql.user SET Password=PASSWORD(‘newpwd’)
  -> WHERE User=’root’;
mysql> FLUSH PRIVILEGES;

绝对不要作为Unix的root用户运行MySQL服务器。这样做非常危险,因为任何具有FILE权限的用户能够用root创建文件(例如,~root/.bashrc)。为了防止,mysqld拒绝用root运行,除非使用–user=root选项明显指定。

应可以(并且应该)用普通非特权用户运行mysqld。你可以创建独立的Unix中的mysql账户来以便使所有内容更加安全。该账户只用于管理MySQL。要想用其它Unix用户启动mysqld,增加user选项指定/etc/my.cnf选项文件或服务器数据目录的my.cnf选项文件中的[mysqld]组的用户名。例如:

以下为引用的内容:
[mysqld]
user=mysql

该命令使服务器用指定的用户来启动,无论你手动启动或通过mysqld_safe或mysql.server启动。

作为其它Unix用户而不用root运行mysqld,你不需要更改user表中的root用户名,因为MySQL账户的用户名与Unix账户的用户名无关。

◆不要允许使用表的符号链接。(可以用–skip-symbolic-links选项禁用)。如果你用root运行mysqld则特别重要,因为任何对服务器的数据目录有写访问权限的人则能够删除系统中的任何文件!

◆确保mysqld运行时,只使用对数据库目录具有读或写权限的Unix用户来运行。

◆不要将PROCESS或SUPER权限授给非管理用户。mysqladmin processlist的输出显示出当前执行的查询正文,如果另外的用户发出一个UPDATE user SET password=PASSWORD(‘not_secure’)查询,被允许执行那个命令的任何用户可能看得到。

mysqld为有SUPER权限的用户专门保留一个额外的连接,因此即使所有普通连接被占用,MySQL root用户仍可以登录并检查服务器的活动。

可以使用SUPER权限来终止客户端连接,通过更改系统变量的值更改服务的器操作,并控制复制服务器,防止MySQL攻击的发生。

◆不要向非管理用户授予FILE权限。有这权限的任何用户能在拥有mysqld守护进程权限的文件系统那里写一个文件!为了更加安全,由SELECT … INTO OUTFILE生成的所有文件对每个人是可写的,并且你不能覆盖已经存在的文件。

file权限也可以被用来读取任何作为运行服务器的Unix用户可读取或访问的文件。使用该权限,你可以将任何文件读入数据库表。这可能被滥用,例如,通过使用LOAD DATA装载“/etc/passwd”进一个数据库表,然后能用SELECT显示它。

◆如果你不信任你的DNS,你应该在授权表中使用IP数字而不是主机名。在任何情况下,你应该非常小心地使用包含通配符的主机名来创建授权表条目,以防MySQL攻击!

◆如果你想要限制单个账户允许的连接数量,你可以设置mysqld中的max_user_connections变量来完成。GRANT语句也可以支持资源控制选项来限制服务器对一个账户允许的使用范围。
 

【编辑推荐】

  1. 数据库应用安全:如何平衡加密与访问控制
  2. MySQL安全攻防实战指南之体系结构篇
  3. MySQL数据库灾备的基础知识大全
  4. 甲骨文数据库发现漏洞 黑客能远程访问信息
  5. SafeNet发布SQL Server 2008 R2最新解决方案

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/149109.html<

(0)
运维的头像运维
上一篇2025-03-12 11:24
下一篇 2025-03-12 11:25

相关推荐

  • hypervmart美国是什么?hypervmart美国官网入口

    2026 年 Hypervmart 美国站已全面接入 AI 智能选品与跨境物流自动化系统,成为中小卖家切入北美市场的首选低成本独立站解决方案,其核心优势在于“零库存 + 高转化”的闭环模式,随着 2026 年全球跨境电商进入“精细化运营”深水区,Hypervmart 美国站凭借其对北美消费者行为的深度洞察,在独……

    2026-05-02
    0
  • hypervmart是什么,hypervmart官网入口

    hypervmart 在 2026 年是否值得投资?核心结论:是,但需精准匹配供应链场景hypervmart 作为 2026 年跨境零售与 B2B 融合的新兴平台,其核心价值在于利用 AI 驱动的供应链优化技术,为中小卖家提供低于行业平均 15% 的履约成本,但成功与否高度依赖卖家对“跨境物流时效”与“海外仓选……

    2026-05-02
    0
  • RAKsmart独立服务器2026年测评,CN2 GIA实测数据与性能表现,CN2 GIA服务器到底怎么样,CN2 GIA独立服务器推荐

    RAKsmart 独立服务器在 2026 年已确立为连接中国内地与全球的高性能网络枢纽,其 CN2 GIA 线路实测延迟稳定在 35ms 以内,吞吐量突破 900Mbps,是跨境业务场景下兼顾稳定性与性价比的优选方案,核心网络性能深度解析2026 年 CN2 GIA 线路实测数据在 2026 年的网络架构中,R……

    2026-05-02
    0
  • hosteonsVPS测评,实测体验,hosteonsVPS怎么样?

    Hosteons VPS 在 2026 年的实测表现显示,其依托全球 BGP 线路优化与 NVMe 全闪存架构,在亚洲至北美跨洋延迟控制上表现优异,是追求高性价比与稳定性的中小型企业首选,但需注意其部分机房在晚高峰期的波动风险,核心性能与网络架构深度解析在 2026 年云计算基础设施全面向 AI 算力与边缘计算……

    2026-05-02
    0
  • BaCloud独立服务器测评不限流量实测表现,BaCloud独立服务器不限流量怎么样

    2026 年实测结论:BaCloud 独立服务器在不限流量场景下表现优异,特别适合高并发视频流媒体与大数据传输业务,其性价比与稳定性在同类竞品中处于第一梯队,但需关注其节点覆盖密度,在 2026 年云计算市场进入存量博弈与精细化运营并存的阶段,企业用户对于“不限流量”的诉求已从单纯的带宽大小转向实际吞吐能力与计……

    2026-05-02
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注