哥伦布

博客园 首页 新随笔 联系 订阅 管理
  73 随笔 :: 0 文章 :: 0 评论 :: 33211 阅读

SSH 登录超时时间(Ubuntu22.04可用)

sudo vim /etc/profile
设置闲置时间为15分钟(900秒),如果没有此行则直接添加进去
export TMOUT=900
立即生效
source /etc/profile

SSH 登录超时时间(CentOS7.6可用)

在登录后目录运行
vim .bash_profile
添加
export TMOUT=900
设置闲置时间为1分钟(900秒),如果没有此行则直接添加进去

立即生效
source .bash_profile

SSH 登录次数限制(Ubuntu22.04可用)

sudo vim /etc/pam.d/common-auth
common-auth首行添加:
auth required pam_tally2.so deny=3 unlock_time=60 even_deny_root root_unlock_time=60
配置说明
deny=3,表示错误3次后锁定。
unlock_time=60,表示锁定时间60秒,锁定期间即便正确的密码也是提示错误。
even_deny_root,表示即便是root账号,本策略也生效。
root_unlock_time,表示root锁定后,锁定时间60秒。
重启SSH生效
sudo systemctl restart sshd

SSH 登录次数限制(CentOS7.6可用)

sudo vim /etc/pam.d/sshd
在password-auth之后添加:
auth requisite pam_tally2.so onerr=fail deny=3 unlock_time=60 even_deny_root root_unlock_time=60
在postlogin之后添加:
account required pam_tally2.so
##重要## 检查/etc/ssh/sshd_config文件中是否开启了pam验证
vim /etc/ssh/sshd_config
确保存在一行UsePAM yes

重启SSH生效
sudo systemctl restart sshd

使用pam_tally2命令检查登录情况

pam_tally2 --user=jsw_audit #查看jsw_audit用户的登录失败情况
pam_tally2 --user=jsw_audit --reset #重置jsw_audit用户的登录失败次数为0,否则超过上面配置的次数后就禁止登录了

原文链接:https://blog.csdn.net/sumengnan/article/details/114144601

数据库SSL

查看是否启用SSL的命令
show variables like '%ssl%';

安装时启动SSL

/usr/sbin/mysqld --initialize --datadir=/var/lib/mysql --user=mysql
/usr/bin/mysql_ssl_rsa_setup
当运行完这个命令后,默认会在data(数据)目录下生成以下pem文件,这些文件就是用于启用SSL功能的

文件名称 用途
data/ca-key.pem CA私钥
ca.pem 自签CA证书,客户端连接也需要提供
client-cert.pem 客户端连接服务器端需要提供的证书文件
client-key.pem 客户端连接服务器端需要提供的私钥文件
private_key.pem 私钥/公钥对的私有成员
public_key.pem 私钥/公钥对的共有成员
server-cert.pem 服务器端证书文件
server-key.pem 服务器端私钥文件

在my.cnf配置指定证书
ssl-ca=/var/lib/mysql/ca.pem
ssl-cert=/var/lib/mysql/server-cert.pem
ssl-key=/var/lib/mysql/server-key.pem

安装时候没有开启SSL,之后开启的办法

1、关闭MySQL服务
2、运行mysql_ssl_rsa_setup 命令
3、到data_dir目录下修改.pem文件的所属权限用户为chown -R mysql.mysql *.pem
4、启动MySQL服务

强制某用户必须使用SSL连接数据库

已有用户
mysql>alter mysql.user test@'%' require ssl;

新建必须使用ssl用户
mysql> grant all on *.* to 'user'@'192.168.0.100' identified by 'newpasswd' require ssl;
mysql> flush privileges;

对于强制使用SSL连接的用户,如果不是使用ssl连接的就会报错
mysql -uusername -pASDF123asdf -h 192.168.0.100 --ssl=0 #不启用ssl连接
mysql -uusername -pASDF123asdf -h 192.168.0.100 [--ssl-ca=/usr/local/mysql5.7/data/ca.pem] #启用ssl连接

原文连接:https://www.cnblogs.com/workdsz/articles/9701102.html

数据库general_log开启

查看是否开启
show variables like 'general_log';
查看日志文件保存位置
show variables like 'general_log_file';
查看日志输出类型 table或file
show variables like 'log_output';

开启日志
默认general_log是OFF的,
立即开启(重启失效)
set global general_log = ON;
长期开启(重启生效)
修改my.cnf
[mysqld]节内添加或设置:
general_log=1

注意:
开启后日志很大。请注意磁盘空间。
开启后,如果要删除不能直接删除问题,会导致日志记录失败。

数据库连接闲置超时时间

基本概念

  • interactive_timeout参数:对于交互式连接,服务端等待数据的最大时间。如果超过这个时间,服务端仍然没有收到数据,则会关闭连接。所谓交互式client,是指调用mysql_real_connect()函数建立连接时,设置了CLIENT_INTERACTIVE选项。比较常用的就是命令行终端。
  • wait_timeout参数:对于非交互式连接,服务端等待数据的最长时间。如果超过这个时间,服务端仍然没有收到数据,则会关闭连接。

查看当前配置
show global variables like '%timeout%';
立即设置(重启失效)
set global wait_timeout=1800;
set global interactive_timeout=1800;
长期开启(重启生效)
修改my.cnf
[mysqld]节内添加或设置:
wait_timeout=1800
interactive_timeout=1800

数据库登录失败处理

查看当前配置
show global variables like '%max_connect_errors%';
立即设置(重启失效)
set global max_connect_errors=10;
长期开启(重启生效)
修改my.cnf
[mysqld]节内添加或设置:
max_connect_errors=20

posted on   Caraxes  阅读(12)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
点击右上角即可分享
微信分享提示