发布时间:2025-12-09 11:52:33 浏览次数:1
修改文件 /etc/login.defs
vim /etc/login.defs#口令生存周期,即密码最长有效期PASS_MAX_DAYS 90 #口令更改最小间隔天数PASS_MIN_DAYS 7 #口令最小长度,已经被 PAM 模块取代,所以这个选项并不生效PASS_MIN_LEN 8 #口令失效前多少天开始通知用户修改密码PASS_WARN_AGE 7 注意:此处的更改优先级低于 chage 命令的设置
注意:更改完后,对所有新创建的用户生效。对已经存在的用户无效
修改文件 /etc/pam.d/password-auth
vim /etc/pam.d/password-authpassword requisite pam_pwquality.so try_first_pass local_users_only retry=3 authtok_type= difok=1 minlen=8 ucredit=-1 lcredit=-1 dcredit=-1 ocredit=-1但这个密码强度的设定只对"普通用户"有限制作用,root用户无论修改自己的密码还是修改普通用户的时候,不符合强度设置依然可以设置成功。
vim /etc/pam.d/system-auth检查password sufficient pam_unix.so 这项是否有remember参数(已经使用过的密码会保存在/etc/security/opasswd 下面)
修改:
password sufficient pam_unix.so sha512 shadow nullok try_first_pass use_authtok remember=5末尾加上 remember=5,表示禁止使用最近用过的5个密码
修改文件 /etc/pam.d/sshd
vim /etc/pam.d/sshd #普通账户3次密码错误,300s后重试。root账户5次密码错误后,300s后重试auth required pam_tally2.so deny=3 unlock_time=300 even_deny_root=5 root_unlock_time=300# 查看被锁定的用户 pam_tally2 -u# 将被锁定的用户解锁pam_tally2 --reset -u username或pam_tally2 -u username -r# helppam_tally2: [-f rooted-filename] [--file rooted-filename] [-u username] [--user username] [-r] [--reset[=n]] [--quiet]vim /etc/profile后面添加:export TMOUT=180#180s后无操作自动注销vim /etc/ssh/sshd_config配置PermitRootLogin
配置PermitEmptyPasswords,设置为no:禁止SSH空密码用户登录
PermitEmptyPasswords no配置MaxAuthTries
vim /etc/ssh/sshd_config# 取消注释,设置最大密码尝试失败次数3-6,建议为4MaxAuthTries 4配置ClientAliveInterval、ClientAliveCountMax
vim /etc/ssh/sshd_config# 取消注释,将ClientAliveInterval设置为300到900,即5-15分钟,将ClientAliveCountMax设置为0-3ClientAliveInterval 600ClientAliveCountMax 2vim /etc/ssh/sshd_config#修改PortPort <新端口>SELinux放行:
semanage port -a -t ssh_port_t -p tcp <新端口>防火墙放行:
firewalld -cmd --zone=pulic --add-port=ssh <新端口>/tcp --permanent具体过程:
生成密钥
[root@host ~]$ ssh-keygen <== 建立密钥对Generating public/private rsa key pair.Enter file in which to save the key (/root/.ssh/id_rsa): <== 按 EnterCreated directory '/root/.ssh'.Enter passphrase (empty for no passphrase): <== 输入密钥锁码,或直接按 Enter 留空Enter same passphrase again: <== 再输入一遍密钥锁码Your identification has been saved in /root/.ssh/id_rsa. <== 私钥Your public key has been saved in /root/.ssh/id_rsa.pub. <== 公钥The key fingerprint is: xxxxxxx服务器安装公钥
# 安装公钥cd .sshcat id_rsa.pub >> authorized_keys# 文件权限chmod 600 authorized_keyschmod 700 ~/.ssh# 配置文件/etc/ssh/sshd_config# 允许密钥登录RSAAuthentication yesPubkeyAuthentication yes# 允许root通过SSH登录PermitRootLogin yes# 禁用密码登录PasswordAuthentication no# 重启服务service sshd restart客户端SSH使用私钥登录
配置LogLevel,设置为INFO:记录登录和注销活动
vim /etc/ssh/sshd_config#取消注释LogLevel INFO设置参数: Protocol 2,SSHD强制使用V2安全协议
vim /etc/ssh/sshd_configProtocol 2变更文件或目录的权限
chmod u+x,g+w filename //设置自己可以执行,组员可以写入的权限chmod u=rwx,g=rw,o=r filenamechmod 764 filenamechmod a+x filename设置限制新建文件权限的掩码,在原有权限的基础上删除指定的权限
umask 022#若初始权限是777,之后变为755文件默认权限 644,目录默认权限 755
umask值可在/etc/profile文件中修改
改变某个文件或目录的所有者和所属的组
chown -R <username>:<groupname> <filename>/etc/passwd/etc/shadow/etc/gshadow/etc/group/etc/hosts.deny/etc/hosts.allow/etc/services/etc/ssh/sshd_configchown root:root /etc/passwd /etc/shadow /etc/group /etc/gshadowchmod 0644 /etc/groupchmod 0644 /etc/passwdchmod 0400 /etc/shadowchmod 0400 /etc/gshadowtail /var/log/messagesrsyslog具体参考:https://www.cnblogs.com/shu-sheng/p/13275474.html
vim /etc/rsyslog.conf/etc/rsyslog.d 目录是单独配置的rsyslog配置文件
文件部分详解
rules格式: 认证相关服务.所有日志等级(服务名称[连接符号]日志等级)日志记录的位置
#$ModLoad imudp#$UDPServerRun 514 #允许514端口接收使用UDP协议转发过来的日志#$ModLoad imtcp#$InputTCPServerRun 514#允许514端口接收使用TCP协议转发过来的日志#### RULES #####kern.* /dev/console# 关于内核的所有日志都放到/dev/console(控制台)*.info;mail.none;authpriv.none;cron.none /var/log/messages# 记录所有日志类型的info级别以及大于info级别的信息到/var/log/messages,但是mail邮件信息,authpriv验证方面的信息和cron时间任务相关的信息除外authpriv.* /var/log/secure# authpriv验证相关的所有信息存放在/var/log/securemail.* -/var/log/maillog# 邮件的所有信息存放在/var/log/maillog; 这里有一个-符号, 表示是使用异步的方式记录, 因为日志一般会比较大cron.* /var/log/cron# 计划任务有关的信息存放在/var/log/cron*.emerg :omusrmsg:*# 记录所有的大于等于emerg级别信息, 以wall方式发送给每个登录到系统的人uucp,news.crit /var/log/spooler# 记录uucp,news.crit等存放在/var/log/spooler# uucp –unix to unix copy, unix主机之间相关的通讯,news –新闻组local7.* /var/log/boot.log# 启动的相关信息#*.* @@remote-host:514 # @@表示通过tcp协议发送,使用TCP协议转发到remote-host的514(默认)端口,@表示通过udp进行转发systemctl stauts rsyslog.servicesystemctl enable rsyslogsystemctl start rsyslog开启地址空间布局随机化
sysctl -w kernel.randomize_va_space=2配置文件
cat /proc/sys/kernel/randomize_va_space配置kernel.randomize_va_space参数