账号安全及应用

一、账号安全控制

1.1系统账号清理

将用户设置为无法登陆

锁定账户

删除账户

设定账户密码,本质锁定

锁定配置文件-chattr:

-a 让文件或目录仅供附加用途。只能追加

-i 不得任意更动文件或目录。

1.2密码安全控制

chage

1.3历史命令

history:查看历史命令,默认一千条

history -c 清空历史命令

二、切换用户

2.1用户切换su命令

su命令可以切换用户身份,并且以指定用户的身份执行命令。

pam_rootok.so root不需要密码

pam_wheel.so 只有wheel组才可以切换

$ su root 切换至root用户

wohami 显示当前登录的用户

2.2查看su命令的操作日志,绝对路径:/var/log/secure

这里可以用less或tail查看,这里推荐tail

2.3用户提权 sudo

命令格式 sudo [选项] 命令

|--------|----------------------------------------|
| 选项 | 功能 |
| -V | 显示版本编号 |
| -l | 显示出自己的权限 |
| -k | 将会强制使用者在下一次执行sudo时需要输入密码(无论多久) |
| -p | 可以更改问密码的提示语,其中%u会代换为使用者的账号名称,%h会显示主机名称 |
| -u 用户名 | 指定用户的权限 |
| -s | 执行环境变数中的SHELL所指定的shell |

2.3.1编辑配置文件的绝对路径

vim /etc/sudoers

2.3.2配置详解

1.root字段:用户名或UID,%组名或%GID

2.第一个ALL字段:IP地址或主机名,ALL代表任意主机

3.第二个ALL字段:用户字段,用户名或UID,ALL代表任意用户

4.第三个ALL字段:命令字段(绝对路径)可以是,命令名(command name),文件夹里的命令(directory),可以编辑sudoers这个文件(sudoedit),变相变成管理员。

2.3.4sudo 子目录

如果将所有提权都放在配置文件/etc/sudoers下不便于管理,可以通过在/etc/soduers.d/下创建子目录,可以更好地管理sudo的授权规则

三、PAM安全认证流程

PAM提供了灵活和可定制的用户身份验证框架,使系统管理员能够根据需要配置和管理身份验证方式。

3.1PAM相关文件

模块文件目录:/lib64/security/*.so

特定模块相关的设置文件:/etc/security/

man 8 +模块名:查看帮助

3.2PAM工作原理

PAM认证遵循顺序 Service(服务)---PAM(配置文件)---pam_*.so

这里查看su的PAM配置文件做实例,cat /etc/pam.d/su

3.2.1第一模块类型

1.auth:账号的认证和授权,用户名

2.Account:账户的有效性,与账户管理相关的非认证类的功能,如:用来限制/允许用户对某个服务的访问时间,限制用户的位置(例:root用户只能从控制台登录)

3.Password:用户修改密码时密码复杂度检查机制等功能

4.Session:用户会话期间的控制,如:最多打开的文件数,最多的进程数等

5.-type:表示因为缺失而不能加载的模块将不记录到系统日志,对于那些不总是安装在系统上的模块有用

3.2.2第二模块类型Contrl Flags,PAM验证类型的返回结果

1.required验证失败时依然继续,但返回Fail

2.requisite验证失败则立即结束整个验证过程,返回Fail

3.sufficient验证成功则立即返回,不再继续,否则忽略结果并继续

4.optional不用于验证,只显示信息(通常用于session类型)

3.2.3第三列要调用的功能或参数

PAM验证

3.2.4shell模块

|--------|------------------------------------------------------|
| 功能 | 检查有效shell |
| 帮助命令格式 | man pam shells |
| 案例 | 不允许使用/bin/csh的用户本地登录 |
| 模块 | pam_shells.so只允许规定的shell类型通过,是在/etc/shells文件中存在的类型通过 |

四、*limit

ulimit -a:查看全部内核

vim /etc/sysctl.conf:专门用来修改内核参数的

内核参数:

只读:只用于输出信息

五、grub加密

/etc/grub.d-目录

|---------------------|---------------------------|
| 00_header | 设置grub默认参数 |
| 10_linux | 系统中存在多个linux版本 |
| 20_ppc_terminfo | 设置tty控制台 |
| 30_os_prober | 设置其他分区中的系统(硬盘中有多个操作系统时设置) |
| 40_custom和41_custom | 用户自定义的配置 |

5.1GRUB 2 加密

由于GRUB 2负责引导linux系统,其作为系统中的第一道屏障的安全性非常重要,对GRUB 2进行加密可以实现安全性。

GRUB 2密码支持以下两种格式:

明文密码:密码数据没有经过加密,安全性差

PBKDF2加密密码:密码经过PBKDF2哈希算法进行加密,在文件中存储的是加密后的密码数据,安全性较高。

相关推荐
Daniel 大东1 小时前
BugJson因为json格式问题OOM怎么办
java·安全
EasyNVR5 小时前
NVR管理平台EasyNVR多个NVR同时管理:全方位安防监控视频融合云平台方案
安全·音视频·监控·视频监控
黑客Ash8 小时前
【D01】网络安全概论
网络·安全·web安全·php
阿龟在奔跑10 小时前
引用类型的局部变量线程安全问题分析——以多线程对方法局部变量List类型对象实例的add、remove操作为例
java·jvm·安全·list
.Ayang10 小时前
SSRF漏洞利用
网络·安全·web安全·网络安全·系统安全·网络攻击模型·安全架构
.Ayang10 小时前
SSRF 漏洞全解析(概述、攻击流程、危害、挖掘与相关函数)
安全·web安全·网络安全·系统安全·网络攻击模型·安全威胁分析·安全架构
好想打kuo碎10 小时前
1、HCIP之RSTP协议与STP相关安全配置
网络·安全
周全全10 小时前
Spring Boot + Vue 基于 RSA 的用户身份认证加密机制实现
java·vue.js·spring boot·安全·php
Mr.Pascal11 小时前
刚学php序列化/反序列化遇到的坑(攻防世界:Web_php_unserialize)
开发语言·安全·web安全·php