linux系统安全(二)su命令及系统安全 您所在的位置:网站首页 linux测试端口的连通性的四种方法 linux系统安全(二)su命令及系统安全

linux系统安全(二)su命令及系统安全

2023-01-14 09:02| 来源: 网络整理| 查看: 265

文章目录 一、su命令 1、用途及格式 2、su、su 目标及su - 目标用户的区别 3、密码验证 二、普通用户添加超级权限的方法 1、sudo命令 2、visudo命令 3、wheel组 4、查看sudo操作记录 三、添加用户方法 3.1、使用别名增加用户:Alias 3.2、通配符增加用户 3.3、实例 三、PAM安全认证 1、su命令的安全隐患 2、PAM认证概念 3、PAM认证原理 4、PAM的配置文件 5、PAM安全认证流程 四、系统引导和登录控制 1、开关机安全控制 1.1、调整BIOS引导设置 1.2、GURB限制 1.1.1、更改gurb密码 1.1.2、生成秘钥 2、终端登录安全控制 2.1、限制root在安全终端登录 2.2、限制普通用户登录root 2.3、端口禁止远程 六、弱口令检测 6.1、概述及方法 6.2、实例 6.3、字典破解 七、网络端口扫描-NMAP 7.1、概念 7.2、NMAP扫描 7.3、实例

一、su命令 1、用途及格式 用途:用于切换用户 su - 目标用户 2、su、su 目标及su - 目标用户的区别 su-用户名:正确的格式切换用户 su 用户名:在系统显示的pwd在/home/tom,但是查询环境变量仍是切换前root的环境变量,相当于实际并没有切换到新的用户,无法实现后期操作 su:相当于 su - root

其中环境变量查询方法,在基础命令也提到过:echo $PATH;用“:”分隔

再回顾一个查询用户是否存在于系统:id 用户名

3、密码验证 root→任意用户,不验证密码 普通用户→其他用户/root,验证目标用户的密码

这时就有个问题,su命令切换用户从安全的角度来说并不够安全;为什么呢? 大家想一想,若是普通用户→root,多人只要知晓密码就可以使用root,拥有了最高权限,这时网络隐患就会存在,那么如何能让普通用户不登录root也可以管理系统呢?这时就要引出sudo命令和visudo命令;

二、普通用户添加超级权限的方法

需要借助配置文件/etc/sudoers完成对普通用户添加超级权限的管理,以下为三种方法更改

需要编辑sudo命令,配置文件sudoers的内容,如果更改错内容,不会报错,可以强制退出,所以此方法并不常用 visudo:编辑sudo的配置,不是配置文件,只是用vi调用了sudo的配置;通常使用此方法进行配置文件更改,并非只读 将新建的用户加入到wheel组内 1、sudo命令 sudo是linux系统管理指令,是允许系统管理员让普通用户执行一些或者全部的root命令的一个工具 借助sudo的配置文件/etc/sudoers完成对用户的管理

配置:

只有root可以新建用户,使用sudo无须切换环境变量即可新建用户,前提是需要编辑配置文件,

vim /etc/sudoers 添加新建用户 例tom;加入一行新的配置(具体看下图) 在这里插入图片描述

若一次增加多个用户,多个命令“,”分隔-

:wq! 强制退出;切换用户到tom su - tom 创建用户 sudo useradd jerry:获得root权限添加用户jerry;查询用户是否创建成功:id jerry 在这里插入图片描述 sudo -l:查询可以使用的权限 在这里插入图片描述 sudo userdel -r jerry:删除用户jerry 在这里插入图片描述 2、visudo命令

编辑sudo的配置,不是配置文件,只是用vi调用了sudo的配置;通常使用此方法进行配置文件更改,并非只读;简而言之就是visudo其实是打开一个文件,让你编辑这个文件的内容,这个文件就是/etc/sudoers,用的编辑器默认是vi。 那么问题来了,为什么不用直接打开这个文件然后编辑其中的内容呢? 根据visudo的使用说明,如果你用visudo来编辑这个文件的话,它会帮你自动做很多事情,比如说语法检查、加锁防止别人同时修改这个文件等等,所以,强烈建议用户使用visudo,不要直接修改。

配置:

切换到root,使用命令visudo 在这里插入图片描述 编辑加一条内容:需要使用绝对路径 在这里插入图片描述 用vi调用文件(错误有报警) 报错后enter出现选项 在这里插入图片描述 3、wheel组

配置: wheel:管理员组,拥有自大权限,增加用户时,可以加入wheel组即可

gpasswd -a jerry wheel 在这里插入图片描述 wheel可以不设置密码,如下 若设置用户不需要密码时加入wheel时,去掉注释#激活 NOPASSWD:设置不需要用户密码 在这里插入图片描述 切换用户时正常输入密码,但是切换用户之后的操作无须密码 在这里插入图片描述 4、查看sudo操作记录 需启用defaults logfile 配置 默认日志文件:/var/log/sudo 查看系统安全日志的目录:cat /var/log/secure在这里插入图片描述 sudo存在secuer内,还可以进入visudo配置文件最后增加一行 Defaults logfile="/var/log/sudo" 下次sudo的日志就可以在此路径查看 在这里插入图片描述 三、添加用户方法 3.1、使用别名增加用户:Alias

若同时增加很多用户的时候,减少工作量可以使用别名,别名需要大写 在这里插入图片描述 在这里插入图片描述 同样添加主机也可以使用别名,别名需要大写 在这里插入图片描述

3.2、通配符增加用户 *:代表所有 !:非,不可以 在这里插入图片描述 3.3、实例

要求:建立用户张三,限制张三不可以本机ip地址 命令:useradd 张三 zhangsan ALL=ALL,!/sbin/ifconfig 在这里插入图片描述

三、PAM安全认证 1、su命令的安全隐患 默认情况下,任何用户都允许使用su命令,有机会反复尝试其他用户(如root)的登录密码,带来安全风险 为了加强su命令的使用控制,可以借助于PAM认证模块,只允许极个别用户使用su命令进行切换 2、PAM认证概念 PAM(Pluggable Authentication Modules)可插拔式认证模块 是一种高效而且灵活便利的用户级别的认证方式 也是当前linux服务器普通使用的认证方式 3、PAM认证原理 一般遵循的顺序 service(服务)→PAM(配置文件)→pam_*.so 首先要确定哪一项服务,然后加载响应的PAM的配置文件(位于/etc/pam.d下),最后调用认证文件(位于/lin64/security下)进行安全认证 用户访问服务器时,服务器的某一个服务程序把用户的请求发送到PAM慕课进行认证 不同的应用程序锁对应的PAM模块是不同的 4、PAM的配置文件

查看某个程序是否支持PAM认证,可用ls命令查看配置文件路径:/etc/pam.d 在这里插入图片描述 示例:查看su是否支持PAM模块认证 ls /etc/pam.d | grep su

查看su的PAM配置文件:vim /etc/pam.d/su 每一行都是一个独立的认证过程 每一行可用区分三个字段 认证类型 控制类型 PAM模块及其参数在这里插入图片描述 实例:限制所有人不能su - root 首先打开pam配置文件 vim /etc/pam.d/su 启用认证:auth(authentication):身份认证;auth加上注释“#” 在这里插入图片描述 其次进入/etc/login.defs,最后一行加入: SU_WHEEL_ONLY yes:只能允许wheel组的成功使用su这个命令切换到root用户 在这里插入图片描述 这时不在wheel组的用户就不可以用su命令切换到root1;系统提示拒绝权限 在这里插入图片描述 验证:进入到/etc/login.defs内把tom加入wheel组 在这里插入图片描述 这时切换就可以操作 在这里插入图片描述 5、PAM安全认证流程

认证流程四个过程

程序开始 验证开始 验证结束 程序后续动作 认证流程的四个状态 required:验证失败也继续下一步,走完四个流程–>验证结束 requisite:验证失败直接–>验证结束 sufficient:验证失败也继续下一步,走完流程 optional:不论失败成功,已经是最后一个流程,–>验证结束 在这里插入图片描述 四、系统引导和登录控制 1、开关机安全控制 1.1、调整BIOS引导设置 将第一引导设备设为当前系统所在硬盘 禁止从其他设备(光盘、U盘、网络)引导系统 将安全基本设为setup,并设置管理员密码 1.2、GURB限制

还记得之前的章节,忘记root密码时,进入救援模式无须输入之前的密码就可以直接更改root密码,安全性变低;那么可以通过更改grub密码来提供安全性

1.1.1、更改gurb密码

grub2-setpassword :设置grub密码 在这里插入图片描述 这时重启虚拟机系统,并在GRUB2启动屏显时,按下e键进入编辑模式,这时是需要密码才可以更改root密码,更改之后ctrl+x,退出当前界面grub2菜单进入系统

1.1.2、生成秘钥

生成秘钥:给密码加密,增加密码难度 使用grub2-mkpasswd-pbkdf2生成秘钥 在这里插入图片描述 在这里插入图片描述 vim grub.cfg,查看系统就自动密码加密,无须人工进入配置文件编辑 配置文件:/etc/grub2.d 还可以更改用户名zhangsan,隐藏root,实际root就是zhangsan 在这里插入图片描述

2、终端登录安全控制 2.1、限制root在安全终端登录 安全终端配置:/etc/securetty 终端tty1-6,终端切换 实例:进制终端tty2登录root vim /etc/securetty tty2前面加注释# 登录用户使用tty2的终端就无法登录用户了 2.2、限制普通用户登录root

使用情景:主要用户服务器停机维护了,其他用户登录会有个提示,比如“系统正在维护”,创建/etc/nologin,echo “系统正在维护” > /etc/nologin即可 实例 echo “系统正在维护” > /etc/nologin即可 /etc/nologin :这个文件是默认没有,需要创建,创建touch就无法登录终端了 在这里插入图片描述 这时登录root,页面会显示hello word 在这里插入图片描述 恢复原状 删除nologin:rm -rf etc/nologin 在这里插入图片描述

2.3、端口禁止远程

以下以tcp 22端口号举例,如何修改端口号从而不让root远程 在这里插入图片描述

问:不让root远程,首先是ssh服务,tcp的22端口 解决:

ssh服务配置默认文件:/etc/ssh/sshd_config vim /etc/ssh/sshd_config 首先修改端口号: 原本是默认 #Port 22;更改默认的端口号,去掉注释,改成随便的数字,比如2222 在这里插入图片描述 在这里插入图片描述 其次不让root登录:系统默认是允许root 在这里插入图片描述 去掉root,yes 改成 no 在这里插入图片描述 最后重启服务:更改配置文件之后需要重启:systemctl restart ssh - 查看端口号:netstat -antp | grep 22 在这里插入图片描述 这时断开系统,再次连接就需要更改端口号为:2222,才能连接成功 在这里插入图片描述 六、弱口令检测 6.1、概述及方法

John the Ripper是一款开源的密码破解工具,能够在已知密文的情况下快速分析出明文的密码子串,支持DES、MD5等多种加密算法,而且允许使用密码字典来进行暴力破解

安装JR工具 安装方法 make clean 系统类型 检测弱口令账号 获得linux/unix服务器的shadow文件 执行john程序,将shadow文件最为参数 密码文件的暴力破解 准备好密码字典文件,默认为password.lst 执行john程序,结合–wordlist=字典文件 6.2、实例 下载john工具压缩包并解压 在这里插入图片描述 make clean linux-x86-6:编译 在这里插入图片描述 生成可执行文件john 在这里插入图片描述 cp /etc/shadow /root/shadow.txt:复制文件 /john /root/shadow.txt:执行暴力破解密码文件 在这里插入图片描述 6.3、字典破解 对于密码的暴力破解,字典文件的选择很关键 只要字典文件足够完整,密码破解只是 时间上的问题。因此,“什么样的密码才足够强壮”取决于用户的承受能力,有人认为超过 72 小时仍无法破解的密码才算安全,也可能有人认为至少暴力分析一个月仍无法破解的密码才 足够安全。 John the Ripper 默认提供的字典文件为 password.lst,其列出了 3000 多个常见的弱口 令。如果有必要,用户可以在字典文件中添加更多的密码组合,也可以直接使用更加完整的 其他字典文件 执行 john 程序时,可以结合“–wordlist=”选项来指定字典文件的位置,以便 对指定的密码文件进行暴力分析 七、网络端口扫描-NMAP 7.1、概念 一款强大的网络扫描、安全监测工具 官方网站:http://nmap.org/ ecntos 7.3光盘中安装包 nmap-6.40-7.el7.x86_64.rpm 7.2、NMAP扫描

基本格式

nmap [扫描类型][选项] -sU ip地址:扫描udb端口 -sP:p相当于ping -P:只ping 检查主机是否存活,后面跟ip地址-机器数;1-30或者245.0-24/表示一个网段的30/255台机器都扫描 -sP -n:加速ping -n:加速;不进行域名解析增加速度 -P0 :扫描之前不建立三次握手连接,即不操作ping,直接扫描 -A:扫描显示的非常完全 -sS:只执行两次握手,没有最好一次握手(确认过程);S:syn的缩写 -sT:完整的三次握手过程,扫描TCP -sF:只检测FIN包 -p 端口号 IP地址:指定端口扫描 7.3、实例 nmap 127.0.0.1:扫描127.0.0.1 在这里插入图片描述 nmap -sU 127.0.0.1:扫描127.0.0.1的udb端口 在这里插入图片描述 nmap -sP 192.168.245.1-30:扫描主机192.168.254.1的30个及其是否存活

在这里插入图片描述

nmap -sP -n 192.168.254.1-30:加速扫描主机192.168.254.1的30个及其是否存活 在这里插入图片描述 namp -P0 -n 192.168.245.1-30:直接扫描主机192.168.254.1的30台主机在这里插入图片描述 nmap -A -n 192.168.245.1:详细扫描主机192.168.245.1 在这里插入图片描述 namp -p 20-21 192.168.245.0/24:扫描是否开始ftp服务,ftp端口号是20 21 在这里插入图片描述


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有