Linux的系统安全的应用操作,以及PAM的原理,如何进行破解Linux系统用户的密码?

本文详细介绍了Linux系统中的账号安全控制,包括系统账号清理、密码安全、命令历史和自动注销,重点讲解了PAM认证机制、su命令的安全隐患以及如何限制su命令的使用。同时,提到了端口扫描和弱口令检测,以增强系统安全性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一.账号安全控制

1.1 系统账号清理

  • 将非登录用户的shell设为/sbin/nologin
  • 锁定长期不使用的账号
  • 删除无用的账号
  • 锁定账号文件passwd,shadow

为了确保系统安全,这些用户的登录shell通常是/sbin/nologin,表示禁止终端登录,应确保不被人为改动

  • grep “/sbin/nologin$” /etc/passwd ‘#查看非登录用户’
  • grep “bash$” /etc/passwd ‘查看当前可以登录的用户’

在这里插入图片描述

  • 锁定长期不使用的账号

对于长期不用的用户账号,若无法确定是否删除,可以暂时将其锁定,(passwd,usermod命令都可以用来锁定和解锁账号)

passwd -l lisi (或者 usermod -L lisi ) ‘#锁定用户lisi’
锁定用户 lisi 的密码 。

usermod -U lisi (或者 passwd -u lisi) ‘#解锁用户lisi’
passwd -S lisi ‘#查看账号状态’

在这里插入图片描述

  • 删除无用的账号
    在非登录用户中,还有一部分是很少用到的,如news,uucp,games,gopher等,这些用户可视为冗余账号,可以直接删除。

  • 锁定账号文件passwd,shadow

如果服务器中的用户账号已经固定,不在进行更改,还可以采取锁定账号配置文件的方法

使用chattr命令,分别结合“+i”“-i”选项来锁定,解锁文件,使用lsattr命令可以查看文件锁定情况

chattr命令基本格式
chattr +i [目标文件] ‘锁定目标文件’
chattr -i [目标文件] ‘解锁目标文件’
lsattr [目标文件] ‘查看目标文件’

例如
chattr +i /etc/passwd /etc/shadow ‘锁定目标文件’
lsattr /etc/passwd /etc/shadow ‘查看目标文件是否被锁定’

chattr -i /etc/passwd /etc/shadow ‘解锁目标文件’
lsattr /etc/passwd /etc/shadow ‘查看目标文件是否解锁’

1.2 密码安全控制

含义:

  • 设置密码有效期
  • 要求用户下次登录时更改密码

vi /etc/login.defs //对于未创建的用户,使用此命令修改配置文件’
chage -M 30 lisi //适用于已有的lisi用户
在这里插入图片描述

1.3 命令历史和自动注销

  • 命令历史限制

减少记录的命令条数:bash终端环境中,历史命令的记录条数由变量HISTSIZE控制,默认为1000条。通过修改/etc/profile文件中的HISTSIZE变量值,可以影响系统中 的所有用户

例如:可以设置最多只记录 200 条历史命令。

vi /etc/profile //适用于新登录用户
export HISTSIZE=200 //适用于当前用户

在这里插入图片描述

还可以修改用户宿主目录中的~/.bash_logout 文件,添加清空历史命令的操作语句。这样,当用户退出已登录 Bash 环境以后,所记录的历史命令将自动清空。

vi ~/.bash_logout
history -c
clear

在这里插入图片描述

  • 终端自动注销

bash终端环境中,可以设置一个闲置超时时间,当超过指定时间没有任何输入时即自动注销终端,这样可以有效避免当管理员不在时其他人员对服务器的误操作风险。闲置时间有变量TMOUT来控制,默认单位为秒

在这里插入图片描述

1.4 用户切换与提权

大多数 Linux 服务器并不建议用户直接以 root 用户进行登录。一方面可以大大减少因误操作而导致的破坏,另一方面也降低了特权密码在不安全的网络中被泄露的风险。鉴于这 些原因,需要为普通用户提供一种身份切换或权限提升机制,以便在必要的时候执行管理任 务。
Linux 系统为我们提供了 su、sudo 两种命令,其中 su 命令主要用来切换用户,而 sudo命令用来提升执行权限。

1.su 命令 —— 切换用户
(1)su 命令用法

su - root
密码: //输入用户root 的口令
[root@localhost ~]# //验证成功后获得root 权限

1.4.1 限制使用su命令的用户

  • 将允许使用su命令的用户加入wheel组
  • 启用pam_wheel认证模块

例如:gpasswd -a tzhangsan wheel

//表示将用户zhangsan加入到“wheel”组中

启用pam_wheel认证模块
在这里插入图片描述

1.5 Linux中的PAM安全认证

1.5.1 su命令的安全隐患

默认情况下,任何用户都允许使用su命令,从而有机会反复尝试其他用户的登录密码,带来风险

借助pam_wheel认证模块,可以实现指定允许的用户使用su命令

1.5.2 PAM认证原理

PAM(Pluggable Authentication Modules)可插拔式认证模块,它是一种高效而且灵活便利的用户级别的认证方式,它也是当前Linux服务器普遍使用的认证方式
PAM认证一般遵循的顺序:Service(服务)→PAM(配置文件)→pam_*.so(.so 后缀代表模块文件)
PAM认证首先要确定哪一项服务,然后加载相应的PAM的配置文件(位于/etc/pam.d下),最后调用认证文件(位于/lib/security下)进行安全认证
用户访问服务器的时候,服务器的某一个服务程序把用户的不同请求发送到PAM模块进行认证
不同的应用程序所对应的PAM模块也是不同的

1.5.3 PAM认证的构成

  • 查看某个程序是否支持PAM认证,可以用ls命令进行查看。

例如查看su是否支持PAM模块认证

语法: ls /etc/pam.d | grep su

查看su的PAM配置文件:cat /etc/pam.d/su

  • 每一行都是一个独立的认证过程
  • 每一行可以区分为三个字段
    (认证类型,控制类型,PAM模块及其参数)

1.6 PAM安全认证流程

在这里插入图片描述

1.7 sudo机制提权

在这里插入图片描述
在这里插入图片描述

1.8 终端登录安全控制

在这里插入图片描述

二.端口扫描

2.1 网络端口扫描

NMAP 是一个强大的端口扫描类安全评测工具,官方站点是 http://nmap.org/。NMAP 被设计为检测众多主机数量的巨大网络,支持 ping 扫描、多端口检测、OS 识别等多种技术。使用 NMAP 定期扫描内部网络,可以找出网络中不可控的应用服务,及时关闭不安全的服务,减小安全风险。

1.安装 NMAP 软件包

在 CentOS 7 系统中,既可以使用光盘自带的 nmap-6.40-7.el7.x86_64.rpm 安装包, 也可以使用从 NMAP 官方网站下载的最新版源码包,这里以 YUM 方式安装的 nmap 软件包为例。

[root@localhost ~]# yum install -y nmap

2.扫描语法及类型

NMAP 的扫描程序位于/usr/bin/nmap 目录下,使用时基本命令格式如下所示。

nmap [扫描类型] [选项] <扫描目标…>

2.2 扫描端口的用法

1.扫描常用的TCP端口

#nmap 127.0.0.1
2.扫描常用的UDP端口

#nmap -sU 127.0.0.1
3.扫描21端口查看192.168.1.0/24网段中有哪些主机提供FTP服务

#nmap -p 21 192.168.1.0/24
4.快速检测192.168.1.0/24网段的有多少存活的主机(能ping通)

#nmap -n -sP 192.168.1.0/24
5.检测IP地址位于192.168.1.100-200的主机是否开启文件共享服务

#nmap -p 139,445 192.168.1.100-200

三. 弱口令检测

通过使用John the RIpper,可以检测Linux系统用户的密码强度

下载并安装John the Ripper,官网http://www.openwall.com/john/

##tar zxvf john-1.9.0.tar.gz

doc 手册文档

scr 源码文件

#make clean linux-x86-64 执行编译过程
run 运行程序

编译完成后,会在run目录下生成一个名为john的可执行程序
自定义密码字典破解 shadow文件密码

#vi /opt/liangpeihua.txt ##在文件里编译一些密码##

#./john --wordlist=/opt/liangpeihua.txt /root/shadow.txt

或者:./john --w:/opt/liangpeihua.txt /root/shadow.txt
#vi /john.pot ##在/john.pot里查看破解后的密码##

暴力破解,使用默认提供的字典文件passwd.1st

#[root@locallhost run]./john --wordlist=./passwd.1st /root/shadow.txt
#vi /john.pot

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值