首页 >> 大全

Linux系统安全及应用(su、sudo命令详解)(详细)

2023-08-28 大全 38 作者:考证青年

系统安全以及应用

目录 二、使用su命令切换用户 (四)、限制使用su命令的用户 三、使用sudo机制提升权限 四、开关机安全控制 五、系统弱口令检测 五、网络端口扫描—NMAP

一、账号安全基本措施 (一)、系统账号清理

​ 要求用户下次登录时修改密码

​ chage -d 0 lisi

密码有效期设置为0,意思就是下次登录就要重新设置密码才可以登录

​ vi /etc/login.defs 给即将创建的新用户设置密码有效期

(三)、命令历史限制

减少记录的命令条数

vim /etc/

=200 这个比较简单,保留最后200条历史命令

注销时自动清空命令历史

vim /etc/

rm -rf /root/. 每次开机执行删除这个文件的命令,这样历史的命令就会自动清空

注:想要配置直接生效:. /etc/ 或 /etc/

(四)终端自动注销

闲置600秒后自动注销

vi ~/.

TMOUT=600

二、使用su命令切换用户 (一)、用途及用法

用途: User,切换用户

格式:su 目标用户

密码验证:

root su任意用户,不验证密码

普通用户su其他用户,验证目标用户的密码

(二)、su命令的安全隐患

默认情况下,任何用户都允许使用su命令,这样就有机会反复尝试其他用户(如root)的登录密码,带来安全风险

为了加强su命令的使用控制,可借助于PAM认证模块,只允许极个别用户使用su命令进行切换

(三)PAM可插拔式认证模块 1、介绍

是一种高效而且灵活便利的用户级别的认证方式

也是当前Linux服务器普遍使用的认证方式

2、PAM认证原理

1.PAM 认证一般遵循的顺序:(服务)–> PAM(配置文件)–> pam_*.so;

2.PAM认证首先要确定哪一项应用服务,然后加载相应的PAM的配置文件(位于/etc/pam.d下),最后调用认证模块(位于 /lib64//下)进行安全认证。

3.用户访问服务器的时候,服务器的某一个服务程序把用户的请求发送到PAM模块进行认证。不同的应用程序所对应的PAM 模块也是不同的。

如果想查看某个程序是否支持 PAM 认证,可以用 ls 命令进行查看/etc/pam.d/。

PAM的配置文件中的每一行都是一个独立的认证过程,它们按从上往下的顺序依次由PAM模块调用

3、PAM认证的构成(了解)

第一列代表PAM认证模块类型

auth:对用户身份进行识别,如提示输入密码,判断是否为root。

:对账号各项属性进行检查,如是否允许登录系统,帐号是否已经过期,是否达到最大用户数等。

:使用用户信息来更新数据,如修改用户密码。

:定义登录前以及退出后所要进行的会话操作管理,如登录连接信息,用户数据的打开和关

第二列代表PAM控制标记

:表示需要返回一个成功值,如果返回失败,不会立刻将失败结果返回,而是继续进行同类型的下一验证,所有此类型的模块都执行完成后,再返回失败。

:与类似,但如果此模块返回失败,则立刻返回失败并表示此类型失败。

:如果此模块返回成功,则直接向程序返回成功,表示此类成功,如果失败,也不影响这类型的返回值。

:不进行成功与否的返回,一般不用于验证,只是显示信息(通常用于 类型)。

:表示在验证过程中调用其他的PAM配置文件。比如很多应用通过完整调用/etc/pam.d/-auth(主要负责用户登录系统的认证工作)来实现认证而不需要重新逐一去写配置项。

第三列代表PAM模块,默认是在/lib64//目录下,如果不在此默认路径下,要填写绝对路径。

同一个模块,可以出现在不同的模块类型中,它在不同的类型中所执行的操作都不相同,这是由于每个模块针对不同的模块类型编制了不同的执行函数。

第四列代表PAM模块的参数,这个需要根据所使用的模块来添加。

传递给模块的参数。参数可以有多个,之间用空格分隔开

(四)、限制使用su命令的用户

将允许使用su命令的用户加入wheel组

启用认证模块

[root@ ~]# -a chen wheel

正在将用户“chen”加入到“wheel”组中

[root@ ~]# chen

chen : chen wheel

[root@ ~]#vim /etc/pam.d/su (在这个文件里设置禁止用户使用su命令)

首先,圈出来的两行是默认状态,这种状态下是允许所有用户间使用su命令进行切换的, 而且root使用su普通用户就不需要输入密码

第二种情况,把两行都注释掉:

第三种情况:注释第一行,开启第二行:

第四种情况:第一行和第二行都开启:

由此可以得出四种情况的结果:

1、两行是默认状态(即开启第一行,注释第二行),这种状态下是允许所有用户间使用su命令进行切换的。

2、两行都注释也是运行所有用户都能使用su命令,但root下使用su切换到其他普通用户需要输入密码;如果第一行不注释,则root使用su切换普通用户就不需要输入密码(.so模块的主要作用是使uid为0的用户,即 root用户能够直接通过认证而不用输入密码。)

3、如果开启第一行和第二行,表示只有root用户和wheel组内的用户才可以使用su命令。

4、如果注释第一行,开启第二行,表示只有wheel组内的用户才能使用su命令,root用户也被禁用su命令。

三、使用sudo机制提升权限 (一)、配置sudo授权

命令:或者vi /etc/(此文件保存退出需要:wq!)

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

​ 用户 主机名=(用户) 命令程序列表

例:给chen这个用户加权限,除了和其他命令都可执行

下面说一下别名的设置:

(二)、启用sudo操作日志

需启用 配置

默认日志文件:/var/log/sudo

命令:或 vim /etc/

= “/var/log/sudo”!

四、开关机安全控制 (一)、调整BIOS引导设置

将第一引导设备设为当前系统所在硬盘

禁止从其他设备(光盘、U盘、网络)引导系统

将安全级别设为setup,并设置管理员密码

(二)、GRUB限制

开机页面按e键盘就会进入grub菜单,如果修改grub菜单内的配置,可能会导致系统开不了机,为了保护grub菜单,给进入grub菜单设置密码

下面看具体操作:

使用grub2--生成密钥

修改/etc/grub.d/文件中,添加密码记录

生成新的grub.cfg配置文件

(三)、禁止 root 用户登录

在 Linux 系统中,login 程序会读取/etc/ 文件,以决定允许 root 用户从哪些终端(安全终端)登录系统。

vi /etc/

#tty5

#tty6

进入tty界面按住ctrl+alt 和F1-6之间切换,比如我们禁用tty5和tty6

(四)、禁止普通用户登录

login 程序会检查/etc/ 文件是否存在,如果存在,则拒绝普通用户登录系统(root 用户不受限制)。

touch /etc/ #禁止普通用户登录

rm -rf /etc/ #取消登录限制

五、系统弱口令检测 (一)、Joth the ,简称为 JR

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

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

官方网站:

1、首先将准备好的john工具包通过直接拖到/opt目录下,并进行解压

2、安装软件编译工具,需要用到下面的三个工具,没安装的可以安装一下

yum -y gcc gcc-c++ make

3、切换到src目录下面进行编译安装

cd /opt/john-1.8.0/src

make clean linux-x86-64

4、准备待破解的密码文件,密码文件我们知道在/etc/里面,我们复制这个文件到opt目录下面,并命名

cp /etc/ /opt/.txt

5、这一步就是见证奇迹的时刻,执行暴露破解

cd /opt/john-1.8.0/run

./john /opt/.txt

#查看已破解出的账户列表

./john --show /opt/.txt

使用密码字典文件

john.pot #清空已破解出的账户列表,以便重新分析

./john --=./.lst /opt/.txt #使用指定的字典文件进行破解

五、网络端口扫描—NMAP (一)、NMAP

一款强大的网络扫描、安全检测工具

官方网站:

7.3光盘中安装包 nmap-6.40-7.el7..rpm

使用之前查一下是否安装:

rpm -qa | grep nmap

yum -y nmap

(二)、NMAP的扫描 (1) 、nmap

nmap [扫描类型] [选项]

NMap也就是 ,nmap是在网络安全渗透测试中经常会用到的强大的扫描器,功能之强大,不言而喻。下面介绍一下它的几种扫描命令

-p:指定扫描的端口。

-n:禁用反向 DNS 解析(以加快扫描速度)。

-sS:TCP的SYN扫描(半开扫描),只向目标发出SYN数据包,如果收到SYN/ACK响应包就认为目标端口正在监听,并立即断开连接;否则认为目标端口并未开放。

-sT:TCP连接扫描,这是完整的TCP扫描方式(默认扫描类型),用来建立一个TCP连接,如果成功则认为目标端口正在监听服务,否则认为目标端口并未开放。

-sF:TCP的FIN扫描,开放的端口会忽略这种数据包,关闭的端口会回应RST数据包。许多防火墙只对SYN数据包进行简单过滤,而忽略了其他形式的 TCP 攻击包。这种类型的扫描可间接检测防火墙的健壮性。

-sU:UDP 扫描,探测目标主机提供哪些 UDP 服务,UDP 扫描的速度会比较慢。

-sP:ICMP 扫描,类似于 ping 检测,快速判断目标主机是否存活,不做其他扫描。

-P0:跳过ping检测,这种方式认为所有的目标主机是存活的,当对方不响应ICMP请求时,使用这种方式可以避免因无法 ping 通而放弃扫描。

例:分别查看本机开放的TCP端口、UDP端口

nmap -sT 127.0.0.1

检测192.168.1.0/24网段有哪些主机提供HTTP服务

nmap -p 80 192.168.1.0/24

检测192.168.1.0/24网段有哪些存活主机,这个自己试一下

nmap -n -sP 192.168.1.0/24

(2)、

命令的功能是显示网络连接、路由表和网络接口信息,可以让用户得知目前都有哪些网络连接正在运作

该命令的一般格式为:

[选项]

常用命令选项:

-a:显示主机中所有活动的网络连接信息(包括监听、非监听状态的服务端口)。

-n:以数字的形式显示相关的主机地址、端口等信息。

-t:查看 TCP相关的信息。

-u:显示 UDP协议相关的信息。

-p:显示与网络连接相关联的进程号、进程名称信息(该选项需要 root 权限)。

-r:显示路由表信息。

-l:显示处于监听状态的网络连接及端口信息

例: -natp 查看正在运行的使用TCP协议的网络状态信息

网段有哪些存活主机,这个自己试一下

nmap -n -sP 192.168.1.0/24

(2)、

命令的功能是显示网络连接、路由表和网络接口信息,可以让用户得知目前都有哪些网络连接正在运作

该命令的一般格式为:

[选项]

常用命令选项:

-a:显示主机中所有活动的网络连接信息(包括监听、非监听状态的服务端口)。

-n:以数字的形式显示相关的主机地址、端口等信息。

-t:查看 TCP相关的信息。

-u:显示 UDP协议相关的信息。

-p:显示与网络连接相关联的进程号、进程名称信息(该选项需要 root 权限)。

-r:显示路由表信息。

-l:显示处于监听状态的网络连接及端口信息

例: -natp 查看正在运行的使用TCP协议的网络状态信息

-naup 查看正在运行的使用UDP协议的网络状态信息 -natup 查看正在运行的使用TCP和UDP协议的网

关于我们

最火推荐

小编推荐

联系我们


版权声明:本站内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 88@qq.com 举报,一经查实,本站将立刻删除。备案号:桂ICP备2021009421号
Powered By Z-BlogPHP.
复制成功
微信号:
我知道了