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

Linux之系统安全与应用续章

目录

一. PAM认证

1.2 初识PAM

1.2.1 PAM及其作用

1.2.2 PAM认证原理

1.2.3 PAM认证的构成

1.2.4 PAM 认证类型

1.2.5 PAM 控制类型

二. limit

三. GRUB加密

        /etc/grub.d目录

四. 暴力破解密码

五. 网络扫描--NMAP

六. 总结


一. PAM认证

1.2 初识PAM

PAM是Linux系统可插拔认证模块。

1.2.1 PAM及其作用

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

2)PAM提供了对所有服务进行认证的中央机制,适用于本地登录,远程登录,如:telnet,rlogin,fsh,ftp,点对点协议PPP,su等应用程序中,系统管理员通过PAM配置文件来制定不同应用程序的不同认证策略。

3)系统管理员通过PAM配置文件来制定不同应用程序的不同认证策略。

1.2.2 PAM认证原理

(1)PAM认证一般遵循这样的顺序:Service(服务)→PAM(配置文件)→pam_*.so。

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

(3)用户访问服务器的时候,服务器的某一个服务程序把用户的请求发送到PAM模块进行认证。不同的应用程序所对应的PAM模块也是不同的。

如果我想查看某个程序是否支持PAM认证,可以使用ls命令进行查看。如图所示:

1.2.3 PAM认证的构成

每一行都是一个独立的认证过程; 
每一行可以区分为三个字段: 
认证类型

 控制类型

 PAM 模块及其参数 

1.2.4 PAM 认证类型

认证管理(authentication management):接受用户名和密码,进而对该用户的密码进行认证; 
帐户管理(account management):检查帐户是否被允许登录系统,帐号是否已经过 期,帐号的登录是否有时间段的限制等;
密码管理(password management):主要是用来修改用户的密码; 
会话管理(session management):主要是提供对会话的管理和记账。

1.2.5 PAM 控制类型

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

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

二. limit

功能:在用户级别实现对其可使用的资源的限制,例如:可打开的文件数量,可运行的进程数量,可用内存空间

修改限制的办法:

使用 ulimit 命令

ulimit是linux shell的内置命令,它具有一套参数集,用于对shell进程及其子进程进行资源限制。

ulimit的设定值是 per-process 的,也就是说,每个进程有自己的limits值。使用ulimit进行修改,立即生效。ulimit只影响shell进程及其子进程,用户登出后失效。当然可以在profile中加入ulimit的设置,变相的做到永久生效。(选项参考上图)。

三. GRUB加密

/etc/grub.d目录

定义每个菜单项的所有脚本都存放在/etc/grub.d目录中,这些脚本的名称必须有两位的数字前缀,其目的是构建GRUB 2菜单时定义脚本的执行顺序以及相应菜单项的顺序,比如00_header文件首先被读取。

文件

描述

00_header

设置grub默认参数

10_linux

系统中存在多个linux版本

20_ppc_terminfo

设置tty控制台

30_os_prober

设置其他分区中的系统(硬盘中有多个操作系统时设置)

40_custom和41_custom

用户自定义的配置

由于GRUB 2负责引导linux系统,其作为系统中的第一道屏障的安全性非常重要,对GRUB 2进行加密可以实现安全性。

在默认情况下,GRUB 2对所有可以在物理上进入控制台的人都是可访问的。任何人都可以选择并编辑任意菜单项,并且可以直接访问GRUB命令行。要启用认真支持,必须将环境变量超级用户设置为一组用户名(可以使用空格、逗号、分号作为分隔符)这样就只允许超级用户使用GRUB命令行、编辑菜单项以及执行任意菜单项。

GRUB 2密码支持以下两种格式

  • 明文密码:密码数据没有经过加密,安全性差

  • PBKDF2加密密码:密码经过PBKDF2哈希算法进行加密,在文件中存储的是加密后的密码数据,安全性较高。

先要使用grub2-mkpasswd-pbkdf2命令生成PBKDF2加密口令,然后在/etc/grub.d/00_header文件中添加超级用户和PBKDF2加密口令,最后使用grub2-mkconfig命令生成grub配置文件。

四. 暴力破解密码

弱口令检测一 -John the Ripper.
John the Ripper是一-款开源的密码破解工具,可使用密码字典(包含各种密码组合的列表文件)来进行暴力破解。

对于密码的暴力破解,字典文件很关键。只要字典文件足够完整,密码破解只是时间上的问题。

五. 网络扫描--NMAP

NMAP是一个强大的端口扫描类安全评测工具,支持ping扫描,多端口检测,OS识别等多种技术。使用NMAP定期扫描内部网络,可以找出网络中不可控的应用服务,及时关闭不安全的服务,减小安全风险。不过使用前记得需要安装。

NMAP的扫描程序位于/usr/bin/nmap下,使用时的基本命令格式如下:

nmap  [扫描类型]  [选项]  <扫描目标...>

扫描目标可以是主机名,IP地址或网段等,多个目标以空格隔开;扫描类型决定着检测的方式,也直接影响到扫描的结果。

nmap命令常用的选项和描类型

-p

指定扫描的端口。

-n

禁用反向DNS解析(以加快扫描速度) ip转换成 域名  12222 2www.baidu.com      

-sS

断开连接;否则认为目标端口并未开放。

-sT

TCP连接扫描,这是完整的TCP扫描方式(默认扫描类型),用来建立一个TCP连接,如果成功则认为目标端口正在监听服务,否则认为目标端口并未开放。

-sF

TCP的FIN扫描,开放的端口会忽略这种数据包,关闭的端口会回应RST数据包。许多防火墙只对sYN数据包进行简单过滤,而忽略了其他形式的TCP攻击包。这种类型的扫描可间接检测防火墙的健壮性。

-sU

UDP扫描,探测目标主机提供哪些UDP服务,UDP扫描的速度会比较慢。

-sP

ICMP 扫描,类似于ping检测,快速判断目标主机是否存活,不做其他扫描。

-P0

跳过ping检测, 这种方式认为所有的目标主机是存活的,当对方不响应ICMP请求时,使用这种方式可以避免因无法ping通而放弃扫描。

六. 总结

系统安全加固方案

  • 1)设置复杂密码
  • 2)设置密码策略
  • 3)对密码强度进行设置
  • 4) 对用户的登录次数进行限制
  • 5)禁止root用户远程登录
  • 6)更改ssh端口
  • 7)安全组关闭没必要的端口
  • 8)设置账户保存历史命令条数,超时时间
  • 9)定期查看查看系统日志

  • 10)定期备份数据

相关文章:

Linux之系统安全与应用续章

目录 一. PAM认证 1.2 初识PAM 1.2.1 PAM及其作用 1.2.2 PAM认证原理 1.2.3 PAM认证的构成 1.2.4 PAM 认证类型 1.2.5 PAM 控制类型 二. limit 三. GRUB加密 /etc/grub.d目录 四. 暴力破解密码 五. 网络扫描--NMAP 六. 总结 一. PAM认证 1.2 初识PAM PAM是Linux系…...

《HTML 简易速速上手小册》第7章:HTML 多媒体与嵌入内容(2024 最新版)

文章目录 7.1 在HTML中嵌入视频和音频7.1.1 基础知识7.1.2 案例 1&#xff1a;嵌入视频文件7.1.3 案例 2&#xff1a;嵌入音频文件7.1.4 案例 3&#xff1a;创建一个视频和音频混合的播放列表 7.2 使用 <iframe> 嵌入外部内容7.2.1 基础知识7.2.2 案例 1&#xff1a;嵌入…...

【CSS】移动端适配

移动端适配怎么做&#xff1f; 适配的目的是在屏幕大小不同的终端设备拥有统一的界面&#xff0c;让拥有更大屏幕的终端展示更多的内容。 meta viewport (视口) 移动端初始视口的大小默认是980px&#xff0c;因为世界上绝大多数PC网页的版心宽度为980px &#xff0c;如果网页…...

DFS剪枝算法经典题目-挑选

4954. 挑选 - AcWing题库 给定一个包含 n 个正整数 a1,a2,…,an的集合。 集合中可能存在数值相同的元素。 请你从集合中挑选一些元素&#xff0c;要求同时满足以下所有条件&#xff1a; 被选中元素不少于 2 个。所有被选中元素之和不小于 l 且不大于 r。所有被选中元素之中最大…...

考研经验总结——考试期间

文章目录 一、订房二、看考场三、休息四、考前带宾馆的书五、安全 一、订房 我刚刚看了看&#xff0c;是9.10号订的酒店。你们可以提前向学长学姐打听你的考场在哪个学校&#xff08;徐州的考生&#xff0c;考省外的学校是在矿大考试&#xff0c;考省内的学校是在江师大&#…...

vue3 源码解析(6)— lifecycle 生命周期的实现

前言 对于 vue3 的生命周期&#xff0c;我们经常性会去疑问&#xff0c;生命周期有哪些呢&#xff0c;它是怎么去实现的&#xff0c; 又是什么时候调用的。 vue3 生命周期有哪些 下面这个表格列出了所有选项式api生命周期钩子和组合式api生命周期钩子&#xff0c;以及他们的…...

three.js CSS2DRenderer、CSS2DObject渲染HTML标签

有空的老铁关注一下我的抖音&#xff1a; 效果&#xff1a; <template><div><el-container><el-main><div class"box-card-left"><div id"threejs" style"border: 1px solid red;position: relative;"><…...

SECS/GEM300和半导体e84控制器

SECS&#xff08;SEMI EQUIPMENT COMMUNICATIONS STANDARD 2&#xff09;半导体设备通讯标准 GEM&#xff08;Generic Equipment Model&#xff09;定义了Fab中各个场景下设备行为及其所使用SECS消息。 GEM300也称为300mm标准&#xff0c;FAB是12寸设备的处理作业规范。主要包…...

k8s二进制及负载均衡集群部署详解

目录 常见部署方式 二进制部署流程 环境准备 操作系统初始化配置 关闭防火墙 配置SELinux 关闭SWAP 根据规划设置主机名 在master添加hosts&#xff0c;便于主机名解析 调整内核参数 配置时间同步 部署docker引擎 在所有node节点部署docker引擎 部署etcd集群 签发…...

【Django开发】0到1开发美多商城项目第3篇:用户注册业务实现(附代码,已分享)

本系列文章md笔记&#xff08;已分享&#xff09;主要讨论django商城项目相关知识。项目利用Django框架开发一套前后端不分离的商城项目&#xff08;4.0版本&#xff09;含代码和文档。功能包括前后端不分离&#xff0c;方便SEO。采用Django Jinja2模板引擎 Vue.js实现前后端…...

免费的ppt网站分享

前言 相信大学生们深有体会&#xff0c;对于学校而言&#xff0c;好像是任何活动都需要我们做ppt&#xff0c;当你拿着自己辛苦做的ppt去展示现场的时候&#xff0c;你看到别人的ppt比你的还好&#xff0c;此时心情就是毙&#xff0c;当你知道人家不过是仅仅的1个小时不到就完成…...

基于Transformer结构的扩散模型综述

&#x1f380;个人主页&#xff1a; https://zhangxiaoshu.blog.csdn.net &#x1f4e2;欢迎大家&#xff1a;关注&#x1f50d;点赞&#x1f44d;评论&#x1f4dd;收藏⭐️&#xff0c;如有错误敬请指正! &#x1f495;未来很长&#xff0c;值得我们全力奔赴更美好的生活&…...

POI操作word表格,添加单元格,单元格对齐方法(不必合并单元格)

添加单元格&#xff0c;直接对row进行create新的cell&#xff0c;则会导致新创建的单元格与前面的单元格不对齐的现象。 //表格信息XWPFTable table doc.createTable();table.setWidth("100%");//第一行XWPFTableRow row0table.getRow(0);XWPFTableCell cell00row0.…...

maven代码规范检查(checkstyle、findbugs)

maven代码规范检查 前言一、使用checkstyle插件1. maven-checkstyle-plugin 介绍2. 接入方式3. 如何排除某个类、包下面的文件不进行检查使用suppressionsLocation 4. 如何关闭 二、使用findbugs插件1.findbugs-maven-plugin介绍2. 接入方式3. 如何排除某个类、包下面的文件不进…...

妙用Java反射,让代码更加优雅

最近在改公司项目bug&#xff0c;需要修改别人的代码。在读别人的源码时感觉到反射真的是能够极大的提高代码的优雅性&#xff0c;在某些特定场景能极大的简化代码的编写。因此写了这篇文章用以记录分享。 我们先还原一下场景&#xff0c;在做数据展示的时候&#xff0c;需要处…...

实习日志10

1.用户信息 1.1.在用户管理中编辑用户信息 1.2.绑定公司id 1.3.显示在页面 2.修改识别逻辑 2.1.分析 先识别&#xff0c;再判断&#xff0c;清空键把识别结果清空 2.2.写码 修改了发票识别逻辑&#xff0c;略... 3.接高拍仪 3.1.js引入报错 分析&#xff1a; 遇到的错误…...

配置alias(设置别名@)

Vite配置alias需要两步进行&#xff08;TS项目&#xff09; 1、修改vite.config.ts&#xff08;让程序支持&#xff09;2、修改tsconfig.json&#xff08;让编辑器支持&#xff09;修改vite.config.ts import { defineConfig } from vite import path from path ​ function…...

【动态规划】【数学】1388. 3n 块披萨

作者推荐 【动态规划】【字符串】【表达式】2019. 解出数学表达式的学生分数 本文涉及知识点 动态规划汇总 LeetCode1388 3n 块披萨 给你一个披萨&#xff0c;它由 3n 块不同大小的部分组成&#xff0c;现在你和你的朋友们需要按照如下规则来分披萨&#xff1a; 你挑选 任…...

CS144--Chapter0--wsl2+docker环境搭建

我的笔记本配置 荣耀magicbook16&#xff0c;容量是500G&#xff0c;芯片是R7-5800 由于笔记本容量较小&#xff0c;因此考虑这个方案&#xff0c;对于台式机用户&#xff0c;建议可以直接用虚拟机或者双系统。 前言 斯坦福官网给出的方法是用他们的镜像&#xff08;基于Ubu…...

MGRE实验报告二

实验要求&#xff1a; 实验预览图&#xff1a; 实验分析&#xff1a; 1、对R1-R5配置IP地址&#xff0c;同时R1-R5每个路由器各有一个环回 2.1、对R1、R3、R4路由器开启虚拟接口1&#xff0c;分别配置隧道IP、接口封装协议&#xff0c;接口类型、定义封装源、开启伪广播功能&…...

CANN/pypto CODEGEN组件错误码

CODEGEN 组件错误码 【免费下载链接】pypto PyPTO&#xff08;发音: pai p-t-o&#xff09;&#xff1a;Parallel Tensor/Tile Operation编程范式。 项目地址: https://gitcode.com/cann/pypto 范围&#xff1a;F6XXXX本文档说明 CODEGEN 组件的错误码定义、场景说明与排…...

解锁Midjourney大画幅秘密:3步实现电影级宽幅输出(含17组实测--ar 16:9至32:9全适配prompt模板)

更多请点击&#xff1a; https://codechina.net 第一章&#xff1a;Midjourney大画幅输出的核心原理与视觉范式 Midjourney的大画幅输出并非简单缩放像素&#xff0c;而是基于其扩散模型对高维潜在空间的结构化采样与语义一致性重合成。其核心依赖于隐式超分辨率&#xff08;I…...

2026免费在线去水印软件怎么选?实测5款推荐+功能对比指南

为什么需要去水印工具&#xff1f; 在内容创作和日常使用中&#xff0c;水印是版权保护的重要标志&#xff0c;但有时我们需要处理自己拥有版权的内容或进行合法的编辑操作。无论是整理自己的工作素材、编辑设计稿&#xff0c;还是去除合法获取内容上的平台标记&#xff0c;都需…...

卡梅德生物技术快报|噬菌体随机肽库筛选实战:花生过敏原 Ara h 5 模拟表位鉴定全流程

摘要本文面向生物研发、体外诊断、蛋白质工程开发者&#xff0c;系统讲解噬菌体随机肽库筛选过敏原模拟表位完整工程化流程&#xff1a;从问题分析、实验设计、关键参数到结果验证&#xff0c;提供可复现技术方案&#xff0c;基于真实研究数据&#xff0c;聚焦高可靠性表位筛选…...

焦度计的柱镜值是怎么算出来的

项目一直卡在柱镜值的准确性和重复性这里&#xff0c;柱镜值究竟要怎么写代码才能算出来啊?...

终极QR码修复指南:如何用QrazyBox免费恢复损坏的二维码

终极QR码修复指南&#xff1a;如何用QrazyBox免费恢复损坏的二维码 【免费下载链接】qrazybox QR Code Analysis and Recovery Toolkit 项目地址: https://gitcode.com/gh_mirrors/qr/qrazybox 你是否曾遇到过重要的二维码因为打印模糊、水渍污染或物理磨损而无法扫描&a…...

Re: Linux系统篇(十八)进程篇·三:深度硬核!全面起底 Linux 进程状态变化与内核链表动态解绑

◆ 博主名称&#xff1a; 晓此方-CSDN博客 大家好&#xff0c;欢迎来到晓此方的博客。 ⭐️Linux系列个人专栏&#xff1a; 【主题曲】Linux ⭐️此方的GitHub&#xff1a; github_此方 ⭐️Re系列专栏&#xff1a;我们思考 (Rethink) 我们重建 (Rebuild) 我们记录 (Record…...

Zed与VSCode争议背后真相:性能瓶颈到底是谁的锅

别被骗了&#xff01;Zed比VS Code快&#xff1f;真正的原因让你哭笑不得&#xff01;本文深入分析开发者社区对Zed编辑器与VS Code的争议&#xff0c;澄清性能瓶颈的真相在于语言服务器协议(LSP)而非编辑器本身&#xff0c;揭示Zed真正的优势在于原生Vim模式和架构简洁性&…...

(良心整理)亲测靠谱的AI论文网站,毕业生收藏备用

毕业季论文写作真的这么难吗&#xff1f;选题卡壳、文献翻不完、写不下去、查重过不了、格式总不对…… 这份亲测靠谱的AI论文工具合集&#xff0c;涵盖中英文写作、全流程辅助和专项功能&#xff0c;免费和高性价比都有&#xff0c;从开题到定稿全程帮你搞定&#xff0c;毕业生…...

第十章:什么是Agentic AI?——让AI从“回答问题“到“替你办事“

难度级别:★★★★☆ | 预计阅读时间:15分钟 你将学到:Agentic AI的核心能力、技术架构、主流框架对比、PM选型决策框架、以及如何设计一个AI Agent系统 引言:从"工具"到"代理"的跨越 一个真实的痛点 某科技公司的研究员小王,每天需要花3小时完成以…...