系统安全及应用
一、账号安全措施
系统账号清理
-
将用户设置为无法登录
-
锁定账户
-
删除账户
-
锁定账户密码 本质锁定
1. 锁定配置文件 - chattr
-a 让文件或目录仅供附加用途。只能追加
-i 不得任意更动文件或目录
2. 密码安全控制
对于新建用户
可以修改 /etc/login.defs 文件里的内容来设置密码规则
对于已有用户
可以使用chage命令
chage [选项] 用户名
-m:密码可更改的最小天数。为零时代表任何时候都可以更改密码。
-M:密码保持有效的最大天数。
-w:用户密码到期前,提前收到警告信息的天数。
-E:帐号到期的日期。过了这天,此帐号将不可用。
-d:上一次更改的日期。
-i:停滞时期。如果一个密码已过期这些天,那么此帐号将不可用。
-l:例出当前的设置。由非特权用户来确定他们的密码或帐号何时过期。
3. 命令历史
history:查看历史命令,默认一千条。通过修改/etc/profile文件中的HISTSIZE变量值,可以影响系统中的所有用户。
可以使用以下命令临时清除历史命令
history -c
clear
二、切换用户 - su
su命令即 switch user,命令 可以切换用户身份,并且以指定用户的身份执行命令。
通式: su [options...] [-] [user [args...]]
切换用户的方式:
su UserName:非登录式切换,即不会读取目标用户的配置文件,不改变当前工作目录,即不完全切换
su - UserName:登录式切换,会读取目标用户的配置文件,切换至自已的家目录,即完全切换
说明:root用户su至其他用户无须密码;非root用户切换时需要密码
注意:su切换新用户后,使用 exit 退回至旧的用户身份,而不要再用 su 切换至旧用户,否则会生成很多的bash子进程,环境可能会混乱。
su 与 su -
即有 - 选项,切换用户身份更彻底;反之,只切换了一部分,这会导致某些命令运行出现问题或错误(例如无法使用 service 命令)。
限制使用su命令的用户
gpasswd -a lisi wheel
#将用户加入 wheel组
wheel组权限比root组高
# auth sufficient pam_rootok.so
# auth required pam_wheel.so use_uida) 以上两行是默认状态(即开启第一行,注释第二行),这种状态下是允许所有用户间使用su命令进行切换的。
b) 两行都注释也是允许所有用户都能使用su命令,但root'下使用su切换到其他普通用户需要输入密码;如果第一行不注释,则root使用su切换普通用户就不需要输入密码(pam rootok. so模块的主要作用是使uid为0的用户,即root用户能够直接通过认证而不用输入密码。)
c) 如果开启第二行,表示只有root用户和wheel组内的用户才可以使用su命令
d) 如果注释第一行,开启第二行,表示只有whee1组内的用户才能使用su命令,root用户也被禁用su命令。
三、PAM安全认证
PAM提供了对所有服务进行认证的中央机制,适用于本地登录,远程登录。
查看当前系统pam:rpm -qi pam
查看模块:rpm -ql pam
PAM相关文件
-
包名: pam
-
模块文件目录:/lib64/security/*.so
-
特定模块相关的设置文件:/etc/security/
-
man 8 加模块名 可以查看帮助
-
应用程序调用PAM模块的配置文件
-
主配置文件:/etc/pam.conf,默认不存在,一般不使用主配置
-
为每种应用模块提供一个专用的配置文件:/etc/pam.d/APP_NAME
-
注意:如/etc/pam.d存在,/etc/pam.conf将失效
/usr/lib64/security 存放功能模块
/etc/security 复杂的配置文件
/etc/pam.d/ 存放配置文件
PAM控制类型
required:一票否决,如果失败最后一定会失败,但是会继续进行验证
requisite:一票否决,如果失败会立即结束验证,反馈失败
sufficient:验证成功则立即返回,不在继续,否则忽略结构并继续
optional:不用于验证,只是显示信息
四、shell模块
功能:检查有效shell,pam_shells.so 只允许规定的shell类型通过, 是在/etc/shells文件中存在的类型通过
帮助:man pam_shells
securetty模块
功能:只允许root用户在/etc/securetty列出的安全终端上登陆
pam_nologin.so 模块
功能:如果/etc/nologin文件存在,将导致非root用户不能登陆,当该用户登陆时,会显示/etc/nologin文件内容,并拒绝登陆
五、limit
功能:在用户级别实现对其可使用的资源的限制,例如:可打开的文件数量,可运行的进程数量,可用内存空间。
修改限制的实现方式:
(1) ulimit命令
ulimit是linux shell的内置命令,它具有一套参数集,用于对shell进程及其子进程进行资源限制。
ulimit的设定值是 per-process 的,也就是说,每个进程有自己的limits值。使用ulimit进行修改,立即生效。
ulimit只影响shell进程及其子进程,用户登出后失效。
可以在profile中加入ulimit的设置,变相的做到永久生效
选项 | 效果 |
---|---|
-H | 设置硬件资源限制 |
-S | 设置软件资源限制 |
-a | 显示当前所有的资源限制 |
-c size | 设置core文件的最大值.单位:blocks |
-d size | 设置数据段的最大值.单位:kbytes |
-f size | 设置创建文件的最大值.单位:blocks |
-l size | 设置在内存中锁定进程的最大值.单位:kbytes |
-m size | 设置可以使用的常驻内存的最大值.单位:kbytes |
-n size | 设置内核可以同时打开的文件描述符的最大值.单位:n |
-p size | 设置管道缓冲区的最大值.单位:kbytes |
-s size | 设置堆栈的最大值.单位:kbytes |
-t size | 设置CPU使用时间的最大上限.单位:seconds |
-u size | 最大用户进程数 |
-v size | 设置虚拟内存的最大值.单位:kbytes |
unlimited 是一个特殊值,用于表示不限制 |
六、sudo - 提权操作
允许系统管理员让普通用户执行一些或者全部的root命令的一个工具,如halt,reboot,su等等。
sudo特性:
-
sudo能够授权指定用户在指定主机上运行某些命令。如果未授权用户尝试使用 sudo,会提示联系管理员
-
sudo提供了丰富的日志,详细地记录了每个用户干了什么。它能够将日志传到中心主机或者日志服务器
-
sudo使用时间戳文件来执行类似的“检票”系统。当用户调用sudo并且输入它的密码时,用户获得了一张存活期为5分钟的票
-
sudo的配置文件是sudoers文件,它允许系统管理员集中的管理用户的使用权限和使用的主机。它所存放的位置默认是在/etc/sudoers,属性必须为0440
root ALL=(ALL) ALL #任意机器上的root用户都可以在本机上处理命令
七、别名
sudo别名有四种类型:
-
User_Alias(用户)
-
Runas_Alias(代表用户)
-
Host_Alias(登录主机)
-
Cmnd_Alias(命令)
别名格式:必须大写字母,数字可以使用但是不能放在开头
原文地址:https://blog.csdn.net/qq_35995197/article/details/135487846
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!