系统安全及应用

一、账号安全基本措施

1.1 系统账号清理

  • 将系统设置成无法登录
  • 锁定账户
  • 删除账户
  • 锁定账户密码

1.1.1 将系统设置成无法登录

[root@localhost ~ ] # tail /etc/passwd # 查看lisi的属性

[root@localhost ~ ] # chsh -s /sbin/nologin lisi # 修改lisi的shell属性

[root@localhost ~ ] # tail -1 /etc/passwd # 查看lisi的属性

1.1.2 锁定账户

[root@localhost ~ ] # passwd -l zhaosi 锁定用户zhaosi的密码

[root@localhost ~ ] # su zhangsan 切换用户为zhangsan

[zhangsan@localhost ~ ] # su zhaosi 鉴定故障zhaosi

[root@localhost ~ ] # passwd -u zhaosi 解锁用户zhaosi的密码

1.1.3 删除用户

格式:userdel -r 用户名

1.1.4 锁定配置文件

chattr

| 选项 | 功能 |
| -a | 追加文件或目录 |

-i 不得任意更改文件或目录

1.2 切换用户

格式:su [options...] [-] [user [args...]]

切换用户的方式:

su UserName:非登录式切换,即不会读取目标用户的配置文件,不改变当前工作目录,即不完全切换

su - UserName:登录式切换,会读取目标用户的配置文件,切换至自已的家目录,即完全切换

说明:root切换至其他用户无须密码;非root用户切换时需要密码

su和su - 的区别

su - 这个选项切换的更加彻底;而su这个选项只能切换一部分

限制使用su命令的用户

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

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

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

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

1.3 PAM安全认证

PAM提供了对所有服务进行认证的中央机制,适用于本地登录,远程登录。

[root@localhost ~ ] # rpm -qi pam 查看当前系统pam

[root@localhost ~ ] # rpm -ql pam 查看当前模块

1.3.1 PAM相关文件
  • 包名: pam
  • 模块文件目录:/lib64/security/*.so
  • 特定模块相关的设置文件:/etc/security/
  • man 8 + 模块名 可以查看帮助
  • 应用程序调用PAM模块的配置文件
  1. 主配置文件:/etc/pam.conf,默认不存在,一般不使用主配置

  2. 为每种应用模块提供一个专用的配置文件:/etc/pam.d/APP_NAME

  3. 注意:如/etc/pam.d存在,/etc/pam.conf将失效

1.3.2 PAM工作原理

PAM认证的顺序:Service(服务)→PAM(配置文件)→pam_*.so

1.3.3 专门配置文件/etc/pam.d/格式

格式:type control module-path arguments

type:指模块类型

control :PAM库该如何处理与该服务相关的PAM模块的成功或失败情况,一个关键词实现

module-path: 用来指明本模块对应的程序文件的路径名

Arguments: 用来传递给该模块的参数

模块类型

Auth 账号的认证和授权

  • Account 帐户的有效性,与账号管理相关的非认证类的功能
  • Password 用户修改密码时密码复杂度检查机制等功能
  • Session 用户会话期间的控制

Control

required 一票否决 如果失败,一定失败,但是会继续运行验证

requisite 一票否决 如果失败会立即结束验证,同时反馈失败

sufficient 验证成功则立即返回,暴露再继续,否则忽略结果并继续

第三列代表PAM模块

认是在/lib64/security/目录下,如果不在此默认路径下,要填写绝对路径。

每一行可以区分为三个字段: 认证类型 控制类型 PAM 模块及其参数

PAM 认证类型包括四种:

  1. 认证管理
  2. 账户管理
  3. 密码管理
  4. 会话管理
1.3.4 Shell模块

作用:规定检查shell,pam_shells 只允许 规定的shell类型通过,而且它是在/etc/shells 文件中存在的。

命令:man pam_shells。

1.3.5 pam_nologin.so模块

如果/etc/nologin文件存在,将导致非root用户不能登陆,当该用户登陆时,会显示/etc/nologin文件内容,并拒绝登陆。

此模块对ssh登录有效,但不影响su登录

1.3.6 limit

在用户级别实现对其可使用的资源的限制。

| 选项 | 功能 |
| -H | 设置硬件资源,一旦设置无法添加 |
| -S | 设置软件资源,可以添加但不能超过硬件资源 |
| -a | 显示当前所有的limit信息 |
| -c | 最大的core文件大小,单位为blocks |
| -d | 进程最大的数据段,单位为Kbytes |
| -f | 最大创建的文件量,单位为blocks |
| -l | 最大可枷锁内存的大小,单位为Kbytes |
| -m | 最大内存,单位为Kbytes |
| -n | 最大文件描述符数量 |
| -p | 管道缓冲区大小,单位为Kbytes |
| -s | 线程栈大小,单位为Kbytes |
| -t | 最大CPU占用时间,单位为秒 |
| -u | 用户最大可用进程数 |

-v 进程可用最大的虚拟内存,单位为Kbytes

1.4 sudo

允许系统管理员让普通用户执行一些或者全部的root命令的一个工具,udo使一般用户不需要知道超级用户的密码即可获得权限。

配置文件格式说明:/etc/sudoers,/etc/sudoers.d/

1.4.1 别名

sudo别名有四种类型:

User_Alias(用户)

Runas_Alias(代表用户)

Host_Alias(登录主机)

Cmnd_Alias(命令)

注意:别名格式必须大写字母,数字可以使用但是不能放在开头

相关推荐
bluetata1 小时前
【云计算网络安全】解析 Amazon 安全服务:构建纵深防御设计最佳实践
安全·web安全·云计算·aws·亚马逊云科技
Red Red7 小时前
网安基础知识|IDS入侵检测系统|IPS入侵防御系统|堡垒机|VPN|EDR|CC防御|云安全-VDC/VPC|安全服务
网络·笔记·学习·安全·web安全
2401_857610038 小时前
SpringBoot社团管理:安全与维护
spring boot·后端·安全
弗锐土豆10 小时前
工业生产安全-安全帽第二篇-用java语言看看opencv实现的目标检测使用过程
java·opencv·安全·检测·面部
HackKong11 小时前
小白怎样入门网络安全?
网络·学习·安全·web安全·网络安全·黑客
打码人的日常分享11 小时前
商用密码应用安全性评估,密评整体方案,密评管理测评要求和指南,运维文档,软件项目安全设计相关文档合集(Word原件)
运维·安全·web安全·系统安全·规格说明书
爱吃奶酪的松鼠丶11 小时前
Web安全之XSS攻击的防范
安全·web安全·xss
东莞梦幻网络科技软件开发公司11 小时前
开发体育赛事直播平台防止数据泄露的技术安全方案
经验分享·安全
vmlogin虚拟多登浏览器11 小时前
虚拟浏览器可以应对哪些浏览器安全威胁?
服务器·网络·安全·跨境电商·防关联
澜世11 小时前
2024小迪安全基础入门第三课
网络·笔记·安全·网络安全