当前位置: 首页 > news >正文

Linux---系统安全

文章目录

  • 系统安全
    • 系统账号清理
    • 密码安全控制
    • 命令历史限制
    • 终端自动注销
      • 如设置时间短的处理方式
    • 使用su命令切换用户
      • 用途及用法
      • 密码验证
      • 限制使用su命令的用户
      • 查看su操作记录
      • 限制使用su命令的用户
      • 查看su操作记录
      • su命令的安全隐患
    • PAM(Pluggable Authentication Modules)可插拔式认证模块
      • PAM认证原理
      • 查看某个程序是否支持PAM认证,可以用Is命令
      • 查看su的PAM配置文件:cat /etc/pam.d/su
      • 控制类型也称做Control Flags用于PAM验证类型的返回结果
    • sudo命令的用途及用法
      • 配置sudo授权
      • 查看sudo操作记录
      • 查询授权的sudo操作
    • 限制root只在安全终端登录
      • 禁止普通用户登录
    • 网络扫描-----NMAP

系统安全

系统账号清理

将非登录用户的Shell设为/sbin/nologin
usermod -s /sbin/nologin 用户名锁定长期不使用的账号
usermod -L用户名
passwd -l用户名
passwd -S 用户名删除无用的账号
userdel [-r]用户名锁定账号文件passwd、shadow
chattr +i/etc/passwd /etc/shadow
lsattr /etc/passwd /etc/shadow		#锁定文件并查看状态
chattr -i/etc/passwd /etc/shadow	#解锁文件

密码安全控制

  • 设置密码有效期
  • 要求用户下次登录时修改密码
vi /etc/login.defs	#修改密码配置文件,适用于新建用户chage -M 30 lisi	#适用于已有用户
cat /etc/shadow grep lisichage -d 0 zhangsan		#强制在下次登录时更改密码
cat /etc/shadow | grep zhangsan	#shadow文件中的第三个字段被修改为0

命令历史限制

  • 减少记录的命令条数
  • 登录时自动清空命令历史
vi /etc/profile
export HISTSIZE=200source /etc/profilevi ~/.bashrc
echo"">~/.bash history	#当前用户

终端自动注销

闲置600秒后自动注销

vi /etc/profile
export TMOUT=600source /etc/profile

如设置时间短的处理方式

另一台虚拟机
scp /etc/profile root@时间过短的虚拟机的IP:/etc/profile

使用su命令切换用户

用途及用法

用途:Substitute User,切换用户
格式:su -目标用户

密码验证

root→任意用户,不验证密码	带-选项表示将使用目标用户的登录Shell环境
普通用户→其他用户,验证目标用户的密码
su - root
whoami

限制使用su命令的用户

  • 将允许使用su命令的用户加入wheel组
  • 启用pam wheel认证模块

PAM 系统相关的认证权限管理

Linux 系统中较为全面的安全管理的程序

gpasswd -a tsengyia wheelvi /etc/pam.d/su
#%PAM-1.0
auth		sufficient pam rootok.so
auth		required pam wheel.so use uid

查看su操作记录

安全日志文件:/var/log/secure

限制使用su命令的用户

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

启用pam wheel认证模块

查看su操作记录

安全日志文件:/var/log/secure

su命令的安全隐患

  • 默认情况下,任何用户都允许使用su命令,有机会反复尝试其他用户(如root)的登录密码,带来安全风险
  • 为了加强su命令的使用控制,可借助于PAM认证模块只允许极个别用户使用su命令进行切换

PAM(Pluggable Authentication Modules)可插拔式认证模块

  • 是一种高效而且灵活便利的用户级别的认证方式
  • 也是当前Linux服务器普遍使用的认证方式

PAM认证原理

  • 一般遵循的顺序

    Service(服务)→PAM(配置文件)→pam *.so

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

  • 用户访问服务器时,服务器的某一个服务程序把用户的请求发送到PAM模块进行认证

  • 不同的应用程序所对应的PAM模块是不同的

1、su——》service 服务

2、加载PAM配置文件——-》/etc/pam.d/su

3、/lib64/security——->配置帮助进行安全认证生效应用完成的过程

查看某个程序是否支持PAM认证,可以用Is命令

查看su是否支持PAM模块认证
ls /etc/pam.d | grep su

查看su的PAM配置文件:cat /etc/pam.d/su

每一行都是一个独立的认证过程
每一行可以区分为三个字段
认证类型
控制类型
PAM模块及其参数

控制类型也称做Control Flags用于PAM验证类型的返回结果

  1. required验证失败时仍然继续,但返回Fail
  2. requisite验证失败则立即结束整个验证过程,返回Fail
  3. sufficient验证成功则立即返回,不再继续,否则忽略结果并继续
  4. optional不用于验证,只显示信息(通常用于session类型)

sudo命令的用途及用法

用途:以其他用户身份(如root)执行授权的命令

用法:sudo 授权命令

配置sudo授权

visudo或者vi /etc/sudoers

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

visudo%wheel		ALL=NOPASSWD: ALL			#可以使用通配符*取反符号!
jerry		localhost=/sbin/ifconfig
syrianer	localhost=/sbin/*,!/sbin/ifconfig,!/sbin/route
Cmnd Alias	PKGTOOLS=/bin/rpm,/usr/bin/yum
mike		localhost=PKGTOOLS

查看sudo操作记录

需启用 Defaults logfile配置

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

visudo
Defaults logfile = "/var/log/sudo"

查询授权的sudo操作

sudo -l

限制root只在安全终端登录

vi /etc/securetty
#tty5
#tty6
禁止root用户从终端tty5、tty6登录

禁止普通用户登录

建立/etc/nologin文件

删除nologin文件或重启后即恢复正常

touch /etc/nologin		禁止普通用户登录
rm -rf /etc/nologin		取消上述登录限制

网络扫描-----NMAP

NMAP 是一个强大的端口扫描类安全评测工具,支持 ping 扫描、多端口检测等多种技术。

#一台虚拟机安装 NMAP 软件包
rpm -qa | grep nmap
yum install -y nmap#另一台虚拟机安装 httpd 软件包
yum install -y httpd
systemctl stop firewalld
setenforce 0
systemctl start httpd
systemctl enable httpdnetstat -natp   查看正在运行的使用TCP协议的网络状态信息
netstat -naup   查看正在运行的使用UDP协议的网络状态信息#分别查看本机开放的TCP端口、UDP端口
nmap -sT 127.0.0.1
nmap -sU 127.0.0.1#检测192.168.4.0/24网段有哪些主机提供HTTP服务
nmap rp 80 192.168.4.0/24#检测192.168.4.0/24网段有哪些存活主机
nmap -n -sP 192.168.4.0/24nmap命令常用的选项和扫描类型
-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 通而放弃扫描。

相关文章:

Linux---系统安全

文章目录 系统安全系统账号清理密码安全控制命令历史限制终端自动注销如设置时间短的处理方式 使用su命令切换用户用途及用法密码验证限制使用su命令的用户查看su操作记录限制使用su命令的用户查看su操作记录su命令的安全隐患 PAM(Pluggable Authentication Modules)可插拔式认…...

手写数字识别实战

全部代码: import matplotlib.pyplot import torch from torch import nn # nn是完成神经网络相关的一些工作 from torch.nn import functional as F # functional是常用的一些函数 from torch import optim # 优化的工具包import torchvision from matplotlib …...

二叉树遍历

二叉树的遍历是二叉树操作中的一个基本且重要的概念,它指的是按照一定的规则访问二叉树中的每个节点,并且每个节点仅被访问一次。常见的二叉树遍历方式有四种:前序遍历(Pre-order Traversal)、中序遍历(In-…...

uni app 调用前置摄像头

uniapp开发app并没有相关Api调用前置摄像头。只能使用5app的api 调用前置摄像头拍照 plus.camera.getCamera(index) 获取需要操作的摄像头对象,如果要进行拍照或摄像操作,需先通过此方法获取摄像头对象 index指定要获取摄像头的索引值,1表…...

哈工大李治军老师OS课程笔记(4)——内存管理

一 内存使用与分段(实验六) 内存是如何用起来的? 内存使用:将程序放在内存中,PC指向开始地址 重定位:修改程序中的地址(是相对地址) 什么时候完成重定位? 编译时加基址…...

代码随想录算法训练营第43天:动态规划part10:子序列问题

300.最长递增子序列 力扣题目链接(opens new window) 给你一个整数数组 nums ,找到其中最长严格递增子序列的长度。 子序列是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3,6,2…...

传智教育引通义灵码进课堂,为技术人才教育学习提效

7 月 17 日,阿里云与传智教育在阿里巴巴云谷园区签署合作协议,双方将基于阿里云智能编程助手通义灵码在课程共建、品牌合作及产教融合等多个领域展开合作,共同推进 AI 教育及相关业务的发展,致力于培养适应未来社会需求的高素质技…...

企业信息化建设搞得好了叫系统工程,搞不好叫面子工程

2024-06-13 09:26贝格前端工场...

程序员如何平衡日常编码工作与提升式学习?

在快速变化的编程领域中,平衡日常编码工作与个人成长确实是一个重要且富有挑战性的议题。以下是我对这一问题的看法和建议: 1. 认识到平衡的重要性 首先,理解两者之间的平衡并非零和游戏,而是相辅相成的。高效的编码工作能够为个…...

Linux---文件系统和日志分析

文章目录 文件系统和日志分析inode和block概述inode包含文件的元信息用stat命令可以查看某个文件的inode信息Linux系统文件三个主要的时间属性 目录文件的结构用户通过文件名打开文件时,系统内部的过程查看inode号码的方法硬盘分区后的结构访问文件的简单流程inode的…...

MySQL 体系架构

文章目录 一. MySQL 分支与变种1. Drizzle2. MariaDB3. Percona Server 二. MySQL的替代1. Postgre SQL2. SQLite 三. MySQL 体系架构1.连接层2 Server层(SQL处理层)3. 存储引擎层1)MySQL官方存储引擎概要2)第三方引擎3&#xff0…...

跨站脚本攻击漏洞

1.JavaScript JavaScript 是一种脚本,一门编程语言,它可以在网页上实现复杂的功能,网页展现给你的不再是简单的静态信息,而是实时的内容更新,交互式的地图,2D/3D动画,滚动播放的视频等等。 &a…...

RabbitMQ入门与进阶

RabbitMQ入门与进阶 基础篇1. 为什么需要消息队列?2. 什么是消息队列?3. RabbitMQ体系结构介绍4. RabbitMQ安装5. HelloWorld6. RabbitMQ经典用法(工作模式)7. Work Queues8. Publish/Subscribe9. Routing10. Topics 进阶篇1. RabbitMQ整合SpringBoot2. 消息可靠性投递故障情…...

Unity新输入系统 之 InputActions(输入配置文件)

本文仅作笔记学习和分享,不用做任何商业用途 本文包括但不限于unity官方手册,unity唐老狮等教程知识,如有不足还请斧正​ 首先你应该了解新输入系统的基本单位Unity新输入系统 之 InputAction(输入配置文件最基本的单位&#xff0…...

Linux运维篇-误删/bin,/sbin目录怎么修复系统

这里写自定义目录标题 前言实例挂载镜像,重启系统进入救援模式拷贝镜像系统中的/bin和/sbin目录到原系统重启系统 总结 前言 当你看到这篇文章的时候,你的系统可能已经无法登录,或者正在处于登录状态但是不能执行任何常规的命令,…...

构建高效外贸电商系统的技术探索与源码开发

在当今全球化的经济浪潮中,外贸电商作为连接国内外市场的桥梁,其重要性日益凸显。一个高效、稳定、功能全面的外贸电商系统,不仅能够助力企业突破地域限制,拓宽销售渠道,还能提升客户体验,增强品牌竞争力。…...

Java设计模式:中介者模式详解与最佳实践

Java设计模式:中介者模式详解与最佳实践 1. 引言 在软件开发过程中,特别是复杂系统的构建中,模块间的交互往往成为影响代码质量的重要因素。当模块之间耦合度过高时,系统的维护、扩展和理解成本都会显著增加。为了降低模块之间的…...

Matlab绘制像素风字母颜色及透明度随机变化动画

本文是使用 Matlab 绘制像素风字母颜色及透明度随机变化动画的教程 实现效果 实现代码 如果需要更改为其他字母组合,在下面代码的基础上简单修改就可以使用。 步骤:(1) 定义字母形状;(2) 给出字母组合顺序;(3) 重新运行程序&#…...

C:每日一题:二分查找

1、知识介绍: 1.1 概念: 二分查找是一种在有序数组中查找某一特定元素的搜索算法 1.2 基本思想: 每次将待查找的范围缩小一半,通过比较中间元素与目标元素的大小,来决定是在左半部分还是右半部分继续查找。 举个生…...

python Django中使用ORM进行分组统计并降序排列

python Django中使用ORM进行分组统计并降序排列 # 使用supplier和Count进行分组统计,其中supplier为MyModel的一个字段 supplier_counts MyModel.objects.values(supplier).annotate(countCount(supplier)).order_by(-count) # 输出统计结果 for supplier_count in supplier_…...

Sutton《苦涩的教训》早已预言:一切**人工精巧设计的专用智能系统**,终将被算力与数据驱动的通用范式无情取代

《The Bitter Lesson》《苦涩的教训》3条极简核心背诵版 人类总爱把领域知识、手工设计、精巧架构塞进AI,短期有用,长远全没用。AI 历史规律:通用规模化(算力数据大模型)永远碾压 人工定制智能小系统。未来趋势&#x…...

OpenArk:Windows系统安全检测的终极完整解决方案指南 [特殊字符]️

OpenArk:Windows系统安全检测的终极完整解决方案指南 🛡️ 【免费下载链接】OpenArk The Next Generation of Anti-Rookit(ARK) tool for Windows. 项目地址: https://gitcode.com/GitHub_Trending/op/OpenArk OpenArk是一款强大的Windows开源反R…...

大型语言模型开发的环境成本与优化策略

1. 语言模型开发的环境成本全景图当我们惊叹于ChatGPT流畅的对话能力或Midjourney惊人的图像生成质量时,很少有人会思考这些AI能力背后的环境代价。事实上,大型语言模型的开发正悄然成为数字时代的"高碳产业"——训练一个130亿参数的模型所产生…...

GPU渲染管线ROP单元优化与体积渲染性能提升

1. GPU渲染管线中的ROP单元深度解析在图形渲染管线中,Render Output Unit(ROP)扮演着至关重要的角色。作为渲染流程的最后阶段,ROP负责执行深度测试(Z-Test)、模板测试(Stencil Test&#xff09…...

《软件工程实务》课程学习心得:从理论到实践的蜕变之旅

《软件工程实务》课程学习心得:从理论到实践的敏捷蜕变 关键词:软件工程、敏捷开发、Scrum、微服务、DevOps、Codeup、能源管理系统 可在该链接内学习相关内容: https://www.bilibili.com/ 一、写在前面 本学期我修读了《软件工程实务》课程&…...

【负荷预测】基于LSTM-KAN的负荷预测研究附Python代码

✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、程序设计科研仿真。🍎完整代码获取 定制创新 论文复现点击:Matlab科研工作室👇 关注我领取海量matlab电子书和数学建模资料 &#x1f3…...

Java 注解底层原理、组合注解实现与 AOP 协同机制全解析

Java 注解底层原理与 AOP 协同工作机制 系统性总结 本文严格基于 Java 注解底层原理及 AOP 结合使用的核心技术论述,对知识点进行系统性梳理、重组与优化。全文遵循元注解构建组合注解 → 注解编译与运行底层机制 → 注解AOP 协同工作原理 → 实战问题与解决方案的逻…...

告别Windows桌面混乱:NoFences桌面分区工具终极指南

告别Windows桌面混乱:NoFences桌面分区工具终极指南 【免费下载链接】NoFences 🚧 Open Source Stardock Fences alternative 项目地址: https://gitcode.com/gh_mirrors/no/NoFences 你是否每天都要在堆积如山的桌面图标中寻找需要的应用&#x…...

从丰田SUA事件看安全关键系统软件可靠性:设计原则与工程实践

1. 项目概述:当软件缺陷成为致命威胁我干了十多年嵌入式开发,从单片机玩到复杂的汽车域控制器,经手的代码行数自己都数不清了。但每次看到“软件缺陷导致车辆突然加速”这类新闻,后背还是会发凉。这行干久了,你会对代码…...

别再被格式拖后腿了!Paperxie 用这招让本科论文排版一步到 “校标”

paperxie-免费查重复率aigc检测/开题报告/毕业论文/智能格式排版/文献综述/AI PPThttps://www.paperxie.cn/format/typesettinghttps://www.paperxie.cn/format/typesetting 你有没有过这种经历:导师只改了一句 “格式不对,重排”,你对着 Wor…...