系统安全及应用
本章结构
- 账号安全控制
- 系统引导和登录控制
- 弱口令检测
- 端口扫描
一、账号安全基本措施
1.系统账号清理
1.1将非登录用户的Shell设为/sbin/nologin
shell——/sbin/nologin比较特殊,所谓“无法登陆”指的仅是这个用户无法使用bash或其他shell来登陆系统而已,并不是说这个账号就无法使用系统资源。举例来说,各个系统账号中,打印作业有lp这个账号管理,www服务器有apache这个账号管理,他们都可以进行系统程序的工作,但就是无法登陆主机而已。
usermod -s /bin/nologin 用户名 修改登录shell类型
锁定长期不使用的账号
usermod -L 用户名 锁定用户
usermod -l 用户名
1.3删除无用的账号
usermod [-r]用户名加上-r才能删除用户的家目录。如果不删除家目录,那么用户被删除后,他的家目录会变成无主文件,文件的属主和属组位显示的是原主人的UID和GID。
1.4锁定账号文件passwd、shadow
chattr +i /etc/passwd /etc/shadow 锁定文件
2.密码安全控制
2.1设置密码有效期
对于新建用户可以修改/etc/login.defs文件里的内容来设置密码规则
对于已有用户可以使用chage命令chage [选项] 用户名
点击查看代码
[root@localhost ~]# chage lisi #交互式设置
正在为 lisi 修改年龄信息
请输入新值,或直接敲回车键以使用默认值
最小密码年龄 [0]: 7
最大密码年龄 [99999]: 7
最近一次密码修改时间 (YYYY-MM-DD) [2024-04-18]:
密码过期警告 [7]: 6
密码失效 [-1]: 6
帐户过期时间 (YYYY-MM-DD) [-1]:
[root@localhost ~]#chage -M 30 lisi #设置密码有效期为30天
[root@localhost ~]# chage -l lisi #查看用户李四当前设置
2.2要求用户下次登录时修改密码
chage -d 0 用户名 强制要求用户下次登录时必须修改密码
点击查看代码
[root@localhost ~]# chage -d 0 lisi #强制李四下一次登录一定修改密码(密码符合复杂性要求)
命令历史限制
Shell 环境的命令历史机制为用户提供了极大的便利,但另一方面也给用户带来了潜在的风险。只要获得用户的命令历史文件,该用户的命令操作过程将会一览无余,如果曾经在命令行输入明文的密码,则无意之中服务器的安全壁垒又多了一个缺口
减少记录的命令条数
Bash 终端环境中,历史命令的记录条数由变量 HISTSIZE 控制,默认为 1000 条。通过修改 /etc/profile\color{red}{ /etc/profile }/etc/profile 文件中的 HISTSIZE 变量值,可以影响系统中的所有用户。例如,可以设置最多只记录 200 条历史命令。
点击查看代码
临时修改历史命令条数。只针对当前用户,退出登录后失效。
[root@localhost ~]# export HISTSIZE=200
永久修改历史命令条数。编辑配置文件,设置历史命令条数。
[root@localhost ~]# vim /etc/profile //设置历史命令条数记录为200条
HISTSIZE=200
[root@localhost ~]# source /etc/profile //刷新配置文件,使文件立即生效
注意:写进 /etc/profile 对全局生效 ;写进.bahsrc只对root生效
3.2注销时自动清空命令历史
家目录下有.bush_history文件,用于记录历史命令。情况该文件即清空了命令历史。
点击查看代码
临时清除历史命令 history -c
注销时自动清空历史命令
[root@localhost ~]# vim ~/.bash_logout
echo "" > ~/.bash_history
登录时自动清空历史命令
[root@localhost ~]# vim ~/.bashrc
echo "" > ~/.bash_history
4.终端自动注销
编辑/etc/profile文件。设置限制600秒后自动注销
点击查看代码
[root@localhost ~]# vim /etc/profile
.................................
export TMOUT=600
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏
· Manus爆火,是硬核还是营销?