Linux安全之账户安全

news/2024/10/31 3:22:13/

账户安全

Linux用户账户概述:

  1. 用户账号
    1. 超级用户root
    2. 系统用户
    3. 普通用户
  2. 组账号
    1. 基本组(私有组----每一个私有组里面只有一个用户)
    2. 附加组(公共组----每一个用户都可以加入到这个组里面)

UID和GID:

  1. UID(User IDentity,用户标识号)
  2. GID(Group IDentity,组标识号)

超级用户root的UID和GID:0 (固定为0的!)(一般情况下,一旦服务器上存在了一个不叫root 但是UID 是0 的账户,那么就很有可能出现了安全性问题,一般就是被入侵了,他是一个后门账号 )

系统用户UID和GID:1-999 (Linux的发行版本不同 这个范围也不太相同)

普通用户的UID和GID:1000-65535

用户账号文件

/etc/passwd:存放用户账号名、UID GID 宿主目录 登录shell

/etc/shadow:存放用户账号名、密码、密码天数、账户失效日期等

查看/etc/passwd里面的内容:分别对应如下的信息。

字段1:用户账号的名称

字段2:用户密码字串或者密码占位符“x”

字段3:用户账号的UID号

字段4:所属基本组账号的GID号

字段5:用户全名

字段6:宿主目录

字段7:登录shell信息 (可以看到上面的登录shell是/bin/bash 这个shell是允许我们远程登录的,但是一旦shell是/sbin/nologin的话,就是不允许远程登录的!)

查看/etc/shadow文件。

字段1:用户账号的名称

字段2:加密的密码字串信息

字段3:上次修改密码的时间(天数:从1970年1月1号到最近依次修改密码时间的间隔天数)

字段4:密码的最短有效天数,默认值为0

字段5:密码的最长有效天数,默认值为99999

字段6:提前多少天警告用户口令将过期,默认值为7

字段7:在密码过期之后多少天禁用此用户

字段8:账号失效时间,默认值为空

字段9:保留字段(未使用)

系统账号清理

将非登录用户的shell设为/sbin/nologin

usermod -s /sbin/nologin 用户名

锁定长期不使用的账号

  1. passwd -l 用户名
  2. usermod -L 用户名 (如果是解锁的话 参数就是-U 上面的命令就是-u)

删除无用的账号

userdel -r 用户名

锁定账号文件 passwd shadow

  1. chattr +i /etc/passwd /etc/shadow (+i 就是加锁 -i 就是去掉锁)
  2. chattr -i /etc/passwd /etc/shadow
  3. lsattr /etc/passwd /etc/shadow

检查后门账号:

awk -F: '$3==0{print $1}' /etc/passwd

(检查/etc/passwd中的第三列中等于0 的结果,然后将对应的第一列打印出来)

密码安全控制

  1. 设置密码有效期
  2. 修改/etc/login.defs文件中的"PASS_MAX_DAYS"的值(适用于新建用户,对于已经存在的用户不起作用)
    1. chage -M 30 用户名 (适用于已有用户)
  3. 要求用户下次登录时修改密码
    1. chage -d 0 zhangsan

历史命令限制

  1. 减少记录的命令条数:修改/etc/profile文件中的“HISTSIZE=”的值
  2. 注销时自动清空命令历史:修改用户宿主目录下的“.bash_logout”文件,在文件的末尾处追加2行
    1. history -c
    2. clear

终端自动注销

修改用户宿主目录下的“.bash_profile“文件,在文件末尾处追加1行:export TMOUT=时间(单位是秒)

su用户切换安全

限制使用su命令的用户

  1. 启用pam_wheel认证模块
    1. 修改”/etc/pam.d/su“文件,启用”auth required pam_wheel.so use_uid“
    2. 将允许使用su命令的用户加入wheel组
    3. gpasswd -a 用户名 wheel

sudo用户提权安全

查看除root账号意外,其他账号是否存在sudo权限

grep "ALL=(ALL)" /etc/sudoers | grep -v "#" |grep -v "^#"

这里一般就是出现的 root 和%wheel 出现其他的用户就需要额外的注意啦

配置sudo授权

记录格式:用户 主机名列表=命令程序列表

visudo

.....

%wheel		ALL=NOPASSWD:ALL
zhangsan	localhost=/sbin/ifconfig
lisi		localhost=/sbin/*,!/sbin/ifconfig,!/sbin/route
User_Alias  ADMINS=wangwu,zhaoliu		(这里就是要实现多个用户具备相同权限,起的别名)
Host_Alias  SERVERS=filesvr,websvr,ftpsvr	(共同享有的主机的范围)
Cmnd_Alias  NETCMD=/sbin/ifconfig,/sbin/route	(可以操作的命令)
ADMINS		SERVERS=NETCMD	
(最终就是wangwu zhaoliu 都对filesvr,websvr,ftpsvr 可以配置ip 以及路由接入等)

用户弱口令检测

检测工具

John the Ripper 简称JR

一款密码分析工具,支持字典是的暴力破解

通过对shadow文件的口令分析,可以检测密码的强度

官方网站:http://www.openwall.com/john/

检测弱口令账号

  1. 需要获得Linux/Unix服务器的shadow文件副本 (cp /etc/shadow /root/shadow.txt)
  2. JR的默认密码字典文件为password.lst (./john /root/shadow.txt)
  3. 可通过”--wordlist=“指定其他密码字典文件的路径


http://www.ppmy.cn/news/213254.html

相关文章

airpods pro 使用电脑无法充电的问题

据测试, airpods pro可以通过苹果电脑充电,但是使用其他win10系统的电脑充电时,充一会就会断掉;使用win11系统可以充电。 好奇怪的问题,不知道苹果是怎么设计的,还是加了某种特殊协议?

MacBook Pro冲不上电,指示灯不亮

12年终的 MacBook Pro已经遇到过几次这种情况了, 插上电源充电指示灯不亮也冲不上电; 以前几次莫名其妙的自己好了,我也没在意,今天同样的情况,我以为等等他自己就会好,可是等电池电用完了还没好&#xff…

台式电脑突然无法开机,鼠标键盘灯不亮

环境: 惠普/HP288G6主机 问题描述: 昨天正常,突然无法开机,鼠标键盘灯不亮,拆解散热风扇和cpu风扇正常转,拔了内存条,无报警声还是黑屏 解决方案: 1.尝试给主板放电(…

airpods pro无法使用Windows电脑充电的解决方法

连接airpods pro到windows电脑上 进入控制面板->设备和打印机 找到AirPod Case并双击->选择硬件->符合HID标准的供应商定义设备->属性 改变设置->驱动程序->禁用设备(之后也不用管设备的状态,不需要再点击启动设备) 直…

Macbook电池使用问题——电池充电管理

我的本本是17款的mbp,系统是11.7(big sur)为了保护电池,我下载了一款软件——AIDente Free,因为是免费版,它的功能很少,但却能很好的满足我的需求。 我最大的需求就是能让电池有一个充电限制&am…

Mac无故充不进电

mac用着用着,连接电源线充不进电,但能使用外置电源。 可以试试重置SMC: https://support.apple.com/zh-cn/HT201295

MacBook Pro接通电源后电池不充电 Apple官方解决办法

型号:MacBook Pro 2018现象:在确认电源正常的情况下,接入电源后电池不充电。该现象无规律,偶然会出现原因:Mac有个SMC模块,是否对电池充电是通过SMC控制的,有时候控制逻辑能出不正常&#xff0c…

【Mac】Mac电脑充电小板、充电器不亮或者接触不良、发黑、针头缩进

1、概述 我的mac电脑用久了,最近有点小毛病,最近充不上电了,主要表现如下。 充电器不亮了接触不良,动动偶然能充电成功针头发黑,针头缩进这是当初的样子,该电脑比较老了,型号是A466 后来经过我验证是电池充电小板问题。红色框框里面是充电小板,然后充电器可以看到是不…