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通而放弃扫描。
相关文章:

linux高级篇基础理论五(用户安全,口令设置,JR暴力破解用户密码,NMAP端口扫描)
♥️作者:小刘在C站 ♥️个人主页: 小刘主页 ♥️不能因为人生的道路坎坷,就使自己的身躯变得弯曲;不能因为生活的历程漫长,就使求索的 脚步迟缓。 ♥️学习两年总结出的运维经验,以及思科模拟器全套网络实验教程。专栏:云计算技…...

鸿蒙原生应用/元服务开发-AGC分发如何配置版本信息(上)
1.配置HarmonyOS应用的“发布国家或地区”。 2.设置是否为开放式测试版本。 注意:HarmonyOS应用开放式测试当前仅支持手机、平板、智能手表。如开发者想发布为开放式测试版本,选择“是”。正式发布的版本请选择“否”。 3.在“软件版本”下点击“软件包…...

探索Scrapy中间件:自定义Selenium中间件实例解析
简介 Scrapy是一个强大的Python爬虫框架,可用于从网站上抓取数据。本教程将指导你创建自己的Scrapy爬虫。其中,中间件是其重要特性之一,允许开发者在爬取过程中拦截和处理请求与响应,实现个性化的爬虫行为。 本篇博客将深入探讨…...
渗透测试--3.中间人攻击
渗透测试--3.中间人攻击 一 .中间人攻击arp欺骗DNS欺骗无线局域网漏洞利用使用 Ettercap 执行欺骗攻击arp欺骗实例1、首先查看欺骗之前靶机ip以及默认网关,2、查看kali的IP地址(192.168.76.134),MAC:000c294079903、使用Ettercap,将A主机和B主机加入到target中4、点击右上…...
nginx/html关闭网页缓存方法
【问题】 通常代理服务器默认是有缓存的,即用户访问网址的时候默认获取到的是缓存,只有刷新之后才能得到服务器端的最新文件 【解决】 以nginx为例,找到配置文件nginx.conf,找到http {},在其花括号之内添加命令&…...

华为防火墙 Radius认证
实现的功能:本地内网用户上网时必须要进行Radius验证,通过后才能上网 前置工作请按这个配置:华为防火墙 DMZ 设置-CSDN博客 Windows 服务器安装 Radius 实现上网认证 拓扑图如下: 一、服务器配置 WinRadius 1、安装WinRadius …...

用spring发送http请求
在Spring中,你可以使用RestTemplate或WebClient来发送HTTP请求。下面分别给出使用这两个类的简单示例。 现在pom.xml中导入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artif…...

赴日开发工程师是做什么的?
日本的软件开发岗位对技术要求和沟通能力都有较高的要求,赴日开发工程师主要负责软件设计、开发和测试,包括编写代码、测试代码和修复漏洞等工作。开发人员必须对软件架构、设计模式和业务逻辑有深入的理解,并能做出合适的技术决策。 当然&a…...

Wireshark的数据包它来啦!
通过Wireshark工具,可以轻松的看到网卡的数据信息。通过Wireshark显示的数据包内容信息,通常分七栏,介绍一下: 1No.: 数据包编号。 2.Time Time显示时间,以1号数据包发生开始计时。 3.Source Source显示内容…...

接口测试需要验证数据库么?
有的接口会返回很多数据,有的接口可能就返回一个状态码及success之类的消息,这些需要验证数据库么?现在在写一个测试框架,配置接口参数和预期返回值,生成xml文件管理用例,用一个比较方法对预期和返回作比较…...
配置 `PostgreSQL` 与 `Keepalived` 以实现高可用性
配置 PostgreSQL 与 Keepalived 以实现高可用性通常包括以下步骤: PostgreSQL 配置 安装 PostgreSQL:在两台服务器上安装相同版本的 PostgreSQL。 sudo yum install postgresql-server postgresql-contrib初始化数据库:在两台服务器上初始化…...
C++: int转换成LPCSTR
LPCSTR类型是指向字符常量的指针,因此需要将int类型转换为字符串类型,然后再将字符串类型转换为LPCSTR类型。 以下是一个示例代码: int num 123; char str[10]; sprintf(str, "%d", num); // 将int类型转换为字符串类型 LPCSTR …...
kettle官网和中文网地址
整理的kettle相关的网站地址: github 地址: https://github.com/pentaho/pentaho-kettle kettle下载目录: https://sourceforge/projects/pentaho/files/ kettle9.2下载地址: https://sourceforge/projects/pentaho/files/Penta…...

纽扣电池类产品上架亚马逊澳大利站认证标准要求AS/NZS 62368
纽扣电池一般来说常见的有充电的和不充电的两种, 充电的包括3.6V可充锂离子扣式电池(LIR系列),3V可充锂离子扣式电池(ML或VL系列);不充电的包括3V锂锰扣式电池(CR系列)及1.5V碱性锌锰扣式电池(LR及SR系列)。 澳大利亚*已经发布了经批准的《消…...

网站监控的重要性及实施策略
随着互联网的快速发展,网站已经成为企业和个人不可或缺的在线服务平台。然而,网站的安全性和稳定性一直是企业及个人非常关注的问题。一旦网站出现故障或者被攻击,将会给企业和个人带来严重的损失。因此,实施有效的网站监控策略对…...

亚马逊车灯外贸出口CE认证标准办理解析
车灯是车辆夜间行驶在道路照明的工具,也是发出各种车辆行驶信号的提示工具。车灯一般分为前照灯、尾灯、转向灯等。车灯出口欧盟需要办理CE认证。 CE认证是欧盟对进入欧洲市场的产品强制性的认证标志,是指符合欧盟安全、健康、环境保护等标准和要求的产…...

windows 查看防火墙设置命令使用方法
点击键盘上windows键,输入cmd,选择以管理员身份运行 输入下面命令查看使用说明 netsh advfirewall firewall add rule ? 发现显示不全,不方便看 可以输入下面命令,生成文件,方便查看 netsh advfirewall firewall ad…...

[Linux版本Debian系统]安装cuda 和对应的cudnn以cuda 12.0为例
写在前面 先检查自己有没有安装使用wget的命令,没有的话输入下面命令安装: apt-get install wget -y查看gcc的安装 sudo apt install gcc #安装gcc gcc --version #查看gcc是否安装成功 #若上述命令不成功使用下面的命令尝试之后再执行上面…...
NextJS开发:解决React Hook useEffect has a missing dependency
NextJS编译出现如下错误,原因是在使用useEffect时,当我们将函数的声明放在useEffect函数外面时 或者使用useState定义的历史变量,会报警告 Warning: React Hook useEffect has a missing dependency解决方法: 1、逐个添加注释忽略警告 useEffect(() &…...
交叉编译tcpdump
1、下载libpcap源码和tcpdump源码【最后有链接】 2、先编译libpcap 解压后,进入目录,执行以下命令: mkdir build cd build ../configure --hostarm-linux CCarm-gcc7.3-linux-musleabi-gcc --prefix$PWD/install make make install3、再编译…...
[特殊字符] 智能合约中的数据是如何在区块链中保持一致的?
🧠 智能合约中的数据是如何在区块链中保持一致的? 为什么所有区块链节点都能得出相同结果?合约调用这么复杂,状态真能保持一致吗?本篇带你从底层视角理解“状态一致性”的真相。 一、智能合约的数据存储在哪里…...

LeetCode - 394. 字符串解码
题目 394. 字符串解码 - 力扣(LeetCode) 思路 使用两个栈:一个存储重复次数,一个存储字符串 遍历输入字符串: 数字处理:遇到数字时,累积计算重复次数左括号处理:保存当前状态&a…...
Objective-C常用命名规范总结
【OC】常用命名规范总结 文章目录 【OC】常用命名规范总结1.类名(Class Name)2.协议名(Protocol Name)3.方法名(Method Name)4.属性名(Property Name)5.局部变量/实例变量(Local / Instance Variables&…...
系统设计 --- MongoDB亿级数据查询优化策略
系统设计 --- MongoDB亿级数据查询分表策略 背景Solution --- 分表 背景 使用audit log实现Audi Trail功能 Audit Trail范围: 六个月数据量: 每秒5-7条audi log,共计7千万 – 1亿条数据需要实现全文检索按照时间倒序因为license问题,不能使用ELK只能使用…...
电脑插入多块移动硬盘后经常出现卡顿和蓝屏
当电脑在插入多块移动硬盘后频繁出现卡顿和蓝屏问题时,可能涉及硬件资源冲突、驱动兼容性、供电不足或系统设置等多方面原因。以下是逐步排查和解决方案: 1. 检查电源供电问题 问题原因:多块移动硬盘同时运行可能导致USB接口供电不足&#x…...
【ROS】Nav2源码之nav2_behavior_tree-行为树节点列表
1、行为树节点分类 在 Nav2(Navigation2)的行为树框架中,行为树节点插件按照功能分为 Action(动作节点)、Condition(条件节点)、Control(控制节点) 和 Decorator(装饰节点) 四类。 1.1 动作节点 Action 执行具体的机器人操作或任务,直接与硬件、传感器或外部系统…...

Reasoning over Uncertain Text by Generative Large Language Models
https://ojs.aaai.org/index.php/AAAI/article/view/34674/36829https://ojs.aaai.org/index.php/AAAI/article/view/34674/36829 1. 概述 文本中的不确定性在许多语境中传达,从日常对话到特定领域的文档(例如医学文档)(Heritage 2013;Landmark、Gulbrandsen 和 Svenevei…...
【Nginx】使用 Nginx+Lua 实现基于 IP 的访问频率限制
使用 NginxLua 实现基于 IP 的访问频率限制 在高并发场景下,限制某个 IP 的访问频率是非常重要的,可以有效防止恶意攻击或错误配置导致的服务宕机。以下是一个详细的实现方案,使用 Nginx 和 Lua 脚本结合 Redis 来实现基于 IP 的访问频率限制…...

Golang——9、反射和文件操作
反射和文件操作 1、反射1.1、reflect.TypeOf()获取任意值的类型对象1.2、reflect.ValueOf()1.3、结构体反射 2、文件操作2.1、os.Open()打开文件2.2、方式一:使用Read()读取文件2.3、方式二:bufio读取文件2.4、方式三:os.ReadFile读取2.5、写…...
根目录0xa0属性对应的Ntfs!_SCB中的FileObject是什么时候被建立的----NTFS源代码分析--重要
根目录0xa0属性对应的Ntfs!_SCB中的FileObject是什么时候被建立的 第一部分: 0: kd> g Breakpoint 9 hit Ntfs!ReadIndexBuffer: f7173886 55 push ebp 0: kd> kc # 00 Ntfs!ReadIndexBuffer 01 Ntfs!FindFirstIndexEntry 02 Ntfs!NtfsUpda…...