系统安全及应用(命令)

目录

一、账号安全控制

1.1 系统账号清理

1.2 密码安全控制

1.3 历史记录控制

1.4 终端自动注销

二、系统引导和登陆控制

2.1 限制su命令用户

2.2 PAM安全认证

示例一:通过pam 模块来防止暴力破解ssh

2.3 sudo机制提升权限

2.3.1 sudo命令(root授权其他用户的命令权限)

2.3.2 配置sudo授权

示例一:基础的普通用户的用户创建

示例二:普通用户的建立网卡

示例三:alias用户别名***

示例四:启用sudo操作日志

2.4 开关机安全控制

2.4.1 调整BIOS引导设置

2.4.2 GRUB限制

方法一:

方法二:

2.4.3 终端登陆安全控制

三、弱口令检测

3.1 John the Ripper

示例一:无字典

示例二:有字典

四、端口扫描——NMAP

4.1 NMAP

4.2 NMAP扫描

示例一

​编辑


一、账号安全控制

1.1 系统账号清理

①将非登录用户的Shell设为/sbin/nologin

恢复

②锁定长期不使用的账号

③删除无用的账号

④锁定账号文件passwd、shadow

恢复

1.2 密码安全控制

①设置密码有效期

  • 新用户:

第一个:30天之后要修改密码

第二个:距离上一次修改密码时间0天之内不可修改

第三个:密码最小长度不小于5位

第四个:密码到期前七天会提醒

  • 老用户:

②要求用户下次登陆时修改密码

chage -d 0 用户名

1.3 历史记录控制

①减少记录的命令条数

在vi  /etc/profile中

②注销时自动清理历史命令

1.4 终端自动注销

二、系统引导和登陆控制

2.1 限制su命令用户

注意:对这两行添加注释,表示是否启用

第一行:root用户是否有使用su命令的权限

第五行:wheel组中的用户是否有使用su命令的权限

(启用pam_wheel 认证以后,未加入到 wheel 组内的其他用户将无法使用 su 命令)

例:

2.2 PAM安全认证

  • 定义:Linux-PAM,是linux可插拔认证模块,是一套可定制、 可动态加载的共享库,使本地系统管理员可以随意选择程序的认证方式
  • 原理:

       ①PAM认证一般遵循的顺序: Service (服务) --> PAM (配置文件) --> pam_ *.so
       ②PAM认证首先要确定哪一项应用服务,然后加载相应的PAM的配置文件(位于/etc/pam.d                   下),最后调用认证模块(位于/lib64/security/下)进行安全认证
       ③用户访问服务器的时候,服务器的某一个服务程序把用户的请求发送到PAM模块进行认                   证。不同的应用程序所对应的PAM模块也是不同的

注:ls /etc/pam.d:查看某个程序是否支持PAM 认证

第一列代表PAM认证模块类型

auth:           对用户身份进行识别,如提示输入密码,判断是否为root
account::    对账号各项属性进行检查,如是否允许登录系统,帐号是否已经过期,是否达到最                         大用户数等
password:  使用用户信息来更新数据,如修改用户密码。
session:      定义登录前以及退出后所要进行的会话操作管理,如登录连接信息,用户数据的打                          开和关闭,挂载文件系统。

第二列代表PAM控制标记

required:表示需要返回一个成功值,如果返回失败,不会立刻将失败结果返回,而是继续进行                      同类型的下一验证,所有此类型的模块都执行完成后,再返回失败

requisite:与required类似,但如果此模块返回失败,则立刻返回失败并表示此类型失败

sufficient:如果此模块返回成功,则直接向程序返回成功,表示此类成功,如果失败,也不影响                      这类型的返回值

optional::不进行成功与否的返回,一般不用于验证,只是显示信息(通常用于session类型),
include:   表示在验证过程中调用其他的PAM配置文件

比如很多应用通过完整调用/etc/pam.d/system-auth(主要负责用户登录系统的认证工作)

来实现认证而不需要重新逐一去写配置项。

第三列代表PAM模块

(默认是在/lib64/security/目录下,如果不在此默认路径下,要填写绝对路径)
同一个模块,可以出现在不同的模块类型中,它在不同的类型中所执行的操作都不相同,这是由于每个模块针对不同的模块类型编制了不同的执行函数。

第四列代表PAM模块的参数

这个需要根据所使用的模块来添加。传递给模块的参数。参数可以有多个,之间用空格分隔开
 

示例图演示:

用户1用户2用户3用户4
authrequired模块1passfailpasspass
authsufficient模块2passpassfailpass
authrequired模块3passpasspassfail
结果pass        failpasspass

示例一:通过pam 模块来防止暴力破解ssh

auth  required  pam_tally2.so   deny=3    unlock_time=600 even_deny_root root_unlock_time=1200

说明:尝试登陆失败超过3次,普通用户600秒解锁,root用户1200秒解锁

注解:

  • deny:指定最大几次认证错误,如果超出此错误,将执行后面的策略。如锁定N秒,如果后面没有其他策略指定时,默认永远锁定,除非手动解锁。
  • lock_time:锁定多长时间,按秒为单位;
  • unlock_time:指定认证被锁后,多长时间自动解锁用户;
  • even_deny_root root:用户在认证出错时,一样被锁定
  • root_unlock_time root:用户在登录失败时,锁定多长时间。该选项一般是配合even_deny_root 一起使用的

失败三次自动锁定

[root@fzx ~l# pam tally2 --user=root

Login                   Failures    Latest           failure                      From

root                      6               07/01/24        18:46:39                  192.17.20.66             

[root@benet22 ~l# pam tally2 --user=root --reset

Login                   Failures    Latest            failure                      From

root                      6               07/01/24        18:46:39                  192.17.20.66

2.3 sudo机制提升权限

2.3.1 sudo命令(root授权其他用户的命令权限)

sudo     [参数选项]     命令

  • -l:列出用户在主机上可用的和被禁止的命令;一般配置好/etc/sudoers后,要用这个命令来          查看和测试是不是配置正确的
  • -v:验证用户的时间戳;如果用户运行sudo 后,输入用户的密码后,在短时间内可以不用输           入口令来直接进行sudo 操作;用-v 可以跟踪最新的时间戳;
  • -u:指定以以某个用户执行特定操作;
  • -k:删除时间戳,下一个sudo 命令要求用求提供密码

2.3.2 配置sudo授权

示例一:基础的普通用户的用户创建

操作方法:直接在最后一行添加

注意:在其它用户用root用户通过sudo命令给的权限时

命令形式为:sudo 绝对路径 命令 参数 目标

示例二:普通用户的建立网卡

示例三:alias用户别名***

用处:当使用相同授权的用户较多,或者授权的命令较多时,可以采用集中定义的别名

示例四:启用sudo操作日志

最后用tail -f 加路径 进行动态观察

或者直接

2.4 开关机安全控制

2.4.1 调整BIOS引导设置

  • 将第一引导设备设为当前系统所在硬盘
  • 禁止从其他设备(光盘、U盘、网络)引导系统
  • 将安全级别设为setup,并设置管理员密码

2.4.2 GRUB限制

  • 使用grub2-mkpasswd-pbkdf2生成密钥
  • 修改/etc/grub.d/00 header文件中,添加密码记录
  • 生成新的grub.cfg配置文件
方法一:

方法二:

2.4.3 终端登陆安全控制

  • 限制root只在安全终端登录

       安全终端配置:/etc/securetty

  • 禁止普通用户登录

       建立/etc/nologin文件

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

三、弱口令检测

3.1 John the Ripper

  • 简称为 JR一款密码分析工具
  • 支持字典式的暴力破解通过对shadow文件的口令分析,可以检测密码强度
  • 官方双站:http://www.openwall.com/john/

示例一:无字典

  • 首先先上传压缩包

示例二:有字典

四、端口扫描——NMAP

4.1 NMAP

  • 一款强大的网络扫描、安全检测工具
  • 官方网站:http://nmap.org
  • CentOS 7.7光盘中安装包 nmap-6.40-7.el7.x86 64.rpm

4.2 NMAP扫描

nmap    [扫描类型]     [选项]

  • -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 通而放弃扫描


nmap -p 139,445 192.168.4.100-200  

//检测 IP 地址位于 192.168.4.100~200 的主机是否开启文件共享服务

注:

SYN(synchronous建立联机) 

ACK(acknowledgement 确认) 

PSH(push传送) 

FIN(finish结束) 

RST(reset重置) 

URG(urgent紧急)

Sequence number(顺序号码) 

Acknowledge number(确认号码)

端口的取值范围是:0-65535

示例一

补充:

永久禁PING:vim /etc/sysctl.conf

禁止:net.ipv4.icmp_echo_ignore_all = 1

启用:net.ipv4.icmp_echo_ignore_all = 0

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/39036.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java的日期类常用方法

Java_Date 第一代日期类 获取当前时间 Date date new Date(); System.out.printf("当前时间" date); 格式化时间信息 SimpleDateFormat simpleDateFormat new SimpleDateFormat("yyyy-mm-dd hh:mm:ss E); System.out.printf("格式化后时间" si…

【windows|012】光猫、路由器、交换机详解

🍁博主简介: 🏅云计算领域优质创作者 🏅2022年CSDN新星计划python赛道第一名 🏅2022年CSDN原力计划优质作者 ​ 🏅阿里云ACE认证高级工程师 ​ 🏅阿里云开发者社区专家博主 💊交流社…

windows USB 驱动开发-URB结构

通用串行总线 (USB) 客户端驱动程序无法直接与其设备通信。 相反,客户端驱动程序会创建请求并将其提交到 USB 驱动程序堆栈进行处理。 在每个请求中,客户端驱动程序提供一个可变长度的数据结构,称为 USB 请求块 (URB) ,URB 结构描…

ctfshow-web入门-命令执行(web75-web77)

目录 1、web75 2、web76 3、web77 1、web75 使用 glob 协议绕过 open_basedir&#xff0c;读取根目录下的文件&#xff0c;payload&#xff1a; c?><?php $anew DirectoryIterator("glob:///*"); foreach($a as $f) {echo($f->__toString(). ); } ex…

读书笔记-Java并发编程的艺术-第3章(Java内存模型)-第9节(Java内存模型综述)

3.9 Java内存模型综述 前面对Java内存模型的基础知识和内存模型的具体实现进行了说明。下面对Java内存模型的相关知识做一个总结。 3.9.1 处理器的内存模型 顺序一致性内存模型是一个理论参考模型&#xff0c;JMM和处理器内存模型在设计时通常会以顺序一致性内存模型为参照。…

ORB-SLAM2 安装编译运行(非 ROS)

安装编译 必备安装工具 主要包括 cmake 、 git 、 gcc 、 g gcc 的全称是 GNU Compiler Collection&#xff0c;它是由 GNU 推出的一款功能强大的、性能优越的 多平台编译器&#xff0c;是一个能够编译多种语言的编译器。最开始 gcc 是作为 C 语言的编译器&#xff08;GNU …

如何将等保2.0的要求融入日常安全运维实践中?

等保2.0的基本要求 等保2.0是中国网络安全领域的基本国策和基本制度&#xff0c;它要求网络运营商按照网络安全等级保护制度的要求&#xff0c;履行相关的安全保护义务。等保2.0的实施得到了《中华人民共和国网络安全法》等法律法规的支持&#xff0c;要求相关行业和单位必须按…

C#/WPF 自制白板工具

随着电子屏幕技术的发展&#xff0c;普通的黑板已不再适用现在的教学和演示环境&#xff0c;电子白板应运而生。本篇使用WPF开发了一个电子白板工具&#xff0c;功能丰富&#xff0c;非常使用日常免费使用&#xff0c;或者进行再次开发。 示例代码如下&#xff1a; Stack<St…

拓扑排序[讲课留档]

拓扑排序 拓扑排序要解决的问题是给一个有向无环图的所有节点排序。 即在 A O E AOE AOE网中找关键路径。 前置芝士&#xff01; 有向图&#xff1a;有向图中的每一个边都是有向边&#xff0c;即其中的每一个元素都是有序二元组。在一条有向边 ( u , v ) (u,v) (u,v)中&…

JavaScript 动态网页实例 —— 广告效果

广告是现代网页设计中不可或缺的内容。广告可以有很多种形式,但最终目的都是要吸引观众的注意力。尽管广告少不了画面、音效和广告语等效果,但其实现主要还是应用JavaScript 代码,只要很好掌握了JavaScript程序设计,剩下的就是创意和美工了。本章介绍几种广告效果,包括对联…

ChatGPT 官方发布桌面端,向所有用户免费开放

Open AI 官方已经发布了适用于 macOS 的 ChatGPT 桌面端应用。 此前&#xff0c;该应用一直处于测试阶段&#xff0c;仅 Plus 付费订阅用户可以使用。 目前已面向所有用户开放&#xff0c;所有 Mac 用户均可免费下载使用。 我们可以访问官网下载安装包&#xff1a;https://op…

Java利用poi实现word,excel,ppt,pdf等各类型文档密码检测

介绍 最近工作上需要对word,excel,ppt,pdf等各类型文档密码检测&#xff0c;对文件进行分类&#xff0c;有密码的和没密码的做区分。查了一堆资料和GPT都不是很满意&#xff0c;最后东拼西凑搞了个相对全面的检测工具代码类&#xff0c;希望能给需要的人带来帮助。 说明 这段…

PHP 爬虫之使用 Curl库抓取淘宝商品列表数据网页的方法

使用 PHP 的 cURL 库来抓取淘宝商品列表数据网页需要谨慎&#xff0c;因为淘宝等电商平台通常会有反爬虫机制&#xff0c;以防止数据被滥用。然而&#xff0c;如果你只是出于学习目的&#xff0c;并且了解并遵守了淘宝的robots.txt文件和相关的使用条款&#xff0c;你可以尝试使…

2024 年江西省研究生数学建模竞赛题目 B题投标中的竞争策略问题--完整思路、代码结果分享(仅供学习)

招投标问题是企业运营过程中必须面对的基本问题之一。现有的招投标平台有国家级的&#xff0c;也有地方性的。在招投标过程中&#xff0c;企业需要全面了解招标公告中的相关信息&#xff0c;在遵守招投标各种规范和制度的基础上&#xff0c;选择有效的竞争策略和技巧&#xff0…

基于JSP技术的校园餐厅管理系统

开头语&#xff1a; 你好呀&#xff0c;我是计算机学长猫哥&#xff01;如果您对校园餐厅管理系统感兴趣或有相关需求&#xff0c;欢迎随时联系我。我的联系方式在文末&#xff0c;期待与您交流&#xff01; 开发语言&#xff1a;Java 数据库&#xff1a;MySQL 技术&#x…

QT的编译过程

qmake -project 用于从源代码生成项目文件&#xff0c;qmake 用于从项目文件生成 Makefile&#xff0c;而 make 用于根据 Makefile 构建项目。 详细解释&#xff1a; qmake -project 这个命令用于从源代码目录生成一个初始的 Qt 项目文件&#xff08;.pro 文件&#xff09;。它…

Keil5中:出现:failed to execute ‘...\ARMCC\bin\ArmCC‘

点三个点&#xff0c;去自己的磁盘找自己的ARM\ARMCC\bin

深入解析:计算机系统总线全方位解读

在计算机组成原理中&#xff0c;总线系统是连接计算机各个部件的重要通道。本文将详细介绍系统总线的基本概念、分类、特性及性能指标、结构和控制方式。希望通过本文的讲解&#xff0c;能够帮助基础小白更好地理解计算机系统总线的工作原理。 系统总线 (System Bus) 系统总线…

查看视频时间基 time_base

时间基、codec, 分辨率&#xff0c;音频和视频的都一样&#xff0c;才可以直接使用ffmpeg -f concat -i file.txt 方式合并。 On Thu, Dec 03, 2015 at 21:54:53 0200, redneb8888 wrote: I am looking for a way to find the time base of a stream (video or audio), $ ffpr…

selenium 简介以及 selenium 环境配置

文章目录 一、初识 selenium1.selenium 简介2.selenium 三大组件3.selenium工作过程和原理4.selenium自动化测试流程5.selenium优点 二、自动化测试1.UI自动化本质2.UI自动化的前提3.适用场景4.UI自动化的原则5.UI自动化的覆盖率 三、selenium 环境配置 一、初识 selenium 1.s…