前情提要:
因为工作的原因,用的服务器和数据库都是国产的,平时会记录一下日常操作中遇到的问题,也希望能够帮助到大家,因为接触的比较片面技术有限,希望大家能够理解,有问题的话也非常希望大家能够指出,共同进步
一. 密码加固
- 执行命令前需要下载一个安装包,在统信系统上安装libpam-pwquality软件包
//执行该命令,开始安装libpam-pwquality软件包
sudo apt-get -y install libpam-pwquality cracklib-runtime
- 修改配置文件,根据密码的要求设置相应的参数
// 执行该命令,修改参数
sudo vim /etc/pam.d/common-password
//将第25行的文本进行修改,修改前的文本
password requisite pam_pwquality.so retry=3 (修改前)
//修改后的文本
password requisite pam_pwquality.so retry=3 minlen=8 maxrepeat=3 ucredit=-1 lcredit=-1 dcredit=-1 ocredit=-1 difok=3 gecoscheck=1 reject_username enforce_for_root
//注:使用的选项
#retry=3:在返回错误之前提示用户3次。
#minlen=8:密码长度不能小于此参数。
#maxrepeat=3:最多允许3个重复字符。
#ucredit=-1:至少需要一个大写字符。
#lcredit=-1:必须至少有一个小写字符。
#dcredit=-1:必须至少有一位数。
#difok=3:旧密码中不得出现的新密码中的字符数。
#gecoscheck=1:用户passwd条目的GECOS字段中的单词不包含在新密码中。
#reject_username:如果该选项以常规方式或相反方式包含用户名,则该选项将拒绝密码。
#force_for_root:即使是配置密码的root用户,这也可以确保遵守密码策略。
- 修改配置文件,设置密码过期期限
//执行该语句
sudo vim /etc/login.defs
//找到相应的文本.修改参数
PASS_MAX_DAYS 90 #密码最长过期天数
PASS_MIN_DAYS 0 #修改密码最小间隔天数
PASS_MIN_LEN 10 #密码最小长度
PASS_WARN_AGE 7 #密码过期警告天数
- 错误密码处理
//要求:用户连续3次输入错误密码进行登陆时自动锁定5分钟,root用户锁定10分钟
//执行该语句
sudo vim /etc/pam.d/login
//注意:在第二行上添加
auth required pam_tally2.so deny=3 unlock_time=5 even_deny_root root_unlock_time=10
//继续执行语句
sudo vim /etc/pam.d/sshd
//注意:在第二行上添加
auth required pam_tally2.so deny=3 unlock_time=5 even_deny_root root_unlock_time=10
//参数介绍
#even_deny_root 也限制root用户;
#deny 设置普通用户和root用户连续错误登陆的最大次数,超过最大次数,则锁定该用户;
#unlock_time 设定普通用户锁定后,多少时间后解锁,单位是秒;
#root_unlock_time 设定root用户锁定后,多少时间后解锁,单位是秒;
二. SSH会话超时设置
Linux下设置超时时间,是在配置文件/etc/profile里
//在该文件下,添加一个变量
export TMOUT=600 时间单位是S.
另外,在ssh配置文件/etc/ssh/sshd_config中,将ssh的保活配置打开:sudo vim /etc/ssh/sshd_config
//修改其中的参数
ClientAliveInterval 300
ClientAliveCountMax 3
意思是5分钟检查一次客户端响应,最多检查3次。如果3次都检查到客户端不响应,那么就认为ssh已经断开了
三. auditd审计工具
audit工具是Linux系统中负责审计的进程,可以用来记录Linux系统的一些操作,比如系统调用,文件修改,执行的程序,系统登入登出和记录所有系统中所有的事件,我们可以通过配置aidutd规则来对Linux服务器中发生的一些用户行为和用户操作进行监控
1.安装auditd审核工具
//执行命令
apt-y install auditd 或者 apt-get install auditd
2.审核文件,对文件进行监控
//执行命令
auditctl -w /etc/passwd -p rwxa
//参数
-w path : 指定要监控的路径,上面的命令指定了监控的文件路径 /etc/passwd
-p : 指定触发审计的文件或者目录的访问权限
rwxa : 指定的触发条件,r 读取权限,w 写入权限,x 执行权限,a 属性(attr)
//注意:
运行这条命令之后就开始监控了,但是机器重启之后就失效了,因此要永久生效就需要写到规则文件里面
//执行命令,将auditctl的命令参数写到这个文件里面即可
vim /etc/audit/rules.d/auditd.rules
//然后重新加载配置文件
source /etc/audit/rules.d/audit.rules
//查看
augenrules --load
//或者重启服务
systemctl restart auditd
//如果不想要继续监控下去
auditctl -W /etc/passwd
3.审核文件,对文件进行监控
//执行命令
auditctl -w /data/