1、Sakila 30而立!打造坚不可摧的MySQL徐轶韬MySQL首席解決方案工程师Oracle LLC.MySQL 创新30年3OracleSunMySQL AB19952000200520102015200820202023202420251.以強大的盔甲抵挡攻击2.跌落时有安全网保护安全保障来自两方面Copyright 2025,Oracle and/or its affiliates4Copyright 2025,Oracle and/or its affiliates4遵循基本的安全准则(https:/ root 账户除外)获取 mysql 系統数据库中的 user 表!了解 MySQ
2、L 访问许可权限系统的工作原理不要在数据库中储存明文密码假設所有密码都将使用已知密码清单进行自动破解使用防火墙MySQL 的应用程序不应信任用户输入的任何数据重要数据加密以validate_password component 強化密码编码策略(https:/ 2025,Oracle and/or its affiliates5登录认证6Copyright 2024,Oracle and/or its affiliates在 MySQL 中,账户由三个元素构成:oUsername空白用户视为匿名oHost,运行 MySQL 客户端Used transparently by the client
3、/connectorMay use IP or FQDNs or domains with wildcards(e.g.%means every host)oPasswordMySQL 8 默认的插件 caching_sha2_passwordMySQL 5.X 格式mysql_native_password(它使用 NIST 不再推荐的 SHA1 算法)在同一实例中,使用者可能具有不同的密码插件可以使用变量 default_authentication_plugin 指定密码插件例:CREATE USER username1%IDENTIFIED BY;CREATE USER IDENTIF
4、IED BY;CREATE USER username3192.168.1.1 IDENTIFIED BY;CREATE USER%IDENTIFIED BY;CREATE USER username4localhost IDENTIFIED WITH mysql_native_password BY;MySQL User Accountshttps:/ 2024,Oracle and/or its affiliates检查密码的的可靠性并防止使用弱密码它使用与配置活自定义的策略(validate_password_policy variable)o低:长度o中:长度、小写/大写和特殊字符o強
5、:長度、小写/大写和特殊字符变量:ovalidate_password_lengthlengthovalidate_password_mixed_casemixed_case_count,validate_password_numbernumber_count,validate_password_special_charspecial_char_countovalidate_password_dictionary_filedictionary_fileovalidate_password.changed_characters_percentagechanged_characters_perce
6、ntageovalidate_password.check_user_namecheck_user_name例mysql SET PASSWORD=abc;ERROR 1819(HY000):Your password does not satisfy the current policyPassword Validation ComponentPassword Validation Component8Copyright 2024,Oracle and/or its affiliates密码期限o要求定期更改密码密码重复使用限制o防止再次选择旧密码密码验证o要求更改密码,还要指定要替换的当前