linux系统安全(二)su命令及系统安全 | 您所在的位置:网站首页 › linux测试端口的连通性的四种方法 › linux系统安全(二)su命令及系统安全 |
文章目录
一、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;加入一行新的配置(具体看下图)![]() 若一次增加多个用户,多个命令“,”分隔 ![]() ![]() ![]() 编辑sudo的配置,不是配置文件,只是用vi调用了sudo的配置;通常使用此方法进行配置文件更改,并非只读;简而言之就是visudo其实是打开一个文件,让你编辑这个文件的内容,这个文件就是/etc/sudoers,用的编辑器默认是vi。 那么问题来了,为什么不用直接打开这个文件然后编辑其中的内容呢? 根据visudo的使用说明,如果你用visudo来编辑这个文件的话,它会帮你自动做很多事情,比如说语法检查、加锁防止别人同时修改这个文件等等,所以,强烈建议用户使用visudo,不要直接修改。 配置: 切换到root,使用命令visudo![]() ![]() ![]() 配置: wheel:管理员组,拥有自大权限,增加用户时,可以加入wheel组即可 gpasswd -a jerry wheel![]() ![]() ![]() ![]() ![]() 若同时增加很多用户的时候,减少工作量可以使用别名,别名需要大写 ![]() 要求:建立用户张三,限制张三不可以本机ip地址 命令:useradd 张三 zhangsan ALL=ALL,!/sbin/ifconfig 查看某个程序是否支持PAM认证,可用ls命令查看配置文件路径:/etc/pam.d ![]() ![]() ![]() ![]() ![]() ![]() 认证流程四个过程 程序开始 验证开始 验证结束 程序后续动作 认证流程的四个状态 required:验证失败也继续下一步,走完四个流程–>验证结束 requisite:验证失败直接–>验证结束 sufficient:验证失败也继续下一步,走完流程 optional:不论失败成功,已经是最后一个流程,–>验证结束![]() 还记得之前的章节,忘记root密码时,进入救援模式无须输入之前的密码就可以直接更改root密码,安全性变低;那么可以通过更改grub密码来提供安全性 1.1.1、更改gurb密码grub2-setpassword :设置grub密码 生成秘钥:给密码加密,增加密码难度 使用grub2-mkpasswd-pbkdf2生成秘钥 使用情景:主要用户服务器停机维护了,其他用户登录会有个提示,比如“系统正在维护”,创建/etc/nologin,echo “系统正在维护” > /etc/nologin即可 实例 echo “系统正在维护” > /etc/nologin即可 /etc/nologin :这个文件是默认没有,需要创建,创建touch就无法登录终端了 以下以tcp 22端口号举例,如何修改端口号从而不让root远程 问:不让root远程,首先是ssh服务,tcp的22端口 解决: ssh服务配置默认文件:/etc/ssh/sshd_config vim /etc/ssh/sshd_config 首先修改端口号: 原本是默认 #Port 22;更改默认的端口号,去掉注释,改成随便的数字,比如2222![]() ![]() ![]() ![]() ![]() ![]() ![]() John the Ripper是一款开源的密码破解工具,能够在已知密文的情况下快速分析出明文的密码子串,支持DES、MD5等多种加密算法,而且允许使用密码字典来进行暴力破解 安装JR工具 安装方法 make clean 系统类型 检测弱口令账号 获得linux/unix服务器的shadow文件 执行john程序,将shadow文件最为参数 密码文件的暴力破解 准备好密码字典文件,默认为password.lst 执行john程序,结合–wordlist=字典文件 6.2、实例 下载john工具压缩包并解压![]() ![]() ![]() ![]() 基本格式 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![]() ![]() ![]() ![]() ![]() ![]() |
CopyRight 2018-2019 实验室设备网 版权所有 |