安全加固方案
交换机安全加固
查看是否关闭未使用的接口
| 25GE1/0/1、25GE1/0/47、25GE1/0/48需要使用,暂不关闭 |
| system-view # interface Eth-Trunk99 shutdown quit interface Eth-Trunk100 shutdown quit interface Eth-Trunk110 shutdown quit interface 25GE1/0/2 shutdown interface 25GE1/0/3 shutdown interface 25GE1/0/4 shutdown interface 25GE1/0/5 shutdown interface 25GE1/0/6 shutdown interface 25GE1/0/7 shutdown interface 25GE1/0/8 shutdown interface 25GE1/0/9 shutdown interface 25GE1/0/10 shutdown interface 25GE1/0/11 shutdown interface 25GE1/0/12 shutdown interface 25GE1/0/13 shutdown interface 25GE1/0/14 shutdown interface 25GE1/0/15 shutdown interface 25GE1/0/16 shutdown interface 25GE1/0/17 shutdown interface 25GE1/0/18 shutdown interface 25GE1/0/19 shutdown interface 25GE1/0/20 shutdown interface 25GE1/0/21 shutdown interface 25GE1/0/22 shutdown interface 25GE1/0/23 shutdown interface 25GE1/0/24 shutdown interface 25GE1/0/25 shutdown interface 25GE1/0/26 shutdown interface 25GE1/0/27 shutdown interface 25GE1/0/28 shutdown interface 25GE1/0/29 shutdown interface 25GE1/0/30 shutdown interface 25GE1/0/31 shutdown interface 25GE1/0/32 shutdown interface 25GE1/0/33 shutdown interface 25GE1/0/34 shutdown interface 25GE1/0/35 shutdown interface 25GE1/0/36 shutdown interface 25GE1/0/37 shutdown interface 25GE1/0/38 shutdown interface 25GE1/0/39 shutdown interface 25GE1/0/40 shutdown interface 25GE1/0/41 shutdown interface 25GE1/0/42 shutdown interface 25GE1/0/43 shutdown interface 25GE1/0/44 shutdown interface 25GE1/0/45 shutdown interface 25GE1/0/46 shutdown interface 100GE1/0/1 shutdown interface 100GE1/0/2 shutdown interface 100GE1/0/3 shutdown interface 100GE1/0/4 shutdown interface 100GE1/0/5 shutdown interface 100GE1/0/6 shutdown interface 100GE1/0/7 shutdown interface 100GE1/0/8 shutdown quit # commit quit save Y |
检查是否配置远程访问IP地址限制
| ssh 放行全部地址进来,后面需要网管老师去限定ssh的入向源地址 |
| system-view # acl number 2000 rule 200 permit source any quit # user-interface vty 0 4 acl 2000 inbound quit # commit quit save Y |
检查是否配置防地址欺骗攻击
| 目前使用端口都为2层口,暂不支持该功能 |
Ubunut20.04安全加固
| 需使用root账号配置 cmcc登录后使用su - root 切换 |
设置重复登录失败后锁定时间限制、查口令锁定策略
内容:设置密码输入错误5次后锁定账户15分钟(900秒)、帐户被锁定,不再提示让再次登录;
vim /etc/pam.d/common-auth
在图中位置添加如下命令
auth required pam_tally2.so deny=5 onerr=fail no_magic_root unlock_time=900

验证

解锁账户

设置用户缺省UMASK、登录超时
内容:设置umask 027、登陆超时30分钟
步骤:
vim /etc/profile
在末尾添加
| Plain Text |
保存退出

生效配置
root@cmcc:~# source /etc/profile
验证


设置限制su命令用户组
内容:添加wheel组并将cmcc添加到改组,启用su命令控制
步骤:
vim /etc/pam.d/su
在打开的配置文件的中,添加以下参数:
auth required pam_wheel.so
保存退出

创建 wheel 组 并添加用户
| Shell |
验证
cmcc添加到wheel组后可以切换root

非wheel组用户无法切换

设置SSH是否使用业界认可的加密算法
内容:ssh添加指定算法
步骤:
使用文本编辑器(如vim)编辑/etc/ssh/sshd_config文件。
vi /etc/ssh/sshd_config
在打开的配置文件中,如图位置添加如下参数:
Ciphers chacha20-poly1305@openssh.com,aes256-gcm@openssh.com,aes128-gcm@openssh.com,aes256-ctr,aes192-ctr,aes128-ctr
KexAlgorithms curve25519-sha256,curve25519-sha256@libssh.org,ecdh-sha2-nistp521,ecdh-sha2-nistp384,ecdh-sha2-nistp256,diffie-hellman-group-exchange-sha256,diffie-hellman-group16-sha512,diffie-hellman-group18-sha512,diffie-hellman-group14-sha256
MACs umac-128-etm@openssh.com,umac-64-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512,hmac-sha2-256

保存并退出
在vim编辑器中,按Esc键,然后输入:wq并回车以保存更改并退出编辑器。

生效配置
root@cmcc:/etc/ssh# sshd -T #检查配置有无问题
Missing privilege separation directory: /run/sshd
root@cmcc:/etc/ssh# systemctl restart sshd
root@cmcc:/etc/ssh# systemctl status sshd

限制root远程登陆
内容:root远程登录不成功
步骤:
| Shell |

修改PermitRootLogin设置为no并不被注释,保存退出。
生效配置
| Shell |
验证

尝试使用ssh登录root,回显不通过。
检查登录提示-是否设置ssh警告
内容:ssh登录时 提示 Authorized users only. All activity may be monitored and reported
步骤:
echo " Authorized users only. All activity may be monitored and reported " >/etc/sshbanner
vim /etc/ssh/sshd_config文件
在打开的配置文件的中,添加以下参数并保存退出:
| Shell |

重启服务
systemctl restart sshd

验证

检查系统是否不存开发编译及网络嗅探类工具
| Shell |

检查是否关闭IP转发功能、是否开启反向路径过滤、禁止icmp重定向
| 系统默认没开IP转发功能 |
| Shell |

如果要修改
vim /etc/sysctl.conf文件
并在/etc/sysctl.conf中添加如下内容:
| Bash |
修改后,运行sysctl -p来应用更改。
| 配置文件仲该设置被注释了取消注释即可 |

vim /etc/sysctl.conf 把 # 去掉 然后保存退出

生效配置

日志大小进行配置
内容:修改日志大小位10M
步骤:
Vim /etc/logrotate.d/rsyslog
在打开的配置文件的中,添加以下参数并保存退出:
size 10M

重启服务
systemctl restart rsyslog.service

检查帐号文件权限设置
内容:修改文件权限
步骤:
| Shell |
返回如下

| Shell |

开启命令及登录失败记录
内容:开启登录失败记录
步骤:
vim /etc/login.defs
找到 LASTLOG_ENAB 项 ,取消注释 并添加yes

找到 FAILLOG_ENAB 取消注释 并添加yes (如果已经修改则无需变动)

保存文件并退出 wq

口令重复次数限制、口令生存周期要求
内容:强制密码历史”设置为“记住5个密码;口令生存周期最大90天,最小8天,不足7天告警
口令重复次数限制
创建文件/etc/security/opasswd,并设置权限: #
touch /etc/security/opasswd
chown root:root /etc/security/opasswd
chmod 600 /etc/security/opasswd 3、修改策略设置: #vi /etc/pam.d/common-passwd 在password required pam_unix.so所在行增加remember=5,保存退出。

口令生存周期要求
- 编辑/etc/login.defs文件,设置密码的过期策略,保存退出:
| Shell |

修改cmcc用户密码生成周期
| Shell |

配置ntp时间同步
使用Mobaxterm 上传ntp离线包
dpkg -i ntp_4.2.8p10+dfsg-5ubuntu7_arm64.deb
systemctl restart ntp
systemctl status ntp

漏扫工具的使用
离线检查操作使用说明
一、概述:
所有离线检查,均可通过Secure CRT执行vbs脚本进行,检查脚本执行完毕后,自动生成签名加密的result结果文件,将生成的result结果文件导入离线新建计划生成扫描报告。请勿私自打开修改result结果文件内容,否则将无法生成结果报告并计算合规率。
二、注意事项:
在进行离线检查前,请仔细阅读以下注意事项:
1、务必使用Version 8.1.0版本及以上的SecureCRT进行离线合规检查。
2、务必将SecureCRT设置成仿真Linux环境,具体设置方法如下:
通过SecureCRT(Version 6.5.0以上)登录设备,设置SecureCRT仿真终端为”Linux”,设置过程为:“选项”->“会话选项”->“终端”->“仿真”,选择“Linux”,如果已经连接远程设备,需要重新连接,更改的设置才会生效
3、务必使用最高权限用户执行离线检查脚本,用SecureCRT登录后,先设置仿真终端为Linux,然后切换到最高权限用户,(主机系统为root,网络设备为super或enable用户),保证有足够权限执行脚本;
4、务必取消SecureCRT记录会话日志选项,即取消记录“会话日志”和“会话原始日志”。“文件”—“会话日志”、“文件”—“会话原始日志”。
5、对于语系为中文的操作系统,建议将CRT默认字符编码修改为UTF-8,即“选项”—“会话选项”—“终端”—“外观”,右边“字符编码”修改为“UTF-8”。
在实际执行过程中发现个别设备的结果文件里报‘无效的过程调用或参数’错误,可以切换字符编码为default或gb2312再重新执行脚本,看是否正常返回结果。
6、离线检查过程中,同时只能打开一个SecureCRT标签即每次只检查一台设备,为加快效率,可以启动SecureCRT打开多个CRT窗口同时进行多个设备检查。
7、如果离线检查脚本执行过程中,弹出以下窗口
点击“运行”,即可继续执行离线合规检查。
8、Windows支持本机直接运行bat脚本方式,将脚本文件分别上传到待检查Windows主机上,选择bat文件夹下面的start.bat进行检查,建议使用该方法检查。若以SecureCRT方式执行.vbs检查,需要本机开启telnet服务。
9、 Oracle数据库在检查执行过程中,需要切换到Oracle安装用户和输入oracle数据库安装路径(listener.ora和sqlnet.ora文件路径,输入到/network/admin前面截止即可),才可以继续往下执行。弹出相应对话框,按照要求输入后,点击确定即可。
10、Sybase数据库在检查执行过程中,需要登陆数据库,才可以继续往下执行。这时会弹出Logon窗口,分别输入用户名及密码,进行登陆。其他类型数据库,根据提示,输入相应数据即可,就不逐一举例。
11、Informix数据库离线合规检查,主要检查其依赖主机的合规性配置。同时,如果数据库默认配置文件onconfig、adtcfg已经重命名,请电联河北公司要求提供定制性脚本。
12、中间件设备类型在离线合规检查过程中,会弹出Path对话框,提示输入中间件安装路径,输入后,点击“确定”按钮,继续执行。中间件所在的各种操作系统下,输入的路径都由根目录开始,到中间件目录为止,最后不需要分隔符。如:
Windows:c:\midware\tomcat-6.0.35
Linux: /opt/apache-6.0.35
三、离线检查示例:
https://tdsmartcloud.feishu.cn/drive/folder/FeNYfkuORlPXlDdcFUAcEcoMnzb

使用CRT SSH连接机器后

选择vbs文件

运行过程需要输入机器

扫描完成

扫描后会在生成一个result目录

将扫描结果发送给客户

相关文章:
安全加固方案
交换机安全加固 查看是否关闭未使用的接口 25GE1/0/1、25GE1/0/47、25GE1/0/48需要使用,暂不关闭 system-view # interface Eth-Trunk99 shutdown quit interface Eth-Trunk100 shutdown quit interface Eth-Trunk110 shutdown quit interface 25GE1/…...
Linux firewall防火墙规则
官网 https://firewalld.org/ 查看所有防火墙规则: firewall-cmd --list-all-zones查看当前区域防火墙规则: firewall-cmd --list-all添加一个开放服务规则: firewall-cmd --add-servicessh删除一个开放服务规则: firewall-cmd…...
速盾:CDN缓存的工作原理是什么?
CDN(内容分发网络)是一种将内容分发到全球不同地理位置的网络架构,以提供更快速、可靠的内容传输。其核心原理是利用缓存技术,将数据内容分布到离用户最近的边缘节点上。当用户请求内容时,CDN将根据用户的IP地址&#…...
日常开发记录-正确的prop传参,reduce搭配promise的使用
日常开发记录-正确的prop传参,reduce搭配promise的使用 1.正确的prop传参2.reduce搭配promise的使用 1.正确的prop传参 一般会的父组件传参子组件 //父组件 <A :demodata.sync"testData" :listData.sync"testData2"></A> data ()…...
Hyper-V配置-cnblog
启用Hyper-V以在 Windows 10上创建虚拟机 (1)控制面板检查系统要求: 确保您的计算机符合 Hyper-V 的系统要求。通常情况下,您的计算机需要运行 Windows 10 专业版、企业版或教育版,并且具有启用了虚拟化技术的处理器。…...
运维Tips:Docker或K8s集群拉取Harbor私有容器镜像仓库配置指南
[ 知识是人生的灯塔,只有不断学习,才能照亮前行的道路 ] Docker与Kubernetes集群拉取Harbor私有容器镜像仓库配置 描述:在现在微服务、云原生的环境下,通常我们会在企业中部署Docker和Kubernetes集群,并且会在企业内部搭建Harbor私有镜像仓库以保证开发源码安全,以及加快…...
openssl颁发包含主题替代名的证书–SAN
原文地址:openssl颁发包含主题替代名的证书–SAN – 无敌牛 欢迎参观我的个人博客:无敌牛 – 技术/著作/典籍/分享等 在 X.509 证书中,commonName(CN)字段只能有一个值。如果让证书支持多个域名和IP地址,…...
Stable Diffusion入门教程
要入门Stable Diffusion,你可以按照以下步骤进行: 1. 安装Stable Diffusion 获取安装包:你可以从GitHub上的 Stable Diffusion Web UI开源地址获取安装包。 一键启动程序包:如果你是小白不会装,可以使用国内秋葉aaaki开…...
H.265流媒体播放器EasyPlayer.js无插件H5播放器关于移动端(H5)切换网络的时候,播放器会触发什么事件
EasyPlayer.js无插件H5播放器作为一款功能全面的H5流媒体播放器,凭借其多种协议支持、多种解码方式、丰富的渲染元素和强大的应用功能,以及出色的跨平台兼容性,为用户提供了高度定制化的选项和优化的播放体验。无论是视频直播还是点播&#x…...
conan2 c/c++包管理入门之--------------------------conanfile.py
书接上回,用过使用cmake去手动指定CMAKE_TOOLCHAINE_FILE和CMAKE_BUILD_TYPE太麻烦,有没有更简单的办法了,经过我的大量探索下终于发现,使用conan build和conanfile.py。大致原理是conan在构建时会自动调用conanfile.py里面定义数据和函数。举个例子: from conan import …...
DICOM图像深入解析:为何部分DR/CR图像默认显示为反色?
概述 在数字医学影像处理中,CR(Computed Radiography,计算机放射摄影)和DR(Digital Radiography,数字放射摄影)技术广泛应用于医疗影像获取与分析。然而,临床实践中常常遇到这样一个问题:部分CR/DR图像在默认打开时呈现为反色(即负片效果),需手动反色后才能正常阅片…...
重新定义社媒引流:AI社媒引流王如何为品牌赋能?
在社交媒体高度竞争的时代,引流已经不再是单纯追求流量的数字游戏,而是要找到“对的用户”,并与他们建立真实的连接。AI社媒引流王通过技术创新和智能策略,重新定义了社媒引流的方式,帮助品牌在精准触达和高效互动中脱…...
【FPGA】Verilog:利用 4 个串行输入- 串行输出的 D 触发器实现 Shift_register
0x00 什么是寄存器 寄存器(Register)是顺序逻辑电路中使用的基本组成部分之一。寄存器用于在数字系统中存储和处理数据。寄存器通常由位(bit)构成,每个位可以存储一个0或1的值。通过寄存器,可以设计出计数器、加法器等各种数据处理电路。 0x01 寄存器的种类 基于 D 触发…...
《硬件架构的艺术》笔记(五):低功耗设计
介绍 能量以热量形式消耗,温度升高芯片失效率也会增加,增加散热片或风扇会增加整体重量和成本,在SoC级别对功耗进行控制就可以减少甚至可能消除掉这些开支,产品也更小更便宜更可靠。本章描述了减少动态功耗和静态功耗的各种技术。…...
Hive离线数仓结构分析
Hive离线数仓结构 首先,在数据源部分,包括源业务库、用户日志、爬虫数据和系统日志,这些都是数据的源头。这些数据通过Sqoop、DataX或 Flume 工具进行提取和导入操作。这些工具负责将不同来源的数据传输到基于 Hive 的离线数据仓库中。 在离线…...
鱼眼相机模型-MEI
参考文献: Single View Point Omnidirectional Camera Calibration from Planar Grids 1. 相机模型如下: // 相机坐标系下的点投影到畸变图像// 输入:相机坐标系点坐标cam 输出: 畸变图像素点坐标disPtvoid FisheyeCamAdapter::…...
GPT系列文章
GPT系列文章 GPT1 GPT1是由OpenAI公司发表在2018年要早于我们之前介绍的所熟知的BERT系列文章。总结:GPT 是一种半监督学习,采用两阶段任务模型,通过使用无监督的 Pre-training 和有监督的 Fine-tuning 来实现强大的自然语言理解。在 Pre-t…...
微软Ignite 2024:建立一个Agentic世界!
在今年的Microsoft Ignite 2024上,AI Agent无疑成为本次大会的重点,已经有十万家企业通过Copilot Studio创建智能体了。微软更是宣布:企业可以在智能体中,使用Azure目录中1800个LLM中的任何一个模型了! 建立一个Agent…...
windows C#-属性
属性提供了一种将元数据或声明性信息与代码(程序集、类型、方法、属性等)关联的强大方法。将属性与程序实体关联后,可以使用称为反射的技术在运行时查询该属性。 属性具有以下属性: 属性将元数据添加到您的程序中。元数据是有关程序中定义的类型的信息…...
深入浅出:JVM 的架构与运行机制
一、什么是JVM 1、什么是JDK、JRE、JVM JDK是 Java语言的软件开发工具包,也是整个java开发的核心,它包含了JRE和开发工具包JRE,Java运行环境,包含了JVM和Java的核心类库(Java API)JVM,Java虚拟…...
Linux应用开发之网络套接字编程(实例篇)
服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …...
React 第五十五节 Router 中 useAsyncError的使用详解
前言 useAsyncError 是 React Router v6.4 引入的一个钩子,用于处理异步操作(如数据加载)中的错误。下面我将详细解释其用途并提供代码示例。 一、useAsyncError 用途 处理异步错误:捕获在 loader 或 action 中发生的异步错误替…...
第一篇:Agent2Agent (A2A) 协议——协作式人工智能的黎明
AI 领域的快速发展正在催生一个新时代,智能代理(agents)不再是孤立的个体,而是能够像一个数字团队一样协作。然而,当前 AI 生态系统的碎片化阻碍了这一愿景的实现,导致了“AI 巴别塔问题”——不同代理之间…...
12.找到字符串中所有字母异位词
🧠 题目解析 题目描述: 给定两个字符串 s 和 p,找出 s 中所有 p 的字母异位词的起始索引。 返回的答案以数组形式表示。 字母异位词定义: 若两个字符串包含的字符种类和出现次数完全相同,顺序无所谓,则互为…...
优选算法第十二讲:队列 + 宽搜 优先级队列
优选算法第十二讲:队列 宽搜 && 优先级队列 1.N叉树的层序遍历2.二叉树的锯齿型层序遍历3.二叉树最大宽度4.在每个树行中找最大值5.优先级队列 -- 最后一块石头的重量6.数据流中的第K大元素7.前K个高频单词8.数据流的中位数 1.N叉树的层序遍历 2.二叉树的锯…...
企业如何增强终端安全?
在数字化转型加速的今天,企业的业务运行越来越依赖于终端设备。从员工的笔记本电脑、智能手机,到工厂里的物联网设备、智能传感器,这些终端构成了企业与外部世界连接的 “神经末梢”。然而,随着远程办公的常态化和设备接入的爆炸式…...
ABAP设计模式之---“简单设计原则(Simple Design)”
“Simple Design”(简单设计)是软件开发中的一个重要理念,倡导以最简单的方式实现软件功能,以确保代码清晰易懂、易维护,并在项目需求变化时能够快速适应。 其核心目标是避免复杂和过度设计,遵循“让事情保…...
用机器学习破解新能源领域的“弃风”难题
音乐发烧友深有体会,玩音乐的本质就是玩电网。火电声音偏暖,水电偏冷,风电偏空旷。至于太阳能发的电,则略显朦胧和单薄。 不知你是否有感觉,近两年家里的音响声音越来越冷,听起来越来越单薄? —…...
GruntJS-前端自动化任务运行器从入门到实战
Grunt 完全指南:从入门到实战 一、Grunt 是什么? Grunt是一个基于 Node.js 的前端自动化任务运行器,主要用于自动化执行项目开发中重复性高的任务,例如文件压缩、代码编译、语法检查、单元测试、文件合并等。通过配置简洁的任务…...
Spring AI Chat Memory 实战指南:Local 与 JDBC 存储集成
一个面向 Java 开发者的 Sring-Ai 示例工程项目,该项目是一个 Spring AI 快速入门的样例工程项目,旨在通过一些小的案例展示 Spring AI 框架的核心功能和使用方法。 项目采用模块化设计,每个模块都专注于特定的功能领域,便于学习和…...
