目录
1、限制su命令用户
默认情况下,如何用户都允许使用su命令,从而与机会反复尝试其他用户的登录密码,这样带来了安全风险。为了加强su命令的使用控制,可以借助于pam_wheel认证模块只允许极个别用户使用 su 命令进行切换。实现过程如下:将授权使用 su 命令 的用户添加到 wheel 改/etc/pam.d/su 认证配置以启用 pam_wheel 认证。
- oot→任意用户,不验证密码
- 普通用户→其他用户,验证目标用户的密码
- 借用pam_wheel命令来限制用户su命令进行切换
- 将授权使用su命令的用户添加到whell组
在/etc/pam.d/su文件里设置禁止用户使用su命令
vim /etc/pam.d/su
2 #auth sufficient pam_rootok.so
6 #auth required pam_wheel.so use_uid
- 以上两行是默认状态(即开启第一行,注释第二行),这种状态下是允许所有用户间使用su命令进行切换的。
- 两行都注释也是运行所有用户都能使用su命令,但root下使用su切换到其他普通用户需要输入密码如果第一行不注释,则root使用su切换普通用户就不需要输入密码(pam rootok.so模块的主要作用是使uid为0的用户,即root用户能够
- 如果开启第二行,表示只有root用户和wheel组内的用户才可以使用su命令
- 如果注释第一行,开启第二行,表示只有whee1组内的用户才能使用su命令,root用户也被禁用su命令。
2、安全PAM安全认证
1. PAM认证原理
1.PAM认证一般遵循的顺序: Service(服务)-->PAM(配雪文件)--> pam_ *.so;
2.PAM认证首先要确定哪一项应用服务,然后加载相应的PAM的配管文件(位于/etc/pam.d 下),最后调用认证模块(位于/lib64/security/ 下)进行安全认证。
3.用户访问服务器的时候,服务器的某一个服务程序把用户的请求发送到PAM模块进行认证。不同的应用程序所对应的PAM模块也是不同的。
2.PAM认证类型
- 认证管理
- 接受用户名和密码,进而对该用户的密码进行认证
- 账户管理
- 检查账户是否被允许登录系统,账号是否已经过期,账号的登录是否有时间段的限制
- 密码管理
- 主要用来修改用户的密码
- 会话管理
- 主要是提供对会话的管理和记账
3.PAM控制类型
- required验证失败时仍然继续,但返回Fail
- requisite验证失败则立即结束整个验证过程,返回Fail
- sufficien验证成功则立即返回,不再显示,否则忽略结果并继续
- optional不用于验证,只是显示信息(通常用于session类型)
3、sudo机制提示权限
1.sudo机制介绍:
默认情况下,任何用户都允许使用su命令,有机会反复尝试其他用户的登录密码,带来安全风险
2,标准格式
用户/组名称 主机名=(提权的权限身份-root)赋权的使用命令(要以绝对路径的方式来写)--可以为多个
3,sudo参数选项命令/配置sudo授权
visudo 或者vi /etc/sduers
用户 | 直接授权指定的用户名,或采用“组名"的形式(权一个组的所有用户) |
主机名 | 使用此规则的主机名。没配置过主机名时可用localhost,有配过主机名则用实际的主机名,ALL则代表所有主机 |
(用户) | 用户能够以何种身份来执行命令。此项可省略,缺省时以root用户的身份来运行命令 |
命令程序列表 | 允许授权的用户通过sudo方式执行的特权命令,需填写命令程序的完整路径,多个命令之间以逗号 "," 进行分隔。ALL则代表系统中的所有命令 |
用户可以创建临时网卡
进入visudo,给zhangsan用户添加ifconfig权限
4、终端登录安全控制
- 限制root只在安全终端登录
- 禁止普通用户登录 当服务器正在进行备份或调试等维护工作时,可能不希望再有新的用户登录系统。这时候,只需要简单地建立/etc/nologin 文件即可。login 程序会检查/etc/nologin 文件是否存在, 如果存在,则拒绝普通用户登录系统(root 用户不受限制)。
- touch /etc/nologin #除root以外的用户不能登录了。
- 此方法实际上是利用了 shutdown 延迟关机的限制机制,只建议在服务器维护期间临时 使用。当手动删除/etc/nologin 文件或者重新启动主机以后,即可恢复正常。
touch /etc/nologin 禁止普通用户登录
rm -rf /etc/nologin 取消上述登录限制
5、网络端口扫描nmap
- NMAP是一个强大的端口扫描类安全评测工具,支持ping扫描,多端口检查等多种技术
- 安装nmap
检测192.168.88.0/24网段有哪些主机提供服务
检测192.168.88.0/24有哪些存活主机
6、nestat命令
查看当前操作系统的网络连接状态,路由表,接口统计等信息,他是了解网络状态及排除网络服务故障的有效工具
1.输出信息
netstat的输出结果可以分为两个部分
- Active Internet connections 有源TCP连接,其中"Recv-Q"和"Send-Q"指接收队列和发送队列。这些数字一般都应该是0。如果不是则表示软件包正在队列中堆积。这种情况只能在非常少的情况见到。
- Active UNIX domain sockets 有源Unix域套接口(和网络套接字一样,但是只能用于本机通信,性能可以提高一倍)。
列名解释:
- Proto:显示连接使用的协议。
- RefCnt:表示连接到本套接口上的进程号。
- Types:显示套接口的类型。
- State:显示套接口当前的状态。
- Path:表示连接到套接口的其它进程使用的路径名。
2.常用选项
-a | 显示主机中所有活动的网络连接信息(包括监听、非监听状态的服务端口) |
-n | 以数字的形式显示相关的主机地址、端口等信息 |
-t | 查看TCP协议相关的信息 |
-u | 显示UDP协议相关的信息 |
-p | 显示与网络连接相关联的进程号、进程名称信息(该选项需要root权限) |
-r | 显示路由表信息 |
-l | 显示处于监听状态的网络连接及端口信息 |