首页 > 其他分享 >系统安全及应用

系统安全及应用

时间:2024-04-24 11:13:25浏览次数:13  
标签:用户名 系统安全 登录 扫描 用户 etc 应用 PAM

目录

1.账号安全控制

(1)账号安全基本措施

(1)账号安全管理

禁止程序用户登录
usermod -s /sbin/nologin 用户名

锁定禁用长期不使用的用户:
passwd -l 用户名
usermod -L 用户名 ###查看锁定账号状态 passwd -S 用户名

删除无效用户
userdel -r 用户名

禁止账号和密码的修改
chattr +i /etc/passwd /etc/shadow ###查看锁定文件状态 lsattr 文件名


(2)密码安全管理

设置密码有效期
chage -M 天数 用户名 ###针对已存在的用户,天数为 99999 表示为永不过期

vim /etc/login.defs
PASS_MAX_DAYS 天数 ###针对新建的用户

强制用户下一次登录修改密码
chage -d 0 用户名


(3)历史命令安全管理

查看历史命令
history

限制历史命令数量
vim /etc/profile 输入export HISTSIZE=XX

source /etc/profile ##当前环境加载文件内容


清空历史命令
history -c #临时清空
vim /etc/profile
> ~/.bash_history


(2)限制su切换用户

(1)将信任的用户加入到wheel组中

gpasswd wheel -a 用户名

(2)修改su的PAM认证配置文件

vim /etc/pam.d/su
开启 auth required pam_wheel.so use_uid 的配置

ssh远程登录输入三次密码错误则锁定用户
vim /etc/pam.d/sshd
auth required pam_tally2.so deny=3 unlock_time=60 even_deny_root root_unlock_time=60

(3)PAM认证原理

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

ls /etc/pam.d | grep su ###查看su是否支持PAM模块认证

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

每一行都是一个独立的认证过程
每一行可以区分为三个字段
*认证类型
*控制类型
*PAM模块及其参数

(4)使用sudo机制提升权限

sudo提权
visudo vim /etc/sudoers (要用 wq! 强制保存)
*用户/组授权
用户名 主机名=程序列表 #命令要用绝对路径表示,支持使用通配符 * 表示所有, ! 表示取反
*%组名 主机名=程序列表
用户名 主机名=NOPASSWD: 程序列表 #NOPASSWD: 表示sudo不用密码验证

*别名设置
User_Alias 大写别名=用户1, 用户2, ...
Host_Alias 大写别名=主机名1, 主机名2, ...
Cmnd_Alias 大写别名=命令路径1, 命令路径2, ...
用户别名 主机别名=命令别名

*设置sudo日志路径
Defaults logfile = "/var/log/sudo.log"

sudo -l #普通用户查看有哪些sudo权限


2.系统引导和登录控制

(1)开关机安全控制

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

(2)GRUB限制
使用grub2-mkpasswd-pbkdf2生成密钥;
修改/etc/grub.d/00_header文件中,添加密码记录;
生成新的grub.cfg配置文件。





(2) 终端登录安全控制

限制root只在安全终端登录
安全终端配置:/etc/securetty

root@localhost ~l#vi /etc/securetty
#tty5
#tty6
禁止root用户从终端tty5、tty6登录

终端登录安全控制
限制root只在安全终端登录
安全终端配置:/etc/securetty
禁止普通用户登录
建立/etc/nologin文件
删除nologin文件或重启后即恢复正常
touch /etc/nologin #禁止普通用户登录
rm -rf /etc/nologin #取消上述登录限制

3.弱口令检测

(1)系统弱口今检测

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

(2)安装JR工具

安装方法:make clean 系统类型
主程序文件为 john

检测弱口令账号
获得Linux/Unix服务器的shadow文件
执行iohn程序,将shadow文件作为参数

密码文件的暴力破解
准备好密码字典文件,默认为password.lst
执行john程序,结合--wordlist=字典文件

4.端口扫描

(1)NMAP

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

NMAP的扫描
nmap [扫描类型] [选项] <扫描目标 ...>
-p:指定扫描的端口。
-n:禁用反向 DNS 解析(以加快扫描速度)

扫描类型
-sS TCP的SYN扫描(半开扫描),只向目标发出SYN数据包
**-sT ** TCP连接扫描,这是完整的TCP扫描方式(默认扫描类型)
-SF TCP的FIN扫描,开放的端口会忽略这种数据包,关闭的端口会回应RST数据包
**-sU ** UDP 扫描,探测目标主机提供哪些 UDP 服务,UDP 扫描的速度会比较慢
-SP ICMP 扫描,类似于 ping 检测,快速判断目标主机是否存活,不做其他扫描
-P0 跳过ping检测,这种方式认为所有的目标主机是存活的,当对方不响应ICMP请求时,使用这种方式可以避免因无法 ping 通而放弃扫描

①分别查看本机开放的TCP端口、UDP端口
nmap -sT127.0.0.1
nmap -sU 127.0.0.1
②检测192.168.4.0/24网段有哪些主机提供FTP服务
nmap -p 21 192.168.4.0/24
③检测192.168.4.0/24网段有哪些存活主机
nmap -n -sP 192.168.4.0/24

netstat
netstat 选项 | grep :端口号
ss 选项 | grep :端口号
lsof -i :端口号

常用选项
-a 显示主机中所有活动的网络连接信息(包括监听、非监听状态的服务端口)
-n 以数字的形式显示相关的主机地址、端口等信息
-t 查看 TCP相关的信息
-u 显示 UDP协议相关的信息
-p 显示与网络连接相关联的进程号、进程名称信息(该选项需要 root 权限)
-r 显示路由表信息
-l 显示处于监听状态的网络连接及端口信息

标签:用户名,系统安全,登录,扫描,用户,etc,应用,PAM
From: https://www.cnblogs.com/zsy828/p/18145749

相关文章

  • 倾斜摄影三维模型数据在立面出图应用分析
    倾斜摄影三维模型数据在立面出图应用分析  倾斜摄影是一种高精度、高效率的三维数据采集技术,通过倾斜摄影系统获取的数据可以生成真实的、具有几何形状和纹理信息的三维模型。在建筑设计、城市规划、土地管理等领域,立面出图是一项重要的应用,可以用于建筑外观展示、立面......
  • LLM学习(四)——构建 RAG 应用
    4.1接入Langchain首先我们导入所有需要的库文件importgoogle.generativeaiasgenaiimportosfromlangchain_google_genaiimportChatGoogleGenerativeAIfromlangchain_google_genaiimportGoogleGenerativeAIEmbeddingsfromlangchain.promptsimportPromptTemplate......
  • 使用 Gradio 的“热重载”模式快速开发 AI 应用
    在这篇文章中,我将展示如何利用Gradio的热重载模式快速构建一个功能齐全的AI应用。但在进入正题之前,让我们先了解一下什么是重载模式以及Gradio为什么要采用自定义的自动重载逻辑。如果您已熟悉Gradio并急于开始构建,请直接跳转到第三部分构建文档分析应用。重载模式具体是......
  • Unity的AOP应用 应用场景 C#
    在C#中,Unity容器是一个功能强大的依赖注入(DI)容器,它提供了丰富的配置选项来管理对象的生命周期,支持特殊类型的处理,并允许通过配置文件来简化注册和配置过程。同时,Unity还提供了面向切面编程(AOP)的功能,允许开发者在不改变现有代码逻辑的情况下,为对象的方法添加额外的行为。1.Unity......
  • PostScript 是一种页面描述语言,最初由 Adobe 公司开发。它被设计用于描述页面的外观和
    PostScript的起源可以追溯到1982年,当时由Adobe公司的创始人之一约翰·沃诺克(JohnWarnock)和查尔斯·格什克(CharlesGeschke)共同开发。沃诺克和格什克当时都是在施乐帕克研究中心工作,他们在那里开始了对一种新的页面描述语言的研究和开发。当时的打印技术面临着一些挑战,......
  • HarmonyOS NEXT应用开发实战—组件堆叠
    介绍本示例介绍运用Stack组件以构建多层次堆叠的视觉效果。通过绑定Scroll组件的onScroll滚动事件回调函数,精准捕获滚动动作的发生。当滚动时,实时地调节组件的透明度、高度等属性,从而成功实现了嵌套滚动效果、透明度动态变化以及平滑的组件切换。效果图预览使用说明加载完成......
  • Google Play App Store API 采集谷歌安卓应用商城app的数据接口 - 2024最新
    iDataRiver平台https://www.idatariver.com/zh-cn/提供开箱即用的谷歌安卓应用商城googleplayappstore数据采集API,供用户按需调用。接口使用详情请参考GooglePlayAppStore接口文档接口列表1.获取指定app的基础信息参数类型是否必填默认值示例值描述apik......
  • HarmonyOS NEXT应用开发—城市选择案例
    介绍本示例介绍城市选择场景的使用:通过AlphabetIndexer实现首字母快速定位城市的索引条导航。效果图预览使用说明分两个功能在搜索框中可以根据城市拼音模糊搜索出相近的城市,例如输入"a",会出现"阿尔山"、"阿勒泰地区"、"安庆"、"安阳"。下方城市列表通过AlphabetIndexer组......
  • kubesphere应用系列(四)--创建自动流水线
    第一步创建多分支流水线复制生成的url,也可以在编辑设置时复制 第二步新增Jenkinsfile文件新增Jenkinsfile文件放在根目录方式一:官方示例:https://github.com/kubesphere/devops-maven-sample/blob/sonarqube/Jenkinsfile-online方式二:使用kubusphere创建手动流水线然后复......
  • Caprine:适用于Linux的Facebook Messenger桌面应用程序
    Caprine是一款Linux桌面应用程序,可让您直接从计算机访问FacebookMessenger 。它提供了一种在Messenger上与朋友和家人聊天的便捷方式,无需打开网络浏览器。Caprine提供了类似于Messenger移动应用程序的用户友好界面,使其易于导航和使用。您可以接收新消息的通知、发送表情......