账号安全及应用

一、账号安全控制

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哈希算法进行加密,在文件中存储的是加密后的密码数据,安全性较高。

相关推荐
小小工匠14 分钟前
Web安全 - 路径穿越(Path Traversal)
安全·web安全·路径穿越
不灭锦鲤2 小时前
ssrf学习(ctfhub靶场)
网络·学习·安全
网络研究院5 小时前
如何安全地大规模部署 GenAI 应用程序
网络·人工智能·安全·ai·部署·观点
DonciSacer9 小时前
TryHackMe 第6天 | Web Fundamentals (一)
安全
云卓科技13 小时前
无人机之数据提取篇
科技·安全·机器人·无人机·制造
山兔113 小时前
工控安全防护机制与技术
安全
HEX9CF14 小时前
【CTF Web】Pikachu xss之href输出 Writeup(GET请求+反射型XSS+javascript:伪协议绕过)
开发语言·前端·javascript·安全·网络安全·ecmascript·xss
小小工匠15 小时前
加密与安全_HOTP一次性密码生成算法
算法·安全·htop·一次性密码
Tandy12356_15 小时前
js逆向——webpack实战案例(一)
前端·javascript·安全·webpack
什么鬼昵称17 小时前
Pikachu-xxe-xxe漏洞
网络·安全·xxe