linux cpu占用率如何看
251
2022-11-05
Linux系统的安全与应用
@[TOC]
一、账号安全控制
1、账号安全管理的基本措施
1.系统账号清理
2.设置密码有效期
方法一
方法二
要求用户下次登录时更改密码
3.命令历史限制
4.终端自动注销
2.用户切换与提权
1.切换用户命令:su
root→任意用户,不验证密码 普通用户→其他用户,验证目标用户的密码
限制使用su命令切换用户
1)以上两行是默认状态(即开启第2行,注释第6行),==这种状态下是允许所有用户间使用su命令进行切换的。==
2)两行都注释也是运行所有用户都能使用su命令,但root下使用su切换到其他普通用户需要输入密码;如果第2行不注释,则root使用su切换普通用户就不需要输入密码( pam_rootok.so模块的主要作用是使uid为0的用户,即root用户能够直接通过认证而不用输入密码。)
3)如果开启第6行,表示只有root用户和wheel组内的用户才可以使用su命令。
4)如果注释第2行,开启第6行,表示只有whee1组内的用户才能使用su命令,root用户也被禁用su命令。
2.PAM安全认证
2.1.概念
LinuX-PAM,是linux可插拔认证模块,是一套可定制、可动态加载的共享库,使本地系统管理员可以随意选择程序的认证方式
2.2.概念2
PAM使用/etc/pam.d/下的配置文件,来管理对程序的认证方式。应用程序调用相应的PAM配置文件,从而调用本地的认证模块,模块放置在/lib64/security下,以加载动态库的形式进行认证。比如使用su命令时,系统会提示输入root用户的密码,这就是su命令通过调用PAM模块实现的
2.3.PAM认证原理
第二列代表PAM控制标记 |
|
---|---|
required: | 表示需要返回一个成功值,如果返回失败,不会立刻将失败结果返回,而是继续进行同类型的下一验证,所有此类型的模块都执行完成后,再返回失败。 |
requisite: | 与reguired类似,但如果此模块返回失败,则立刻返回失败并表示此类型失败。 |
sufficient: | 如果此模块返回成功,则直接向程序返回成功,表示此类成功,如果失败,也不影响这类型的返回值。 |
optional: | 不进行成功与否的返回,一 般不用于验证,只是显示信息(通常用于session 类型)。 |
include: | 表示在验证过程中调用其他的PAM配置文件。比如很多应用通过完整调用/etc/pam.d/system-auth(主要负责用户登录系统的认证工作)来实现认证而不需要重新逐一去写配置项。 |
第三列代表PAM模块
默认是在/1ib64/security/日录下,如果不在此默认路径下,要填写绝对路径。 同一个模块,可以出现在不同的模块类型中,它在不同的类型中所执行的操作都不相同,这是由于每个模块针对不同的模块类型编制了不同的执行丽数。.
第四列代表PAM模块的参数
这个需要根据所使用的模块来添加传递给模块的参数。参数可以有多个,之间用空格分隔开
2.5.控制标记的补充说明
required表示该行以及所涉及模块的成功是用户通过鉴别的【必要条件】。换句话说,只有当对应于应用程序的所有带required标记的模块全部成功后,该程序才能通过鉴别。同时,如果任何带required标记的模块出现了错误,PAM并不立刻将错误消息返回给应用程序,而是在所有此类型模块都调用完毕后才将错误消息返回调用他的程序。反正说白了,就是必须将所有的此类型模块都执行一次,其中任何一个模块验证出错,验证都会继续进行,并在执行完成之后才返回错误信息。这样做的目的就是不让用户知道自己被哪个模块拒绝,通过一种隐蔽的方式来保护系统服务。就像设置防火墙规则的时候将拒绝类的规则都设置为drop样,以致于用户在访问网络不成功的时候无法准确判断到底是被拒绝还是目标网络不可达。 requisite与required相仿,只有带此标记的模块返回成功后,用户才能通过鉴别。不同之处在于其一旦失败就不再执行堆中后面的其他模块,并且鉴别过程到此结束,同时也公立即返回错误信息。与上面的required相比,似乎要显得更光明正大一些。 sufficient表示该行以及所涉及模块验证成功是用户通过鉴别的【充分条件】。也就是说只要标记为sufficient的模块一旦验证成功,那么PAM便立即向应用程序返回成功结果而不必尝试任何其他模块。即便后面的层叠模块使用了requisite或者required控制标志也是一样。当标记为sufficient的模块失败时,sufficient模块会当做optional对待。因此拥有sufficient标志位的配置项在执行验证出错的时候并不公导致整个验证失败,但执行验证成功之时则大门敞开。所以该控制位的使用务必慎重。 optional他表示即便该行所涉及的模块验证失败用户仍能通过认证。在PAM体系中,带有该标记的模块失败后将继续处理下一模块。也就是说即使本行指定的模块验证失败,也允许用户享受应用程序提供的服务。使用该标志,PAM框架会忽略这个模块产生的验证错误,继续顺序执行下一个层叠模块。
2.6.PAM安全认证流程
required验证失败时仍然继续,但返回Fail requisite验证失败则立即结束整个验证过程,返回Fail sufficient验证成功则立即返回,不再继续,否则忽略结果并继续 optional不用于验证,只显示信息(通常用于session类型)
3.使用sudo机制提升权限
3.1 使用su命令的风险
默认情况下,任何用户都允许使用su命令,有机会反复尝试其他用户(如root)的登录密码,带来安全风险
3.2 sudo命令的用途及用法
用户: | 直接授权指定的用户名,或采用“%组名"的形式(授权一个组的所有用户) |
主机名: | 使用此规则的主机名。没配置过主机名时可用localhost,有配过主机名则用实际的主机名,ALL则代表所有主机 |
(用户): | 用户能够以何种身份来执行命令。此项可省略,缺省时以root用户的身份来运行命令 |
命令程序列表: | 允许授权的用户通过sudo方式执行的特权命令,需填写命令程序的完整路径,多个命令之间以逗号“,"进行分隔。ALL则代表系统中的所有命令 |
二、系统引导和登录控制
1.开关机安全控制
1.1调整BIOS引导设置
2.终端登录安全控制
2.1限制root只在安全终端登录
2.2禁止普通用户登录
三、网络扫描:NMAP
1.概念:
NMAP是一个强大的端口扫描类安全评测工具,支持ping扫描、多端口检测等多种技术
2.安装
3.常用的选项和扫描类型
-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通而放弃扫描 |
4.实例
四、控制台命令:netstat
1.netstat常用选项
-a | 显示主机中所有活动的网络连接信息(包括监听、非监听状态的服务端口) |
-n | 以数字的形式显示相关的主机地址、端口等信息 |
-t | 查看TCP协议相关的信息 |
-u | 显示UDP协议相关的信息 |
-p | 显示与网络连接相关联的进程号、进程名称信息(该选项需要root权限) |
-r | 显示路由表信息 |
-l | 显示处于监听状态的网络连接及端口信息 |
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~