安全基线加固

  • 安全基线加固


  1. 定义:为了实现基本防护需求而制定的一系列基准;

  2. Windows && Linux 安全基线加固

    操作系统具体操作

    Windows

    账户认证

    基本要求对应操作
    对登录操作系统的用户进行身份标识和鉴别
    • 操作内容:检测开机登录时是否需要密码
    • 操作结果:杜绝空密码登录的情况
    管理缺省用户
    • 操作内容:重命名administrator,禁用guest账户
    • 操作步骤:net localgroup administrators 确认除 administrator 之外还存在哪些管理员账户
    口令要求具有复杂度并且会定期更换
    • 操作内容:提升口令复杂度,定期更换口令
    • 操作步骤:
      1. Win+R 中执行 gpedit.msc
      2. 计算机配置 - Windows设置 - 安全设置 - 账户策略 - 密码策略 - 密码必须符合复杂性要求 - 启用
      3. 同一页面下:密码最长使用期限,设置 < 90 天
    启用登录失败处理功能,限制非法登录次数
    • 操作内容:检测用户连续认证失败后是否有限制
    • 操作步骤:
      1. Win+R 中执行 gpedit.msc
      2. 计算机配置 - Windows设置 - 安全设置 - 账户策略 - 账户锁定策略
      3. 账户锁定阈值 ≤ 5,锁定时间 ≥ 5 分钟
    限制非管理员账户关闭计算机
    • 操作内容:检测用户连续认证失败后是否有限制
    • 操作步骤:
      1. Win+R 中执行 gpedit.msc
      2. 计算机配置 - Windows设置 - 安全设置 - 本地策略 - 用户权限分配 - 从远程系统强制关机    中只保留 administrator 组
    • 操作结果:除 administrator 组外用户均为关机权限

    日志

    基本要求对应操作

    配置日志功能对用户的登录情况进行记录

    (账户,登录状态,时间以及IP 地址)

    • 操作内容:审核登录
    • 操作步骤:
      1. Win+R 中执行 gpedit.msc
      2. 计算机配置 - Windows设置 - 安全设置 - 本地策略 - 审核策略 - 审核登录事件 - 勾选成功和失败
    • 操作结果:审核策略 登录和失败都勾选
    • 其他审核项
      基本要求测试内容预期要求
      审核对象访问启用Windows系统的审核对象访问"审核对象访问"设置为"成功" 和"失败"都要审核
      审核进程追踪启用Windows系统的审核进程追踪"审核进程追踪"设置为"失败"要审核
      审核目录服务器访问启用组Windows系统的审核目录服务访问"审核目录服务器访问"设置为"成功" 和"失败"都要审核
      审核特权使用启用Windows系统的审核特权使用"审核系统事件"设置为"成功" 和"失败"都要审核
      审核系统事件启用Windows系统的审核系统事件"审核特权使用"设置为"成功" 和"失败"都要审核
    • 特殊事件ID:
      事件ID
      登录
      事件ID
      登陆成功4624
      登录失败4625
      账户操作
      事件ID命令
      创建账户4720net user 新用户名 密码 /add
      启用账户4722net user 用户名 /active:yes
      重置账号密码4724net user 用户名 新密码
      删除账户4726net user 用户名 /delete
      成员到用户组操作
      全局
      事件ID命令
      添加用户成员到全局用户组4728net group "全局组名" 用户名 /add
      删除用户成员从全局用户组4729net group "全局组名" 用户名 /delete
      本地
      事件ID命令
      添加用户成员到本地用户组4732net localgroup "本地组名" 用户名 /add
      删除用户成员从本地用户组4733net localgroup "本地组名" 用户名 /delete
    配置日志文件大小
    • 目录:C:\Windows\System32\winevt\Logs
    • 操作内容:设置日志文件 ≥ 8192 KB
    •  操作步骤:
      1. Win+R 中 执行 control  或 eventvwr (直接打开)
      2. 控制面板 - 查看方式:小图标 - 管理工具 - 事件查看器 - Windows 日志 - 选择相应的日志 -属性 - 日志最大大小 ≥ 8192 KB
    • 操作结果:应用日志,系统日志,安全日志 (日志大小 ≥ 8192 KB)

    入侵防范与访问控制

    基本要求对应操作
    对共享文件进行权限限制
    • 操作内容:对共享文件夹的权限进行限制
    • 操作步骤:
      1. Win+R 中 执行 compmgmt.msc
      2. 计算机管理 -系统工具 - 共享文件夹 - 共享 - 选中查看 - 右击属性 - 共享权限 - 若包含Everyone 则将其删除
    • 操作结果:共享权限中不包含 Everyone
    修改远程桌面服务的默认端口
    • 操作内容:对远程桌面服务端口进行更改
    • 操作步骤:
      1. Win+R 中 执行 regedit
      2. 计算机\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp   中修改 PortNumber 为3389以外的 16 进制;
      3. 计算机\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp 中修改 PortNumber 为3389以外的 16 进制;
      4. 保存新值后,重启系统生效
    • 操作结果:RDP服务不再是3389端口
    禁止远程访问操作系统注册表路径和子路径
    • 操作内容:将 远程访问操作系统注册表路径和子路径 配置为空
    • 操作步骤:Win+R 中 执行 gpedit.msc
      1. 本地计算机策略 - 计算 机配置 - Windows 设置 - 安全设置 - 本地策略 - 安全选项 -  可 远程访 问的注册表路径和子路径 - 双击配置为空
    • 操作结果:禁止远程连接注册表
    安装终端防护软件
    • 操作内容:防范恶意代码
    • 操作步骤:使用正版授权的计算机病毒防护软件,及时更新病毒库;

    系统服务

    基本要求对应操作
    关闭非必要的系统服务
    • 操作内容:管理系统服务
    • 操作步骤:
      1. Win+R 中 执行 control
      2. 控制面板 - 查看方式:小图标 - 管理工具 - 计算机管理 - 服务和应用程序 - 查看并关闭服务
      3. 建议关闭的服务
        Error Reporting Service错误报告服务
        Computer browser浏览局域网计算机列表
        Print Spooler打印队列服务
        Remote Registry远程注册表操作
        Routing and Remote Access路由与远程访问
        shell hardware Detection为自动播放硬件事件提供通知
        telnet远程管理
        TCP/IP NetBIOS Helper允许客户端共享文件,打印机和登录到网络
    • 操作结果:关闭非必要的系统服务

    系统更新

    基本要求对应操作
    系统自动更新安全补丁
    • 操作内容:系统自动更新安全补丁
    • 操作步骤:开启系统自动更新功能,检查Windows 更新
    • 操作结果:安装关键和重要的系统补丁

    基线排查脚本

    以管理员权限运行 bulid_security_Strategy.bat   脚本

    Linux

    用户账号口令设置

    基本要求对应操作
    检查是否存在空密码账户
    • 操作步骤:awk -F: '($2==""){print$1}' /etc/shadow
    • 操作结果:不存在空口令账户(有输出则存在,无输出则不存在)
    检查密码策略
    • 操作步骤:vim /etc/login.defs
    • 检查参数
      参数说明参考值
      PASS_MAX_DAYS密码最长过期天数90
      PASS_MIN_DAYS密码最小过期天数80
      PASS_MIN_LEN密码最小长度8
      PASS_WARN_AGE密码过期警告天数7
    • 操作结果:密码设置符合策略安全
    限制 root 用户远程登录
    • 操作内容:关闭 root 用户远程登录
    • 操作步骤:
      1. 新建远程登录 ssh 用户 ,例:useradd user1 
      2. 设置密码: passwd user1 
      3. 密码:userpasswd
      4. 设置 sudo 权限: chmod u+w /etc/sudoers && vim /etc/sudoers
      5. 添加:user1 ALL=(ALL:ALL) ALL
      6. 恢复权限:chmod u-w /etc/sudoers
      7. 测试:su user1  执行:id
      8. 执行sudo vim /etc/ssh/sshd_config
      9. 找到 PermitRootLogin 删除前面的 #号,并改为 no
      10. 重启sshd 服务,执行 system restart sshdsystemctl restart ssh
    • 操作结果:root 用户 无法直接登录ssh,但可以以新用户身份登录ssh
    检查是否存在除root以外 UID 为0的用户
    • 操作步骤:awk -F: '($3==0){print$1}' /etc/passwd
    • 操作结果:保证 UID为0的只有 root 用户
    启用密钥登录,关闭密码登录
    • 操作内容:
    • 操作步骤:
      1. 生成密钥:sudo ssh-keygen 会提示文件路径,需更改下面的文件路径
      2. 配置 id_rsa.pub : cat /home/kali/.ssh/id_rsa.pub >> /home/kali/.ssh/authorized_keys
      3. 赋予生成文件读写权限:chmod 600 id_rsa
      4. 使用生成的文件登录:ssh 用户名@IP -i 生成文件 ,例:ssh user1@192.168.16.1 -i id_rsa
      5. 关闭密码登录: vim /etc/ssh/sshd_config    添加: PasswordAuthentication no
      6. 重启 SSH 服务:systemctl restart sshd , systemctl restart ssh
    • 操作结果:无法使用密码登录,必须使用 生成的文件进行登录(id_rsa)

    系统文件与访问控制

    基本要求对应操作
    用户连接安全性配置
    • 操作步骤:
      1. 检查.netrc文件 find / -name .netrc 2>/dev/null
      2. 检查.rhosts文件 find / -name .rhosts 2>/dev/null
    • 操作结果:系统中 无 .netrc.rhosts 文件
    用户 umask 安全配置
    • 操作步骤:检查是否包含umask值 cat /etc/profile /etc/csh.login /etc/csh.cshrc /etc/bashrc 2>/dev/null |grep umask
    • 操作结果:无 umask 值
    重要目录和文件的权限设置
    • 操作步骤:
      查找未授权的 SUID/SGID 文件
      • find / -perm -04000 2>/dev/null
      • find / -perm -02000 2>/dev/null
      查找任何人都有写权限的目录
      • find / -type d -perm -o+w 2>/dev/null
      检查隐藏的文件或目录
      • find / -xdev -name ". *" -print
      • find / -xdev -name ".. *" -print
    • 操作结果:
      1. 无未授权的suid /sgid 权限
      2. 无未授权的可写目录
      3. 无未授权的隐藏文件或目录
    系统 core dump 状态
    • 操作步骤:
      1. vim /etc/security/limits.conf
      2. 添加 * soft core 0 ,* hard core 0
    • 操作结果:关闭core dump

    linux日志审计

    基本要求对应操作
    查看 syslog 登录事件记录
    • 操作步骤:查看authpriv的值:more /etc/rsyslog.conf
    • 操作结果:对所有登录事件都有记录

    重要日志

    说明日志文件命令
    登录成功日志/var/log/wtmplast
    登录失败日志/varlog/btmplastb
    最后一次登录/var/log/lastloglastlog
    登录日志

    Centos/var/log/secure

    Debian/var/log/auth.log

    当前登录用户(时间,IP)/var/log/utmpw,who,users
    历史命令记录用户家目录下的 .bash_history 文件history

    中间件

    Apache 日志

    # 查看日志中最近访问主机的IP
    cat access.log | awk '{print $1}'# 显示访问次数前10的IP
    cat access.log|awk '{print $1}'|sort|uniq -c|sort -nr|head -10# 显示指定时间后的日志(修改时间)
    cat access.log |awk '$4>="[1/Jan/2020:00:00:00"'# 查看某一时间内的 IP 连接情况(修改时间)
    grep "2016:09" access.log |awk '{print $4}'|sort|uniq -c |sort -nr# 查看指定的 IP 做了什么
    cat access.log.1 |grep 127.0.0.1| awk '{print $1"\t"$8}'| sort|uniq -c |sort -nr|less# 查看最近访问量次数最多的文件
    cat access.log |tail -10000| awk '{print $7}'| sort|uniq -c |sort -nr|less

    IIS  日志

    IIS7.5:%SystemDrive%\inetpub\logs\LogFilesIIS6.0:%systemroot%\system32\logfiles\w3svc1\

  • 结语


亲爱的网络安全同行和爱好者们,

在我分享的网络安全自学笔记中,我深感自己的知识和经验有限。为了更好地服务于这个领域,我真诚地希望各位能够指出我的错误和不足,以便我们共同进步,提升网络安全防护能力。

我深知,网络安全是一个不断发展的领域,需要我们持续学习和实践。我的笔记可能存在理解偏差、技术更新不及时或实践应用上的疏漏。因此,我非常欢迎各位专家和同好们提出宝贵意见,帮助我完善内容,确保信息的准确性和实用性。

请您在阅读过程中,如果发现任何问题,无论是小的笔误还是大的概念性错误,都能及时反馈给我。您的每一次指正都是我进步的阶梯,也是我们共同守护网络安全的责任所在。

感谢您的理解和支持,让我们一起努力,为网络安全领域的发展贡献力量!

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

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

相关文章

二叉树算法之字典树(Trie)详细解读

字典树&#xff08;Trie&#xff0c;也称前缀树或单词查找树&#xff09;是一种用于快速查找字符串的数据结构&#xff0c;主要应用于字符串集合的高效存储和查找。字典树特别适合处理具有相同前缀的大量字符串集合&#xff0c;比如单词自动补全、拼写检查等场景。 1. 字典树的…

upload-labs靶场Pass-01

upload-labs靶场Pass-01 分析 查看提示&#xff0c;提示如下 查看源码 function checkFile() {var file document.getElementsByName(upload_file)[0].value;if (file null || file "") {alert("请选择要上传的文件!");return false;}//定义允许上传…

Java-类与对象-下篇

关于类与对象&#xff0c;内容较多&#xff0c;我们分为两篇进行讲解&#xff1a; &#x1f4da; Java-类与对象-上篇&#xff1a;————<传送门:Java-类与对象-上篇-CSDN博客> &#x1f4d5; 面向对象的概念 &#x1f4d5; 类的定义格式 &#x1f4d5; 类的使用 …

ubuntu 安装nginx

sudo apt-get update sudo apt-get install nginx sudo nginx -vsudo systemctl status nginx sudo systemctl start nginx sudo systemctl stop nginx sudo systemctl restart nginx#浏览器输入&#xff1a;http://192.168.31.181/#查看文件结构 cd /etc/nginx sudo cp nginx.…

华为OD机试2024年真题(基站维修工程师)

基站维修工程师&#xff08;200分&#xff09; 小王是一名基站维护工程师&#xff0c;负责某区域的基站维护。 某地方有n个基站(1<n<10)&#xff0c;已知各基站之间的距离s(0<s<500)&#xff0c;并且基站x到基站y的距离&#xff0c;与基站y到基站x的距离并不一定会…

Java 类和对象详解(下)

个人主页&#xff1a;鲤鱼王打挺-CSDN博客 目录 &#x1f497;前言&#xff1a; &#x1f4af;一.static关键字 1. 为什么要使用static 2. static 修饰成员变量&#xff1a; 3. static 修饰成员方法&#xff1a; ​编辑 4. 静态代码块 5.静态导入包 &#x1f4af;二.…

采用分布式锁机制解决Gateway配合Redis实现统一鉴权及分布式会话共享数据不一致问题

在现代分布式系统中&#xff0c;为了实现高可用性和性能优化&#xff0c;通常会采用Gateway与Redis相结合的架构来统一鉴权&#xff0c;并实现分布式会话共享功能。然而&#xff0c;在这种架构中&#xff0c;数据不一致问题是常见的挑战之一。本文将详细探讨如何通过分布式锁机…

Wi-Fi安全性入门(基于ESP-IDF-v4.4)

主要参考资料&#xff1a; Wi-Fi 安全性: https://docs.espressif.com/projects/esp-idf/zh_CN/release-v4.4/esp32/api-guides/wifi-security.html 目录 1.ESP32 Wi-Fi 安全功能1.1 受保护的管理帧 (PMF)1.2 第三代 Wi-Fi 访问保护 (WPA3-Personal) 1.ESP32 Wi-Fi 安全功能 支…

java 第12天 单例 接口

一.设计模式之单例模式 *饿汉式/醉汉式 步骤&#xff1a; 创建私有化构造方法私有的 静态的 属于本类类型的对象公共的 静态的返回本类对象的方法 // 醉汉式/饿汉式 class Moon{// 1 私有化构造方法private Moon(){}// 2 创建一个私有的静态的属于本类类型的对象private stati…

YOLOv11改进策略【卷积层】| 替换骨干网络 CVPR-2023 FasterNet 高效快速的部分卷积块

一、本文介绍 本文记录的是基于FasterNet的YOLOv11轻量化改进方法研究。FasterNet的网络结构借鉴 CNN 的设计理念,通过提出的PConv减少推理时的计算和内存成本,同时减少通道数并增加部分比例,降低延迟,并通过后续的PWConv来弥补特征信息可能缺失的问题,提高了准确性。本文…

如何在 MySQL 中处理大量的 DELETE 操作??

全文目录&#xff1a; 开篇语前言摘要简介概述DELETE 操作的基本概念常用的 DELETE 方法 核心源码解读简单 DELETE 语句批量 DELETE 示例 案例分析案例1&#xff1a;使用简单 DELETE 删除用户数据案例2&#xff1a;使用分批 DELETE 应用场景演示场景1&#xff1a;用户管理系统场…

linux系统之jar启动脚本

编辑linux启动脚本 执行 vi run_blog 按i 进入编辑&#xff0c;复制以下代码&#xff0c;并根据当前环境修改三个参数。以下是详细完整脚本代码&#xff1a; #!/bin/bash# 配置部分 JAR_PATH"/path/to/your/app.jar" # 替换为你的 JAR 文件的实际路径 L…

Gin框架操作指南07:路由与中间件

官方文档地址&#xff08;中文&#xff09;&#xff1a;https://gin-gonic.com/zh-cn/docs/ 注&#xff1a;本教程采用工作区机制&#xff0c;所以一个项目下载了Gin框架&#xff0c;其余项目就无需重复下载&#xff0c;想了解的读者可阅读第一节&#xff1a;Gin操作指南&#…

【JVM】内存模型

文章目录 内存模型的基本概念案例 程序计数器栈Java虚拟机栈局部变量表栈帧中局部变量表的实际状态栈帧中存放的数据有哪些 操作数栈帧数据 本地方法栈 堆堆空间是如何进行管理的? 方法区静态变量存储 直接内存直接内存的作用 内存模型的基本概念 在前面的学习中,我们知道了字…

Java 8 Stream API:从基础到高级,掌握流处理的艺术

一、Stream&#xff08;流&#xff09;基本介绍 Java 8 API 添加了一个新的抽象称为Stream&#xff08;流&#xff09;&#xff0c;可以让你以一种声明的方式处理数据&#xff0c;这种风格将要处理的元素集合看做一种流&#xff0c;元素流在管道中传输&#xff0c;并在管道中间…

云黑系统全解无后门 +搭建教程

这套系统呢是玖逸之前南逸写的一套云黑系统&#xff0c;功能带有卡密生成和添加黑名单等&#xff0c;源码放在我的网盘里已经两年之久&#xff0c;由于玖逸现在已经跑路了所以现在发出来分享给大家&#xff0c;需要的可以自己拿去而开&#xff0c;反正功能也不是很多具体的自己…

电脑视频剪辑大比拼,谁更胜一筹?

随着短视频的火爆&#xff0c;越来越多的人开始尝试自己动手制作视频&#xff0c;无论是记录生活点滴还是创作个性短片&#xff0c;一款好用的视频剪辑软件是必不可少的。今天&#xff0c;我们就从短视频运营的角度&#xff0c;来聊聊几款热门的电脑视频剪辑软件&#xff0c;看…

docker配置加速器

阿里云 控制台》容器镜像服务》镜像工具》镜像加速器 复制地址&#xff1a;https://ywtoq7bz.mirror.aliyuncs.com 到&#xff1a;etc/docker下&#xff1a;vi daemon.json 格式&#xff1a; { "registry-mirrors": ["加速器地址"] } 注&#xff1…

JavaScript:闭包、防抖与节流

一&#xff0c;闭包 1&#xff0c;什么是闭包 闭包是指一个函数和其周围的词法环境(lexical environment)的组合。 换句话说&#xff0c;闭包允许一个函数访问并操作函数外部的变量。 闭包的核心特性: 函数内部可以访问外部函数的变量即使外部函数已经返回&#xff0c;内部…

Centos7 安装部署Zookeeper

官网地址&#xff1a;https://zookeeper.apache.org/ 1. Zookeeper 介绍 Apache ZooKeeper是一个开源的分布式协调服务&#xff0c;它用于维护配置信息、命名、提供分布式同步以及提供组服务等。ZooKeeper的设计目标是将那些复杂且容易出错的分布式一致性服务封装起来&#x…