学习系统安全及应用_系统安全学习-程序员宅基地

技术标签: linux  linux系统管理  

目录

账号安全基本措施

使用su命令切换用户

Linux中的PAM安全认证

PAM认证原理

PAM认证的构成

PAM安全认证流程

使用sudo机制提升权限

系统弱口令检测

弱口令检测一John the Ripper.

系统弱口令检测

网络端口扫描

网络端口扫描

 总结


 


账号安全基本措施

系统账号清理

●将非登录用户的ShelI设为/sbin/nologin

usermod -s /sbin/nologin

●锁定长期不使用的账号

usermod-L用户名

passwd-I用户名

passwd -S用户名

●删除无用的账号(userdel [-r])

●锁定账号文件passwd、shadow

chattr +i /etc/passwd /etc/shadow

Isattr /etc/passwd /etc/shadow 解锁文件并查看状态

chattr -i /etc/passwd /etc/shadow

■密码安全控制

●设置密码有效期

●要求用户下次登录时修改密码

账号安全基本措施

■命令历史限制

●减少记录的命令条数

●注销时自动清空命令历史

终端自动注销

●闲置600秒后自动注销

使用su命令切换用户

■用途及用法

●用途: Substitute User,切换用户

●格式su-目标用户

■密码验证

●root- >任意用户,不验证密码

●普通用户→其他用户,验证目标用户的密码

使用su命令切换用户

限制使用su命令的用户
●将允许使用su命令的用户加入wheel组
●启用pam_ wheel认证模块

使用su命令切换用户

限制使用su命令的用户

将允许使用su命令的用户加入wheel组

●启用pam_ _wheel认证模块

■查看su操作记录

●安全日志文件: /var/log/secure

Linux中的PAM安全认证

■su命令的安全隐患

●默认情况下,任何用户都允许使用su命令,有机会反复尝试其他用户(如root) 的登录密码,带来安全风险

●为了加强su命令的使用控制,可借助于PAM认证模块,只允许极个别用户使用su命令进行切换

■PAM(Pluggable Authentication Modules)可插拔式认证模块

●是一-种高效而且灵活便利的用户级别的认证方式

●也是当前L inux服务器普遍使用的认证方式

PAM认证原理

■- -般遵循的顺序;

◆Service (服务) - →PAM (配置文件) - →pam_ * .so

■首先要确定哪一项服务,然后加载相应的PAM的配置文

件(位于/etc/pam.d下),最后调用认证文件(位于

/lib64/security下)进行安全认证

■用户访问服务器时,服务器的某- -个服务程序把用户的

请求发送到PAM模块进行认证

■不同的应用程序所对应的PAM模块是不同的

PAM认证的构成

■查看某个程序是否支持PAM认证,可以用Is命令

示例:查看su是否支持PAM模块认证

Is /etc/pam.d | grep su

■查看su的PAM配置文件: cat /etc/pam.d/su

●每一行都是一一个独立的认证过程

●每一行可以区分为三个字段

◆认证类型,

◆控制类型

◆PAM模块及其参数

PAM安全认证流程

■控制类型也称做Control Flags,

用于PAM验证类型的返回结果

1.required验证失败时仍然继续,但

返回Fail

2.requisite验证失败则立即结束整个

验证过程,返回Fail

3.sufficient验证成功则立即返回,不

再继续,否则忽略结果并继续

4.optional不用于验证,只显示信息

(通常用于session类型)

使用sudo机制提升权限

配置sudo授权
●visudo或者vi /etc/sudoers
●记录格式  用户 主机名列表 =命令程序列表

系统弱口令检测

弱口令检测一John the Ripper.

JohntheRipper是一款开源的密码破解工具,可使用密码字典(包含各种密码组合的列表文件)来进行暴力破解。

#解压工具包

cd /opt

tar. zxf john-1.8.0. tar.gz

#安装软件编译_工具

yum install -y gcc gcc-c++ make

#切换到src子目录

cd /opt/john-1.8.0/src

#进行编译安装

make clean linux-x86-64

#准备待破解的密码文件

cp. /etc/ shadow /opt/ shadow. txt

#执行暴力破解

cd /opt/john-1.8.0/ run

./john /opt/ shadow. txt

#查看已破解出的账户列表

. /john --show /opt/ shadow. txt

#使用密码字典文件

> john. pot

#清空已破解出的账户列表,以便重新分析

./ john --word1 ist=./password.1st /opt/ shadow. txt

#使用指定的字典文件进行破解

echo "PS1='\[\e[1; 35m\] [\u@\h \W] \\$\[\e [Om\] '" >> .bashrc                                                 PS1='\[\e[1; 34m\] [\u@\h \W] \$\[\e [0m\] '

系统弱口令检测2-2

■安装JR工具

●安装方法 make clean系统类型

●主程序文件为john

■检测弱口令账号

获得Linux/Unix服务器的shadow文件

执行john程序,

将shadow文件作为参数

■密码文件的暴力破解

●准备好密码字典文件,默认为password.Ist

执行john程序,结合-wordlist=字典文件

网络端口扫描

■NMAP

●一款强大的网络扫描、安全检测工具

●官方网站: http://map.org/

●CentOS 7.7光盘中安装包nmap-6.40-7 .el7.x86_ 64.rpm

网络端口扫描

控制位

SYN 建立链接

ACK 确认

FIN   结束断开

PSH  传送 0 数据缓存 上层应用协议

RST  重置

URG 紧急

rpm -qa l grep nmap查看nmap

yum install -y 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检测,快速判断目标主机是否存活,不做其他扫描。

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

示例:

#分别查看本机开放的TCP端口、UDP端口

nmap -sT 127.0.0.1

nmap -sU 127.0.0.1

#检测192.168.80.0/24网段有哪些主机提供HTTP服务

nmap -p 80 192.168.80.0/24

#检测192.168.80.0/24网段有哪些存活主机

nmap -n -sP 192.168.80.0/24

 总结

主要学习学习系统安全及应用,需要掌握学习系统安全及应用的命令与原理

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_52588857/article/details/120346100

智能推荐

在Ubuntu16.04上安装tvm踩坑-程序员宅基地

文章浏览阅读1.1k次。服务器的各种BUG

linux man使用方法和centos安装中文man包- 转载-程序员宅基地

文章浏览阅读147次。什么是man手册 首先,man是manual的简称,中文说法可以是手册。在Linux世界中,许多新手请教某条命令的用法时, 好多不耐心的老手通常会用一条命令来回答这位无助的新手,而这条命令通常就是man开头。无助的新手敲上这条命令一看究竟,在终端上顿时显示出来了一屏幕的英文,老手的意思是,自己看看手册吗,可是看手册也是有学问的,无助的新手甚至不知道怎么退出..._man 中文包

ping 命令:指定源IP_ping指定源ip目的ip-程序员宅基地

文章浏览阅读1.9w次,点赞7次,收藏20次。Windows:用法: ping [-t] [-a] [-n count] [-l size] [-f] [-i TTL] [-v TOS] [-r count] [-s count] [[-j host-list] | [-k host-list]] [-w timeout] [-R] [-S srcaddr] [-c compartment] [-p] [-4] [-6] target_name选项: -t _ping指定源ip目的ip

学计算机的该怎么自学,如何通过自学快速的学会电脑操作?电脑小白必备学习技巧...-程序员宅基地

文章浏览阅读3.8k次。现在是信息社会,我们的工作和生活每天都离不开电脑,我们经常要在电脑上处理一些文件和资料,利用电脑进行娱乐和学习。因此掌握电脑技术的学习非常重要,我们可以通过一些方法快速的学会电脑。想要学会电脑,首先要了解电脑的结构和工作原理。电脑的组成是由主板,CPU,内存,显卡,硬盘,电源,键盘,鼠标,显示器等部件构成。电脑系统分为硬件系统和软件系统。硬件系统又分为中央处理器:运算器和控制器。存储器又分为内部存..._学电脑自学方法

kinect1.0实现的rgbd-slam_kinect 1.0-程序员宅基地

文章浏览阅读2.1k次,点赞3次,收藏28次。这个rgbd-slam代码是根据高翔的代码改编过来的,具体可以参考创客制造的以下教程https://www.ncnynl.com/category/rgbd-slam/下面我分为7步来介绍我的实现步骤以及中途可能遇到的bug和解决方案1.硬件这是淘宝上买的二手货,只要300多,用起来没什么问题,你可以先在windows下用它的sdk测试以下相机有没有什么问题左边的圆孔为红外..._kinect 1.0

随便推点

vue3 下载router之后,路由未生效及控制台警告问题_vue3导航栏直接访问router没生效-程序员宅基地

文章浏览阅读1.1k次。在控制台页面会报出警告" Failed to resolve component: router-link"无法识别router-linkimport { createApp } from 'vue'import App from './App.vue'import router from "./router/index"; //引入routerimport './index.css'// 挂载 路由const app = createApp(App)app.use(router) app._vue3导航栏直接访问router没生效

java 动态编译-程序员宅基地

文章浏览阅读105次。在Sun JDK 1.2及后续版本中,包含了一组可在程序运行时刻编译和执行Java代码的API。这些API被包含在tools.jar类库中。这个功能允许Java程序在运行时动态编译、执行小的代码块,在有些情况下这个功能会让Java应用程序的架构更加灵活、开放。 本文假定读者已经在计算机中安装并配置好了Sun JDK 1.2或更高的版本,并对javac编译器命令有所了解。在Java程..._java 编译动态指定主类

Nodejs 核心模块方法-程序员宅基地

文章浏览阅读87次。 模块:  os  process  fs  url  path  querystring  util   child_process  http  http.Server  http.ServerRequest  http.ServerResponse  events 核心模块核心模块是被编译成二进制代码,引用的时候只需..._nodejs 内核函数

第六章 API应用(上篇)-程序员宅基地

文章浏览阅读1k次,点赞24次,收藏26次。API应用

java locksupport_Java并发之LockSupport-程序员宅基地

文章浏览阅读175次。内容导读LockSupport 和 CAS 是Java并发包中很多并发工具控制机制的基础,它们底层其实都是依赖Unsafe实现。LockSupport是用来创建锁和其他同步类的基本 线程阻塞 原语。park()和unpark()不会有 Thread.suspend 和 Thread.resume 所可能引发的死锁问题,由于许可的存在,调用 park 的线程和另一个试图将其 unpark 的线程之间..._locksupport.java 175

汇编语言的简答入门--斐波那契数列(递归)_汇编语言递归求斐波那契-程序员宅基地

文章浏览阅读9k次。TITLE Save an array and dispalyINCLUDE Irvine32.inc.dataarray DWORD 12 DUP (?) ; define a array for saving Fibonacci numbersstep = type arraynum DWORD ?count DWORD ?prompt byte "The first_汇编语言递归求斐波那契

推荐文章

热门文章

相关标签