linux高级篇基础理论五(用户安全,口令设置,JR暴力破解用户密码,NMAP端口扫描)

♥️作者:小刘在C站

♥️个人主页: 小刘主页 

♥️不能因为人生的道路坎坷,就使自己的身躯变得弯曲;不能因为生活的历程漫长,就使求索的 脚步迟缓。

♥️学习两年总结出的运维经验,以及思科模拟器全套网络实验教程。专栏:云计算技术

♥️感谢CSDN让你我相遇!

运维人员辛苦和汗水总结的干货理论希望对你有所帮助

目录

用户安全

1、系统账户清理

2、密码的安全控制:

3、命令历史限制:

4、字符终端自动注销:

5、su命令:

6、suod命令:

7、限制root用户只能在安全终端登录

8、禁止普通用户登录

JR软件:

1.下载并安装John the Ripper

2.检测弱口令账号

3.使用密码字典文件

NMAP软件:

NMAP扫描类型:


用户安全

1、系统账户清理

(1)将非登录用户的shell设为/sbin/nologin
    useradd  -s   /sbin/nologin 用户名
    usermod -s   /sbin/nologin 用户名
(2)锁定长期不使用的账户
    usermod  -L   用户名
    passwd   -l   用户名
    解锁:    usermod    -U   用户名
            passwd    -u    用户名
(3)删除无用的账户
    userdel     -r    用户
(4)锁定账号文件passwd,shadow
    锁定:chattr    +i    /etc/passwd  /etc/shadow
    查看:   lsattr     /etc/passwd   /etc/shadow
    解锁:chattr    -i    /etc/passwd   /etc/shadow

2、密码的安全控制:

(1)设置密码有效期:
修改/etc/login.defs文件:适用于新建用户
PASS_MAX_DAYS  9999                 //修改本行后数字
chage  -M   数字  用户:    适用于已有用户
(2)用户下次登录修改密码
chage   -d     0    用户

3、命令历史限制:

减少记录的命令条数:/etc/profile
HISTSIZE=1000              // 最后执行脚本   . /etc/profile
清空命令历史:history     -c

4、字符终端自动注销:

修改 vim   ~/.bash_profile
export    TMOUT=600                           //(秒)

5、su命令:

用于切换用户
语法: su - 用户名
密码验证规则:
        root用户切换到任意用户,不验证密码
        普通用户切换到任意其他用户,验证目标用户的密码
su的日志文件:/var/log/secure


6、suod命令:

提示权限(以root用户身份执行授权命令)
语法:sudo   授权命令
配置sudo授权:
    visudo   或  vi   /etc/sudoers
    语法格式:   用户名      主机名列表=命令程序;列表
查看sudo所给用户的权限:sudo    -l
sudo的日志文件:/var/log/sudo

7、限制root用户只能在安全终端登录

    vim   /etc/securetty

tty1--表示图形终端(Ctrl+alt+f1)
tty2--tty6表示字符终端(Ctrl+alt+f2-f6)

8、禁止普通用户登录

禁止:touch  /etc/nologin
取消:rm  -rf  /etc/nologin


JR软件:

1.下载并安装John the Ripper

是一款密码分析工具,支持暴力破解,将检测密码强度。John the Ripper的官方网站是http:/www.openwall.com/john/,通过该网站可以获取稳定版源码包,如john-1.8.0.tar.gz。
以源码包john-1.8.0.tr.gz为例,解压后可看到三个子目录一doc、run、src,分别表示手册
文档、运行程序、源码文件,除此之外还有一个链接的说明文件README。其中,doc目录下包括
README、INSTALL、EXAMPLES等多个文档,提供了较全面的使用指导。

切换到src子目录并执行“make clean linux--x86-64”命令,即可执行编译过程。若单独执行
mke命令,将列出可用的编译操作、支持的系统类型。编译完成以后,run子目录下会生成一个名为john的可执行程序。

John the Ripper不需要特别的安装操作,编译完成后的run子目录中包括可执行程序john及相关
的配置文件、字典文件等,可以复制到任何位置使用。

2.检测弱口令账号

在安装有John the Ripper的服务器中,可以直接对/etc/shadow文件进行检测。对于其他Linux服务器,可以对shadow文件进行复制,并传递给john程序进行检测。只需执行run目录下的john程
序,将待检测的shadow文件作为命令行参数,就可以开始弱口令分析了。

在执行过程中,分析出来的弱口令账号将即时输出,第一列为密码字串,第二列的括号内为相
应的用户名(如用户kadmin的密码为“123456")。默认情况下,john将针对常见的弱口令设置特点,
尝试破解已识别的所有密文字串,如果检测的时间太长,可以按C+C组合键强行终止。破解出的
密码信息自动保存到john.pot文件中,可以结合“--show”选项进行查看。

3.使用密码字典文件

对于密码的暴力破解,字典文件的选择很关键。只要字典文件足够完整,密码破解只是时间上
的问题。因此,“什么样的密码才足够强壮”取决于用户的承受能力,有人认为超过72小时仍无法
破解的密码才算安全,也可能有人认为至少暴力分析一个月仍无法破解的密码才足够安全。
John the Ripper默认提供的字典文件为password.lst,其列出了3OO0多个常见的弱口令。如果有
必要,用户可以在字典文件中添加更多的密码组合,也可以直接使用更加完整的其他字典文件。执
行john程序时,可以结合“--wordlist==”选项来指定字典文件的位置,以便对指定的密码文件进行
暴力分析。

从上述结果可以看出,由于字典文件中的密码组合较少,因此仅破解出其中四个账号的口令。
也不难看出,像“123456”   “iloveyou”之类的密码有多脆弱了。


NMAP软件:

是一款强大的网络扫描,安全检测 VB你们不能

NMAP扫描类型:

-sS,TCP SYN扫描(半开扫描):只向目标发出SYN数据包,如果收到SYN/ACK响应包
就认为目标端口正在监听,并立即断开连接;否则认为目标端口并未开放

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

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

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

-sP,ICP扫描:类似于pig检测,快速判断目标主机是否存活,不做其他扫描。

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

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

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

相关文章

linux中利用fork复制进程,printf隐藏的缓冲区,写时拷贝技术,进程的逻辑地址与物理地址

1.prinf隐藏的缓冲区 1.思考:为什么会有缓冲区的存在? 2.演示及思考? 1).演示缓存区没有存在感 那为什么我们感觉不到缓冲区的存在呢?我们要打印东西直接就打印了呢? 我们用代码演示一下: 比如打开一个main.c,输入内容如下: #include <stdio.h>int main(){printf…

知云文献翻译——外语论文你get了吗?

今天博主分享一款实用的翻译软件&#xff0c;希望对大家日后的学习有所帮助。这个翻译网站&#xff0c;主要做文档翻译&#xff0c;可以上传PDF、Word、Excel这些格式&#xff0c;翻译语言也比较齐全。操作简单&#xff0c;功能多样的翻译软件;知云文献翻译最新版可以直接对PDF…

Linux:详解(yum的使用、vim编辑器命令集合以及gcc/g++编译器的使用)

Linux 软件包管理器 yum 什么是软件包&#xff1a; 在Linux下安装软件, 一个通常的办法是下载到程序的源代码, 并进行编译, 得到可执行程序. 但是这样太麻烦了, 于是有些人把一些常用的软件提前编译好, 做成软件包(可以理解成windows上的安装程序)放在一个服务器上, 通…

[解决] 问题:ImportError: cannot import name ‘Callable‘ from ‘collections‘

问题 我在运行yolov8的代码时&#xff0c;出现了ImportError: cannot import name Callable from collections的错误 原因 版本问题:以下collections的方法都在Python3.10版本后被取消了 ["Awaitable", "Coroutine", "AsyncIterable", "A…

Web(5)Burpsuite之文件上传漏洞

1.搭建网站&#xff1a;为网站设置没有用过的端口号 2.中国蚁剑软件的使用 通过一句话木马获得权限 3.形象的比喻&#xff08;风筝&#xff09; 4.实验操作 参考文章&#xff1a; 文件上传之黑名单绕过_文件上传黑名单绕过_pigzlfa的博客-CSDN博客 后端验证特性 与 Window…

一起学docker系列之四docker的常用命令--系统操作docker命令及镜像命令

目录 前言1 操作 Docker 的命令1.1 启动 Docker1.2 停止 Docker1.3 重启 Docker1.4 查看 Docker 状态1.5 查看 Docker 所有命令的信息1.6 查看某个命令的帮助信息 2 操作镜像的命令2.1 查看所有镜像2.2 搜索某个镜像2.3 下载某个镜像2.4 查看镜像所占空间2.5 删除镜像2.6 强制删…

Threejs_04 gui调试开发

threejs的快捷调试工具就是这玩意&#xff0c;那么如何使用呢&#xff1f;&#xff1f; 使用gui调试开发 引入gui实例 //导入lil.gui // import * as dat from "dat.gui"; // 旧 import { GUI } from "three/examples/jsm/libs/lil-gui.module.min.js";…

解决Python requests库中的重定向问题

目录 一、默认情况下&#xff0c;requests库如何处理重定向 二、手动处理重定向 三、处理多个重定向 四、注意事项 总结 在Python requests库中&#xff0c;处理重定向是一个常见的问题。默认情况下&#xff0c;requests库会自动处理重定向&#xff0c;并将最终的响应返回…

leetcode算法之分治-快排

目录 1.颜色分类2.排序数组3.数组中的第k个最大元素4.最小的k个数 1.颜色分类 颜色分类 class Solution { public:void sortColors(vector<int>& nums) {int n nums.size();int left -1,rightn,i0;while(i<right){if(nums[i] 0) swap(nums[left],nums[i]);e…

(四)、基于 LangChain 实现大模型应用程序开发 | 基于知识库的个性化问答 (基本功能介绍)

⭐ 使用大语言模型构建一个能够回答关于给定文档和文档集合的问答系统是一种非常实用和有效的应用场景。与仅依赖模型预训练知识不同&#xff0c;这种方法可以进一步整合用户自有数据&#xff0c;实现更加个性化和专业的问答服务。 例如,我们可以收集某公司的内部文档、产品说明…

Java JSON字符串替换其中对应的值

代码&#xff1a; public static void main(String[] args) { // String theData crmScene.getData();String theData "[{\"type\":1,\"values\":[\"审批中\",\"未交付\"],\"name\":\"status\"}]"…

实战项目:VB龟兔赛跑游戏+猜数字游戏

文章目录&#xff1a; 一&#xff1a;效果演示 二&#xff1a;实现思路 三&#xff1a;代码实现 form1 效果图 代码 form2 效果图 代码 form3 效果图 代码 一&#xff1a;效果演示 效果图◕‿◕✌✌✌ 代码下载 二&#xff1a;实现思路 窗口1&#xff1a;龟兔赛…

Mybatis-Plus 自定义SQL注入器,实现真正的批量插入![MyBatis-Plus系列]

导读 Hi,大家好,我是悟纤。过着爱谁谁的生活,活出不设限的人生。 在使用MyBatis-Plus时,dao层都会去继承BaseMapper接口,这样就可以用BaseMapper接口所有的方法CRUD。 在Mybatis-Plus中调用updateById方法进行数据更新默认情况下是不能更新空值字段的。

使用契约的链上限价订单

我们开发了链上限价订单。 它基于一种称为契约的智能合约&#xff0c;只有在花费输出的交易满足特定条件时才可以花费输出。 为了演示其工作原理&#xff0c;我们实施了以比特币支付的 Ordinals 代币买卖限价订单&#xff0c;无需托管人。 它可以运行在任何比特币协议链上&…

网络层——IP协议

文章目录 一.IP协议二.基本概念三.IP协议格式四.分片与组装五.网段划分六.特殊的IP地址七.IP地址的数量限制八.私网IP地址和公网IP地址九.路由十.路由表生成算法 一.IP协议 IP协议全称为“网际互连协议&#xff08;Internet Protocol&#xff09;”&#xff0c;IP协议是TCP/IP…

[uni-app]记录APP端跳转页面自动滚动到底部的bug

文章目录 bug描述原因分析: 处理方案 bug描述 1.点击的A页面, 跳转到了B页面, 第一次页面正常显示 2.从B页面返回A页面 3.A页面不进行任何操作,再次点击A页面进入B页面 4.B页面自动滚动到底部. 原因 看一段A页面代码 let that thisthis.defaultScrollTop uni.getStorageSy…

Zookeeper中的Watch机制的原理?

前言 Zookeeper是一个分布式协调组件&#xff0c;为分布式架构下的多个应用组件提供了顺序访问控制能力。它的数据存储采用了类似于文件系统的树形结构&#xff0c;以节点的方式来管理存储在Zookeeper上的数据 Zookeeper提供了一个Watch机制&#xff0c;可以让客户端感知到Zook…

启动dubbo消费端过程提示No provider available for the service的问题定位与解决

文/朱季谦 某次在启动dubbo消费端时&#xff0c;发现无法从zookeeper注册中心获取到所依赖的消费者API&#xff0c;启动日志一直出现这样的异常提示 Failed to check the status of the service com.fte.zhu.api.testService. No provider available for the service com.fte…

【Vue】Vue3 超简单拖拽条动态修改容器宽度

demo 代码 const leftBoxWidth ref(200); // 默认宽度 const leftResize (e: MouseEvent) > {const startX e.clientX;const startWidth leftBoxWidth.value;const mouseMove (documentE: MouseEvent) > {// 80 是左侧菜单宽度leftBoxWidth.value startWidth docu…

卷积神经网络(VGG-16)海贼王人物识别

文章目录 前期工作1. 设置GPU&#xff08;如果使用的是CPU可以忽略这步&#xff09;我的环境&#xff1a; 2. 导入数据3. 查看数据 二、数据预处理1. 加载数据2. 可视化数据3. 再次检查数据4. 配置数据集5. 归一化 三、构建VGG-16网络1. 官方模型&#xff08;已打包好&#xff…