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

系统安全及应用学习笔记

系统安全及应用学习笔记

一、账号安全控制

(一)账户管理策略

  1. 冗余账户处理
    • 非登录账户:Linux 系统中默认存在如 bin、daemon 等非登录账户,其登录 Shell 应为 /sbin/nologin,需定期检查确保未被篡改。
    • 冗余账户清理:对于长期未使用或冗余账户(如 games),可直接删除;若无法确定是否删除,可使用usermod -L锁定账户,后续通过passwd -S查看状态。
    • 账户配置锁定:通过chattr +i锁定/etc/passwd/etc/shadow文件,防止非法修改账户信息,锁定后任何账户增删或属性变更操作将被拒绝。
  2. 密码策略管理
    • 有效期设置:通过chage命令限制密码最大使用天数,例如将用户 lisi 的密码有效期设为 30 天:chage -M 30 lisi,或全局修改/etc/login.defs中的PASS_MAX_DAYS参数。
    • 强制密码修改:使用chage -d 0强制用户下次登录时修改密码,如chage -d 0 zhangsan,用户登录后系统将提示必须更改密码。
  3. 会话安全配置
    • 历史命令限制:修改/etc/profile中的HISTSIZE变量,限制历史命令记录条数(如设为 200 条),并可在用户目录的.bash_logout中添加history -c,实现退出时自动清空历史命令。
    • 闲置超时注销:通过设置TMOUT变量(单位:秒)实现终端闲置超时自动注销,如export TMOUT=600设置超时时间为 10 分钟,执行关键操作时可通过unset TMOUT取消设置。

(二)用户权限管理

  1. su 命令安全控制
    • 切换用户功能su -命令用于切换用户并进入目标用户的登录环境,默认任何用户均可使用 su 命令,存在安全风险。
    • 权限限制:通过pam_wheel模块限制 su 使用权限,将允许使用 su 的用户加入 wheel 组(如gpasswd -a tsengyia wheel),并修改/etc/pam.d/su配置文件,启用pam_wheel.so use_uid认证,非 wheel 组成员尝试切换时将被拒绝。
  2. sudo 权限提升
    • 配置文件管理:通过visudo编辑/etc/sudoers文件,授权用户执行特定特权命令,格式为user MACHINE=COMMANDS。例如,授权用户 jerry 执行ifconfig命令:jerry localhost=/sbin/ifconfig,或允许 wheel 组无密码执行所有命令:%wheel ALL=NOPASSWD:ALL
    • 别名与通配符:使用User_AliasHost_AliasCmnd_Alias定义别名简化配置,支持通配符*和取反符号!。例如,授权用户 syrianer 执行 /sbin 目录下除ifconfigroute外的所有命令:syrianer localhost=/sbin/*, !/sbin/ifconfig, !/sbin/route
    • 日志记录:在/etc/sudoers中添加Defaults logfile="/var/log/sudo"启用 sudo 日志,记录用户执行的特权命令及时间。

二、系统引导和登录控制

(一)物理与引导安全

  1. BIOS 安全设置
    • 引导顺序锁定:将第一引导设备设为系统所在磁盘,禁用从光盘、U 盘、网络等外部设备引导,设置 BIOS 管理密码(安全级别设为 “setup”),防止未授权修改引导配置。
  2. GRUB 引导保护
    • 密码设置:使用grub2-mkpasswd-pbkdf2生成加密密码,修改/etc/grub.d/01_users文件添加用户和密码配置,重新生成grub.cfg文件后,用户修改 GRUB 引导参数需输入正确密码,避免未授权系统启动项修改。

(二)终端登录控制

  1. root 登录限制
    • 通过修改/etc/securetty文件,注释掉禁止 root 登录的终端(如 tty5、tty6),限制 root 用户仅从安全终端登录,降低误操作和密码泄露风险。
  2. 临时登录限制
    • 在服务器维护期间,创建/etc/nologin文件可禁止普通用户登录(root 用户不受限),维护完成后删除该文件或重启服务器即可恢复正常登录。

三、弱口令检测与端口扫描

(一)弱口令检测(John the Ripper)

  1. 工具安装
    • 从官网下载源码包(如 john-1.8.0.tar.gz),解压后进入 src 目录执行make clean linux-x86-64编译,编译完成后可在 run 目录找到可执行程序 john,无需额外安装,可直接复制使用。
  2. 检测操作
    • 直接检测:复制/etc/shadow文件到安全路径(如/root/shadow.txt),执行./john /root/shadow.txt进行暴力破解,破解结果实时输出,弱口令账户信息将显示在终端。
    • 字典攻击:使用--wordlist选项指定字典文件(如默认的 password.lst),例如./john --wordlist=./password.lst /root/shadow.txt,可提高破解效率,破解结果保存至 john.pot 文件,通过--show选项查看已破解账户。

(二)端口扫描(NMAP)

  1. 工具安装
    • 使用 YUM 安装:yum install -y nmap,安装完成后可在 /usr/bin/nmap 路径下找到扫描程序。
  2. 常用扫描类型
    • TCP SYN 扫描(-sS):半开扫描,发送 SYN 包探测端口状态,适用于隐蔽扫描,避免完整连接记录。
    • TCP 连接扫描(-sT):完整 TCP 三次握手,准确性高但易被日志记录,适用于非敏感环境。
    • UDP 扫描(-sU):探测 UDP 端口,速度较慢,需注意防火墙过滤规则。
    • ICMP 扫描(-sP):类似 ping 检测,快速判断主机存活状态,不进行端口扫描。
  3. 扫描示例
    • 本地端口扫描nmap 127.0.0.1扫描常用 TCP 端口,nmap -sU 127.0.0.1扫描 UDP 端口,结果中 “open” 表示端口开放,“filtered” 可能被防火墙过滤,“closed” 表示端口关闭。
    • 网段服务扫描nmap -p 21 192.168.4.0/24扫描指定网段内提供 FTP 服务(21 端口)的主机,快速定位目标服务。

四、总结

  • 核心目标:通过账户安全策略、引导登录控制、弱口令检测及端口扫描等技术,构建多层次系统安全防护体系,降低未授权访问、密码泄露、服务暴露等风险。
  • 实践要点:定期清理冗余账户、强化密码策略、限制特权操作、及时扫描检测弱口令和开放端口,结合日志分析持续优化系统安全状态。

相关文章:

系统安全及应用学习笔记

系统安全及应用学习笔记 一、账号安全控制 (一)账户管理策略 冗余账户处理 非登录账户:Linux 系统中默认存在如 bin、daemon 等非登录账户,其登录 Shell 应为 /sbin/nologin,需定期检查确保未被篡改。冗余账户清理&…...

STC89C52RC/LE52RC

STC89C52RC 芯片手册原理图扩展版原理图 功能示例LED灯LED灯的常亮效果LED灯的闪烁LED灯的跑马灯效果:从左到右,从右到左 数码管静态数码管数码管计数App.cApp.hCom.cCom.hDir.cDir.hInt.cInt.hMid.cMid.h 模板mian.cApp.cApp.hCom.cCom.hDir.cDir.hInt.…...

✨ PLSQL卡顿优化

✨ PLSQL卡顿优化 1.📂 打开首选项2.🔧 Oracle连接配置3.⛔ 关闭更新和新闻 1.📂 打开首选项 2.🔧 Oracle连接配置 3.⛔ 关闭更新和新闻...

yum命令常用选项

刷新仓库列表 sudo yum repolist清理 Yum 缓存并生成新的缓存 sudo yum clean all sudo yum makecache验证 EPEL 源是否已正确启用 sudo yum repolist enabled安装软件包 sudo yum install <package-name> -y更新软件包 sudo yum update -y仅更新指定的软件包。 su…...

python+vlisp实现对多段线范围内土方体积的计算

#在工程中&#xff0c;经常用到计算土方回填、土方开挖的体积。就是在一个范围内&#xff0c;计算土被挖走&#xff0c;或者填多少&#xff0c;这个需要测量挖填前后这个范围内的高程点。为此&#xff0c;我开发一个app&#xff0c;可以直接在autocad上提取高程点&#xff0c;然…...

鸿蒙Flutter实战:25-混合开发详解-5-跳转Flutter页面

概述 在上一章中&#xff0c;我们介绍了如何初始化 Flutter 引擎&#xff0c;本文重点介绍如何添加并跳转至 Flutter 页面。 跳转原理 跳转原理如下&#xff1a; 本质上是从一个原生页面A 跳转至另一个原生页面 B&#xff0c;不过区别在于&#xff0c;页面 B是一个页面容器…...

APM32小系统键盘PCB原理图设计详解

APM32小系统键盘PCB原理图设计详解 一、APM32小系统简介 APM32微控制器是国内半导体厂商推出的一款高性能ARM Cortex-M3内核微控制器&#xff0c;与STM32高度兼容&#xff0c;非常适合DIY爱好者用于自制键盘、开发板等电子项目。本文将详细讲解如何基于APM32 CBT6芯片设计一款…...

【C/C++】多线程开发:wait、sleep、yield全解析

文章目录 多线程开发&#xff1a;wait、sleep、yield全解析1 What简要介绍详细介绍wait() — 条件等待&#xff08;用于线程同步&#xff09;sleep() — 睡觉&#xff0c;定时挂起yield() — 自愿让出 CPU 2 区别以及建议区别应用场景建议 3 三者协作使用示例 多线程开发&#…...

uint8_t是什么数据类型?

一、引言 在C语言编程中&#xff0c;整数类型是最基本的数据类型之一。然而&#xff0c;你是否真正了解这些看似简单的数据类型&#xff1f;本文将深入探索C语言中的整数类型&#xff0c;在编程中更加得心应手。 二、C语言整数类型的基础 2.1 标准整数类型 C语言提供了多种…...

SystemUtils:你的Java系统“探照灯“——让环境探测不再盲人摸象

各位Java系统侦探们好&#xff01;今天要介绍的是Apache Commons Lang3中的SystemUtils工具类。这个工具就像编程界的"雷达系统"&#xff0c;能帮你一键获取所有系统关键信息&#xff0c;再也不用满世界找System.getProperty()了&#xff01; 一、为什么需要SystemU…...

对象存储(Minio)使用

目录 1.安装 MinIO&#xff08;Windows&#xff09; 2.启动minio服务&#xff1a; 3.界面访问 4.进入界面 5.前后端代码配置 1)minio前端配置 2&#xff09;minio后端配置 1.安装 MinIO&#xff08;Windows&#xff09; 官方下载地址&#xff1a;[Download High-Perform…...

yolov11使用记录(训练自己的数据集)

官方&#xff1a;Ultralytics YOLO11 -Ultralytics YOLO 文档 1、安装 Anaconda Anaconda安装与使用_anaconda安装好了怎么用python-CSDN博客 2、 创建虚拟环境 安装好 Anaconda 后&#xff0c;打开 Anaconda 控制台 创建环境 conda create -n yolov11 python3.10 创建完后&…...

历史数据分析——宁波港

个股走势 公司简介: 货物吞吐量和集装箱吞吐量持续保持全球港口前列。 经营分析: 码头开发经营、管理;港口货物的装卸、堆存、仓储、包装、灌装;集装箱拆拼箱、清洗、修理、制造、租赁;在港区内从事货物驳运,国际货运代理;铁路货物运输代理,铁路工程承建,铁路设备…...

知识宇宙:技术文档该如何写?

名人说&#xff1a;博观而约取&#xff0c;厚积而薄发。——苏轼《稼说送张琥》 创作者&#xff1a;Code_流苏(CSDN)&#xff08;一个喜欢古诗词和编程的Coder&#x1f60a;&#xff09; 目录 一、技术文档的价值与挑战1. 为什么技术文档如此重要2. 技术文档面临的挑战 二、撰…...

DeepSeek 赋能数字农业:从智慧种植到产业升级的全链条革新

目录 一、数字农业的现状与挑战二、DeepSeek 技术解析2.1 DeepSeek 的技术原理与优势2.2 DeepSeek 在人工智能领域的地位与影响力 三、DeepSeek 在数字农业中的应用场景3.1 精准种植决策3.2 病虫害监测与防治3.3 智能灌溉与施肥管理3.4 农产品质量追溯与品牌建设 四、DeepSeek …...

技嘉主板怎么开启vt虚拟化功能_技嘉主板开启vt虚拟化教程(附intel和amd开启方法)

最近使用技嘉主板的小伙伴们问我&#xff0c;技嘉主板怎么开启vt虚拟。大多数可以在Bios中开启vt虚拟化技术&#xff0c;当CPU支持VT-x虚拟化技术&#xff0c;有些电脑会自动开启VT-x虚拟化技术功能。而大部分的电脑则需要在Bios Setup界面中&#xff0c;手动进行设置&#xff…...

Java 并发编程高级技巧:CyclicBarrier、CountDownLatch 和 Semaphore 的高级应用

Java 并发编程高级技巧&#xff1a;CyclicBarrier、CountDownLatch 和 Semaphore 的高级应用 一、引言 在 Java 并发编程中&#xff0c;CyclicBarrier、CountDownLatch 和 Semaphore 是三个常用且强大的并发工具类。它们在多线程场景下能够帮助我们实现复杂的线程协调与资源控…...

PT5F2307触摸A/D型8-Bit MCU

1. 产品概述 ● PT5F2307是一款51内核的触控A/D型8位MCU&#xff0c;内置16K*8bit FLASH、内部256*8bit SRAM、外部512*8bit SRAM、触控检测、12位高精度ADC、RTC、PWM等功能&#xff0c;抗干扰能力强&#xff0c;适用于滑条遥控器、智能门锁、消费类电子产品等电子应用领域。 …...

矩阵方程$Ax=b$的初步理解.

对于矩阵方程 A x b A\textbf{\textit{x}}\textbf{\textit{b}} Axb&#xff0c;可能就是一学而过&#xff0c;也可能也就会做做题&#xff0c;但是从如何直观地理解它呢?   这个等式可以用多种理解方式&#xff0c;这里就从向量变换角度浅谈一下。其中的 A A A是矩阵&#…...

线性代数中的向量与矩阵:AI大模型的数学基石

&#x1f9d1; 博主简介&#xff1a;CSDN博客专家、CSDN平台优质创作者&#xff0c;高级开发工程师&#xff0c;数学专业&#xff0c;10年以上C/C, C#, Java等多种编程语言开发经验&#xff0c;拥有高级工程师证书&#xff1b;擅长C/C、C#等开发语言&#xff0c;熟悉Java常用开…...

[特殊字符] 使用增量同步+MQ机制将用户数据同步到Elasticsearch

在开发用户搜索功能时&#xff0c;我们通常会将用户信息存储到 Elasticsearch&#xff08;简称 ES&#xff09; 中&#xff0c;以提高搜索效率。本篇文章将详细介绍我们是如何实现 MySQL 到 Elasticsearch 的增量同步&#xff0c;以及如何通过 MQ 消息队列实现用户信息实时更新…...

LeetCode 2942.查找包含给定字符的单词:使用库函数完成

【LetMeFly】2942.查找包含给定字符的单词&#xff1a;使用库函数完成 力扣题目链接&#xff1a;https://leetcode.cn/problems/find-words-containing-character/ 给你一个下标从 0 开始的字符串数组 words 和一个字符 x 。 请你返回一个 下标数组 &#xff0c;表示下标在数…...

【mediasoup】MS_DEBUG_DEV 等日志形式转PLOG输出

输出有问题 MS_DEBUG_DEV("[pacer_updated pacing_kbps:%" PRIu32 ",padding_budget_kbps:%" PRIu32 "]",pacing_bitrate_kbps_,/*cc给出的目标码率 * 系数*/padding_rate_bps / 1000 /*设置值*/);...

打卡第27天:函数的定义与参数

知识点回顾&#xff1a; 1.函数的定义 2.变量作用域&#xff1a;局部变量和全局变量 3.函数的参数类型&#xff1a;位置参数、默认参数、不定参数 4.传递参数的手段&#xff1a;关键词参数 5.传递参数的顺序&#xff1a;同时出现三种参数类型时 作业&#xff1a; 题目1&a…...

python训练营day34

知识点回归&#xff1a; CPU性能的查看&#xff1a;看架构代际、核心数、线程数GPU性能的查看&#xff1a;看显存、看级别、看架构代际GPU训练的方法&#xff1a;数据和模型移动到GPU device上类的call方法&#xff1a;为什么定义前向传播时可以直接写作self.fc1(x) 作业 复习今…...

人工智能在医疗影像诊断上的最新成果:更精准地识别疾病

摘要&#xff1a;本论文深入探讨人工智能在医疗影像诊断领域的最新突破&#xff0c;聚焦于其在精准识别疾病方面的显著成果。通过分析深度学习、多模态影像融合、三维重建与可视化以及智能辅助诊断系统等关键技术的应用&#xff0c;阐述人工智能如何提高医疗影像诊断的准确性和…...

塔能节能平板灯:点亮苏州某零售工厂节能之路

在苏州某零售工厂的运营成本中&#xff0c;照明能耗占据着一定比例。为降低成本、提升能源利用效率&#xff0c;该工厂与塔能科技携手&#xff0c;引入塔能节能平板灯&#xff0c;开启了精准节能之旅&#xff0c;并取得了令人瞩目的成效。 一、工厂照明能耗困境 苏州该零售工厂…...

3DMAX插件UV工具UV Tools命令参数详解

常规: 打开UV工具设置对话框。 右键点击: 隐藏/显示主界面。 添加 为选定对象添加展开修改器。 将从下拉菜单中选择映射通道。 Ctrl+点击: 克隆任何当前的修饰符。 右键点击: 找到第一个未展开的修改器。 地图频道 设置展开映射通道。 Ctrl+Click:添加选定的映射通道的展开…...

Docker 与微服务架构:从单体应用到容器化微服务的迁移实践

随着软件系统规模和复杂性的日益增长,传统的单体应用(Monolithic Application)在开发效率、部署灵活性和可伸缩性方面逐渐暴露出局限性。微服务架构(Microservice Architecture)作为一种将大型应用拆分为一系列小型、独立、松耦合服务的模式,正成为现代企业构建弹性、敏捷…...

《岁月深处的童真》

在那片广袤而质朴的黄土地上&#xff0c;时光仿佛放慢了脚步&#xff0c;悠悠地流淌着。画面的中央&#xff0c;是一个扎着双髻的小女孩&#xff0c;她静静地伫立着&#xff0c;宛如一朵绽放在岁月缝隙中的小花。 小女孩身着一件略显陈旧的中式上衣&#xff0c;布料的纹理间似乎…...