当前位置: 首页 > news >正文

寿光 网站建设遵义app开发公司排名

寿光 网站建设,遵义app开发公司排名,门户网站建设公司渠道,商城网页制作MySQL密码复杂度策略设置 MySQL 系统自带有 validate_password 插件,此插件可以验证密码强度,未达到规定强度的密码则不允许被设置。MySQL 5.7 及 8.0 版本默认情况下貌似都不启用该插件,这也使得我们可以随意设置密码,比如设置为…

MySQL密码复杂度策略设置

MySQL 系统自带有 validate_password 插件,此插件可以验证密码强度,未达到规定强度的密码则不允许被设置。MySQL 5.7 及 8.0 版本默认情况下貌似都不启用该插件,这也使得我们可以随意设置密码,比如设置为 123、123456等。如果我们想从根源上规范密码强度,可以启用该插件,下面一起来看下如何通过此插件来设置密码复杂度策略。

  1. 查看是否已安装此插件

进入 MySQL 命令行,通过 show plugins;或者show variables like ‘validate%’; 相关参数可以判断是否已安装此插件。若没有相关参数则代表未安装此插件
安装前检查 为空则说明未安装此插件

mysql> show variables like 'validate%';
Empty set (0.42 sec)
  1. 安装 validate_password 插件,通过 INSTALL PLUGIN 命令可安装此插件,每个平台的文件名后缀都不同 对于 Unix 和类 Unix 系统,为.so,对于 Windows 为.dll
mysql> INSTALL PLUGIN validate_password SONAME 'validate_password.so';
Query OK, 0 rows affected, 1 warning (0.80 sec)
  1. 查看 validate_password 相关参数
mysql> show variables like 'validate%';
+--------------------------------------+--------+
| Variable_name                        | Value  |
+--------------------------------------+--------+
| validate_password_check_user_name    | ON     |
| validate_password_dictionary_file    |        |
| validate_password_length             | 8      |
| validate_password_mixed_case_count   | 1      |
| validate_password_number_count       | 1      |
| validate_password_policy             | MEDIUM |
| validate_password_special_char_count | 1      |
+--------------------------------------+--------+
7 rows in set (0.01 sec)
  1. 密码复杂度策略具体设置
例:密码至少 10 位且包含大小写字母、数字、特殊字符
mysql> set global validate_password_length = 10;
Query OK, 0 rows affected (0.00 sec)mysql> show variables like 'validate%';
+--------------------------------------+--------+
| Variable_name                        | Value  |
+--------------------------------------+--------+
| validate_password_check_user_name    | ON     |
| validate_password_dictionary_file    |        |
| validate_password_length             | 10     |
| validate_password_mixed_case_count   | 1      |
| validate_password_number_count       | 1      |
| validate_password_policy             | MEDIUM |
| validate_password_special_char_count | 1      |
+--------------------------------------+--------+
7 rows in set (0.01 sec)#若想永久生效,建议将以下参数写入配置文件my.cnf
vim /etc/my.cnf[mysqld]
plugin-load = validate_password.so
validate_password_length = 10
validate_password_policy = 1
validate-password = FORCE_PLUS_PERMANENT
  1. 密码强度相关参数解释:
1、validate_password_policy:
代表的密码策略,默认是MEDIUM 可配置的值有以下:
0 or LOW 仅需需符合密码长度(由参数validate_password_length指定)
1 or MEDIUM 满足LOW策略,同时还需满足至少有1个数字,小写字母,大写字母和特殊字符
2 or STRONG 满足MEDIUM策略,同时密码不能存在字典文件(dictionary file)中2、validate_password_dictionary_file:
用于配置密码的字典文件,当validate_password_policy设置为STRONG时可以配置密码字典文件,字典文件中存在的密码不得使用。3、validate_password_length:
用来设置密码的最小长度,默认值是84、validate_password_mixed_case_count:
当validate_password_policy设置为MEDIUM或者STRONG时,密码中至少同时拥有的小写和大写字母的数量,默认是1最小是0;默认是至少拥有一个小写和一个大写字母。5、validate_password_number_count:
当validate_password_policy设置为MEDIUM或者STRONG时,密码中至少拥有的数字的个数,默认1最小是06、validate_password_special_char_count:
当validate_password_policy设置为MEDIUM或者STRONG时,密码中至少拥有的特殊字符的个数,默认1最小是0

MySQL密码策略和登录失败处理

  1. 查看是否已安装 connection_control% 插件,为空则说明未安装此插件
mysql> show variables like 'connection_control%';
Empty set (0.01 sec)
  1. 安装插件(windows中为 " connection_control.dll ", liunx中为 " connection_control.so ")
mysql> INSTALL PLUGIN CONNECTION_CONTROL soname 'connection_control.so';
Query OK, 0 rows affected (0.25 sec)
  1. 查看相关参数
mysql> show variables like 'connection_control%';
+-------------------------------------------------+------------+
| Variable_name                                   | Value      |
+-------------------------------------------------+------------+
| connection_control_failed_connections_threshold | 3          |
| connection_control_max_connection_delay         | 2147483647 |
| connection_control_min_connection_delay         | 1000       |
+-------------------------------------------------+------------+
3 rows in set (0.01 sec)
  1. 参数解释
1、connection_control_failed_connections_threshold:
单个用户登录失败(由于密码错误引起)次数上限,默认3次2、connection_control_max_connection_delay:  
失败上限之后再次尝试登录前最大等待时间,单位ms3、connection_control_min_connection_delay:  
失败上限之后再次尝试登录前最小等待时间,默认1秒(1000ms)
  1. 设置单个用户密码登录失败上限次数和等待时间
# 单个用户密码登录失败的上限次数
set global connection_control_failed_connections_threshold=5;
# 达到失败上限后等待30秒再次尝试登录
set global connection_control_min_connection_delay=30000;
  1. 卸载插件命令
mysql> UNINSTALL PLUGIN CONNECTION_CONTROL_FAILED_LOGIN_ATTEMPTS;
mysql> UNINSTALL PLUGIN CONNECTION_CONTROL;

MySQL开启SSL

  1. 检查 MySQL 是否已经开启了SSL
mysql> show variables like "%ssl%";
+-------------------------------------+-----------------+
| Variable_name                       | Value           |
+-------------------------------------+-----------------+
| admin_ssl_ca                        |                 |
| admin_ssl_capath                    |                 |
| admin_ssl_cert                      |                 |
| admin_ssl_cipher                    |                 |
| admin_ssl_crl                       |                 |
| admin_ssl_crlpath                   |                 |
| admin_ssl_key                       |                 |
| have_openssl                        | YES             |
| have_ssl                            | YES             |
| mysqlx_ssl_ca                       |                 |
| mysqlx_ssl_capath                   |                 |
| mysqlx_ssl_cert                     |                 |
| mysqlx_ssl_cipher                   |                 |
| mysqlx_ssl_crl                      |                 |
| mysqlx_ssl_crlpath                  |                 |
| mysqlx_ssl_key                      |                 |
| performance_schema_show_processlist | OFF             |
| ssl_ca                              | ca.pem          |
| ssl_capath                          |                 |
| ssl_cert                            | server-cert.pem |
| ssl_cipher                          |                 |
| ssl_crl                             |                 |
| ssl_crlpath                         |                 |
| ssl_fips_mode                       | OFF             |
| ssl_key                             | server-key.pem  |
| ssl_session_cache_mode              | ON              |
| ssl_session_cache_timeout           | 300             |
+-------------------------------------+-----------------+
27 rows in set (0.01 sec)# have_openssl、have_ssl 参数为YES 代表已经开启,如果是DISABLE则表示没有。
  1. 如果没有如上参数,则需要停止 MySQL 进行安装
systemctl stop mysqld#在mysql bin目录下有一个mysql_ssl_rsa_setup文件,执行它开始安装ssl
./mysql_ssl_rsa_setup#安装完成后,会生成一些私钥公钥在mysql data目录下
[root@localhost]ll *.pem
-rw------- 1 mysql mysql 1675 Jun 12 17:22 ca-key.pem         #CA私钥
-rw-r--r-- 1 mysql mysql 1074 Jun 12 17:22 ca.pem             #自签的CA证书,客户端连接也需要提供
-rw-r--r-- 1 mysql mysql 1078 Jun 12 17:22 client-cert.pem    #客户端连接服务器端需要提供的证书文件
-rw------- 1 mysql mysql 1675 Jun 12 17:22 client-key.pem     #客户端连接服务器端需要提供的私钥文件
-rw------- 1 mysql mysql 1675 Jun 12 17:22 private_key.pem    #私钥/公钥对的私有成员
-rw-r--r-- 1 mysql mysql 451 Jun 12 17:22  public_key.pem     #私钥/公钥对的共有成员
-rw-r--r-- 1 mysql mysql 1078 Jun 12 17:22 server-cert.pem    #服务器端证书文件
-rw------- 1 mysql mysql 1675 Jun 12 17:22 server-key.pem     #服务器端私钥文件
#注意这些密钥的权限问题,如果需要则执行:chown -R mysql.mysql *.pem
  1. 添加ssl参数到my.cnf配置文件
[mysqld]
ssl-ca=/usr/local/mysql/data/ca.pem
ssl-cert=/usr/local/mysql/data/client-cert.pem
ssl-key=/usr/local/mysql/data/client-key.pem[mysql]
ssl-ca=/usr/local/mysql/data/ca.pem
ssl-cert=/usr/local/mysql/data/client-cert.pem
ssl-key=/usr/local/mysql/data/client-key.pem
  1. 启动 MySQL 后,登录查看 ssl 状态
systemctl start mysqldmysql> show variables like "%ssl%";
  1. 使用 \s 或 status 命令查看当前 mysql 连接是否使用了ssl
mysql> \s
--------------
mysql  Ver 8.0.32 for Linux on x86_64 (MySQL Community Server - GPL)Connection id:		17
Current database:
Current user:		root@localhost
SSL:			Not in use       # 这里表示没有使用ssl
Current pager:		stdout
Using outfile:		''
Using delimiter:	;
Server version:		8.0.32 MySQL Community Server - GPL
Protocol version:	10
Connection:		Localhost via UNIX socket
Server characterset:	utf8mb4
Db     characterset:	utf8mb4
Client characterset:	utf8mb4
Conn.  characterset:	utf8mb4
UNIX socket:		/var/lib/mysql/mysql.sock
Binary data as:		Hexadecimal
Uptime:			2 days 8 min 15 secThreads: 3  Questions: 45  Slow queries: 0  Opens: 152  Flush tables: 3  Open tables: 71  Queries per second avg: 0.000
--------------# 如果不想使用ssl则登录时添加如下参数:
mysql -uroot -proot --ssl=0  或
mysql -uroot -proot --ssl-mode=DISABLED
  1. 如何设置某用户使用强制使用ssl
#新建用户
mysql> grant select on *.* to 'dba'@'%' identified by 'xxx' REQUIRE SSL; 
#修改用户
mysql> ALTER USER 'dba'@'%' REQUIRE SSL; 
#刷新权限
flush privileges;
http://www.yayakq.cn/news/51732/

相关文章:

  • 如果只做p2p种子搜索网站精准客户信息一条多少钱
  • 龙岗网站seo常州做网站的 武进
  • 西安做百度网站的个人app开发平台免费
  • 科技公司网站php源码新闻cms静态网站模板下载
  • 有限公司网站入口哈尔滨网页设计与制作
  • 延边网站建设公司网站的建设目标文档
  • 河北智能网站建设多少钱南阳做网站多少电话
  • 做网站上面图片的软件群晖wordpress配置文件
  • 3合1网站建设电话做a货包好的网站
  • 网站改版 大量旧页面怎样做好网站建设
  • 虚拟主机做网站肇庆网站设计
  • 专业的营销型网站建设公司东营港
  • 网站推广优化排名教程防城港北京网站建设
  • 公司注销后 网站备案吗贵阳做网站开发科技有限公司
  • 网站制作公司成都茗匠智能门店管理系统
  • 陕西网站制作定制wordpress 付费观看
  • 惠州建设局网站昆明php网站建设
  • 下载网站的服务器文件深圳横岗网站建设
  • 网站分析内容做网站的业务分析
  • 怎么开通个人网站做网站技术含量
  • 贵港网站建设培训网站制作可以
  • 企业网站建设的研究开发方法及技术路线网站编程入门教程
  • 自己可以做网站吗有什么做数据的网站
  • 免费下载ps素材网站手工包网站建设策划书
  • 我做的静态网站怎么发布到网上福州seo技术培训
  • 如何写网站开发的分析农村电商网站建设计划书
  • 关键词优化的软件网站的seo优化方案
  • 丽水市建设工程招标网站如何推广手机网站
  • 深圳 网站 传播广告设计公司专业报价表
  • 简单网站开发实例汇总网站图片用什么做的