系统安全:非常重要的对于个人,对于企业
- 数据安全,主要就是防止个人的敏感信息被窃取,盗用甚至还有人会破坏
- 企业的发露法规要求,知识产权,
- 企业形象
账号安全控制
系统引导和登录控制
弱口令检测
端口扫描
生产服务器一般人接触不到,测试环境,预生产环境,程序用户做限制
passwd -l 用户名 锁密码
usermod -L 用户名 锁账户
passwd -u 用户名 解锁密码
usermod -U 用户名 解锁账户
账号安全控制
- 锁定不需要的账户
2、passwd -l 用户名 锁密码
3、usermod -L 用户名 锁账户
4、userdel -r 用户名 连家目录一并删除
lsattr /etc/passwd
lsattr /etc/shadow
lsattr /etc/fstab
在工作中,重要的应用程序,在非发版期,都是锁定的,所谓的发版:就是更新迭代
chattr +i /etc/passwd
lsattr /etc/paswd
锁定重要文件:
/etc/passwd
/etc/shadow
/etc/fstab
lsattr /etc/passwd 查看文件状态
chattr +i /etc/passwd 锁定文件
chattr -i /etc/passwd 解锁文件
对密码进行安全控制:
密码的有效期:到了一定的时间点,强制用户修改密码。指纹登录控制,生物控制,二维码登录,即技术控制,还有密码控制,文本格式密码(即密码的有效期),针对服务器。
设置密码的有效期:vim /etc/login.defs (这种方式只针对于新建用户),已用用户不在此范围内。
chage -M 指定密码的天数 用户名 更改用户的密码有效期
- vim /etc/login.defs 修改配置,改变账号时的密码最大有效期,只能对新建用户生效
- vim直接改,这个不推荐
- chage -M 最大有效期的天数 用户名(只针对已有用户进行修改)
- 强制用户下次登录时修改密码 chage -d 0 用户名
对历史命令进行限制,限制历史命令的数量,清空历史命令(主要是为了安全,防止他人查看命令来破解重要文件)
history -c 临时清除记录,重启之后还在
vim /etc/profile 进入后,找到HISTSIZE(保存历史命令的条数)更改成4,然后刷新source/etc/profile保存退出 永久修改历史记录
退出终端清除历史记录,开机后清除终端的历史记录
vim .bash_logout
正在上传…重新上传取消bashrc改成bash_history
vim.bashrc
正在上传…重新上传取消bashrc改成bash_history
设置登录的超时时间:主要针对远程连接工具,释放资源,防止阻塞
vim /etc/profile ,然后添加TMOUT=6(6s内不对终端做任何操作就会进行退出)
source /etc/profile (主要是针对远程链接工具)
限制用户进行切换:
为了方便,我们会给一些普通用户类似管理员的权限,这些用户一般是禁止切换的,只能自己用,不能随便切换到其他用户
wheel组
wheel 组是一个特殊的组,它通常被用于控制系统管理员(root)权限的访问。
具体来说,wheel组可以被用来授权一些非特权用户访问一些只有管理员才能访问的系统命令或文件,这些用户可以使用sudo命令以root用户身份执行这些命令或访问这些文件。
whell是一个特殊的组,用于控制用户的访问权限,加入whell组后,可以和root管理员一样,使用一些敏感命令,有一个限制条件,必须添加一个sudo,添加后就可以和管理员一样,执行root管理员的命令,必须要加入wheel组当中
whell这个组默认是空的,需要手动添加的,会进行限制,只能用特定的一些命令
vim /etc/pam.d/su,进入后把第六行注释取消掉
就是普通用户之间,切换使用SU这个命令,将会收到限制,除非加入wheel组,否则将不能进行用户切换
PAM:身份认证的框架
提供一种标准的身份认证接口,管理员可以定制化配置各种认证方式
可插拔:级配即用,即删即失效
打开认证——su这个命令进行验证和限制——用户随意切换目录——除非加入wheel组,否则不能进行账户切换,su - boge wheel
su - ky30 ,su - root 配置文件,对su进行限制,查看模块是否启动———用户UID,在不在wheel组当中——不在不允许切换——在的话正常切换
不同的应用程序所对应的PAM是不同的
查看命令:ls /etc/pam.d/ 所有的命令都在这里面
PAM有四个模块:认证模块,授权模块,模块的参数和配置项
第一列:认证类型 第二列:控制类型,第三列:PAM的模块类型
正在上传…重新上传取消
auth:用户身份认证
account:账户的有效性
passwd:就是用户修改密码时的机制校验(长度,复杂度,特殊字符,是否重复)
session:会话控制,控制最多打开的文件数,能开多少进程等等
required:一票否决,表示只有认证成功才能进行下一步,但是如果认证失败,结果也不会立即通知用户,而是等到所有的认证步骤全部走完,才会给用户回馈。
requisite:一票否决,只要是返回失败,会立刻终止,并反馈给用户
sufficient:一票通过,如果在这个环境返回成功后,就不会再执行跟它相同模块内的认证,其他的模块返回失败,也可以忽略
optional:可选项(可有可无,不是那么重要的东西)
通过sudo机制提升用户的权限
提升sudo命令的做一个限制,只能使用特定的一些命令,或者禁止使用一些命令
sudoers:必须强制保存退出,或者强制退出,必须要加感叹号
把99行注释掉,102行注释掉,然后到底行添加一个
dn ALL=(root) /sbin/ifconfig,如果要加多个权限,要以逗号分割,一般是不加all的
回到dn账户,sudo ifconfig en33:0
需要将这个用户添加到wheel上
sudo的核心:普通用户可以使用管理员才能够使用的命令,但是这个权限一定要进行控制,不能全部放开,否则风险极大。
可以对sudo命令做一些额外的设置
Host_Alias MYHOSTS=localhost
User_Alias MYUSERS=dn
Cmnd_Alias MYCMNDS = /sbin*, !/sbin/reboot, !/sbin/poweroff, !/sbin/init , !/usr/bin/rm
MYUSERS MYHOSTS=MYCMNDS
hostnamectl set-hostname test1永久修改主机名
开关机安全控制:
grub,添加密码禁止修改
ctrl+x直接启动