系统安全:su 、sudo

目录

  • 一、su
  • 二、sudo
    • 普通用过通过sudo使用命令
    • 设置组
    • 设置别名
  • 三、PAM
    • su命令的隐患
    • PAM认证原理
    • 实验
  • 四、通过shh限制
  • 五、开关机安全控制
  • 六、终端登陆安全控制
  • 七、网络端口扫描

一、su

一、作用和格式
作用:用于用户切换
格式:
su:只是切换了root身份,但Shell环境仍然是普通用户的Shell
su -:用户和Shell环境一起切换成root身份
su 用户名:只是切换了用户的身份,但Shell环境仍然是root用户的Shell
su - 用户名:用户和Shell环境一起切换成指定用户

二、sudo

普通用过通过sudo使用命令

在这里插入图片描述
进入sudoers 配置文件,一般通过visudo进入配置文件(这样如果出现错误会有报警提示)
在这里插入图片描述
系统安全:su 、sudo_第1张图片
进入配置文件中,命令必须加绝对路径
系统安全:su 、sudo_第2张图片
修改配置文件后,普通用户可以通过sudo创建用户
在这里插入图片描述
也可以指定物理主机,多个命令用逗号隔开
系统安全:su 、sudo_第3张图片
sudo -l 查看当前不同用户可以使用的命令

设置组

为了方便,通过组让多名权限相同的用户加入来提高工作效率
系统安全:su 、sudo_第4张图片

设置别名

系统安全:su 、sudo_第5张图片
系统安全:su 、sudo_第6张图片

三、PAM

su命令的隐患

1、默认情况下,任何用户都可以使用su,也都可能进入root用户,有极大的安全隐患
2、可以通过PAM认证模块来控制,只允许指定的用户使用su
PAM系统的安全模块,可以支持很多服务
PAM是第一道认证
PAM:可插拔式认证模式
1、是一种高效而且灵活便利的用户级别的认证方式
2、也是当前L inux服务器普遍使用的认证方式

PAM认证原理

1、一般遵循的顺序:
Service (服务) →PAM (配置文件) →pam_ *.so
2、首先要确定哪一项服务,然后加载相应的PAM的配置文件(位于/etc/pam.d下),最后调用认证文件(位于/lib64/security下|)进行安全认证
3、用户访问服务器时,服务器的某一个服务程序把用户的请求发送到PAM模块进行认证
4、不同的应用程序所对应的PAM模块是不同的

实验

系统安全:su 、sudo_第7张图片
查询要限制的命令是否在PAM的配置文件中
在这里插入图片描述
进入su命令的PAM配置文件
系统安全:su 、sudo_第8张图片
在这里插入图片描述
进入配置文件中
系统安全:su 、sudo_第9张图片
只允许wheel组用户可以使用su
在这里插入图片描述
将指定用户加入组中,允许组中用户使用su
在这里插入图片描述
查看系统日志文件

四、通过shh限制

不让root远程登陆系统,改变端口号
在这里插入图片描述
ssh服务的默认配置文件
系统安全:su 、sudo_第10张图片

进入文件,去除#开启,再将端口后改变
在这里插入图片描述
重启服务
在这里插入图片描述
查看端口号

五、开关机安全控制

一、调整BIOS引导设置
将第一引导设备设为当前系统所在硬盘
禁止从其他设备(光盘、U盘、网络)引导系统
将安全级别设为setup,并设置管理员密码
禁止ctrl+alt+del快捷键重启
在这里插入图片描述
将ctrl-alt-del.target删除就可以禁止ctrl+alt+del快捷键重启
二、GRUB限制
使用grub2-mkpasswd-pbkdf2生成密钥
修改/etc/grub.d/0O_ header文件中,添加密码记录
生成新的grub.cfg配置文件
在这里插入图片描述
设置密码 虚拟机重启,进入系统
ctrl +x 退出界面进入系统
生成秘钥:
在这里插入图片描述
在这里插入图片描述
进入此配置文件,更改root用户名
系统安全:su 、sudo_第11张图片

六、终端登陆安全控制

限制root只在安全终端登陆
在这里插入图片描述
进入配置文件
系统安全:su 、sudo_第12张图片
可以创建/etc/nologin文件,此文件默认没有,需要创建,限制普通用户登陆,创建即生效。可以给此文件添加提示语,普通用户登陆时,虽然t登陆不成功,但会收到提示语。
在这里插入图片描述

七、网络端口扫描

NMAP:强大的网络扫描,安全检测工具
在这里插入图片描述

[root@localhost ~]nmap -n ip地址 #扫描不进行域名解析,速度快
[root@localhost ~]nmap -sS ip地址 #三次握手,只执行两次(没有最后的确认过程)
[root@localhost ~]nmap -sT IP地址 #完整的三次握手过程,扫描TCP
[root@localhost ~]nmap -sF IP地址 #只发FIN包
[root@localhost ~]nmap -p 20-21 IP地址 #-p指定扫描端口号,20-21是范围,20,21指定两个端口号
[root@localhost ~]nmap -sU iP地址 #扫描UDP端口
[root@localhost ~]nmap -sP iP地址 #相当于ping,确认多个主机存活
[root@localhost ~]nmap -P0 iP地址 #扫描之前,不建立三次握手,不ping,直接扫
[root@localhost ~]nmap -A iP地址 #系统和端口扫描,包含端口和版本

你可能感兴趣的:(linux)