当前位置: 首页 > news >正文

服务器linux操作系统安全加固

一、系统更新与补丁管理

更新系统sudo yum update -y        # 更新所有软件包
sudo yum install epel-release -y  # 安装EPEL扩展源启用自动安全更新sudo yum install yum-cron -y
sudo systemctl enable yum-cron
sudo systemctl start yum-cron配置 /etc/yum/yum-cron.conf,设置 update_cmd = security 和 apply_updates = yes。

二、账户与权限安全

禁用root远程登录
编辑 /etc/ssh/sshd_config:PermitRootLogin no创建普通用户并赋予sudo权限
bash
复制useradd admin
passwd admin
usermod -aG wheel admin  # 加入sudo组限制sudo权限编辑 /etc/sudoers,限制用户仅能执行必要命令:admin ALL=(ALL) /usr/bin/systemctl restart nginx, /usr/sbin/reboot密码策略强化修改 /etc/login.defs:PASS_MAX_DAYS   90PASS_MIN_DAYS   1PASS_MIN_LEN    12PASS_WARN_AGE   7安装密码复杂度检查模块:sudo yum install cracklibsudo vi /etc/pam.d/system-auth  # 添加 `minlen=12 difok=3 ucredit=-1 lcredit=-1 dcredit=-1`

三、SSH 安全加固

修改SSH默认端口
编辑 /etc/ssh/sshd_config:Port 2222  # 改为非标准端口(如2222)仅允许密钥登录PasswordAuthentication no
PubkeyAuthentication yes限制SSH访问IPAllowUsers admin@192.168.1.0/24  # 仅允许特定IP段的用户登录重启SSH服务sudo systemctl restart sshd

四、防火墙与网络防护

启用firewalldsudo systemctl enable firewalld
sudo systemctl start firewalld配置防火墙规则sudo firewall-cmd --permanent --add-port=2222/tcp    # 放行SSH端口
sudo firewall-cmd --permanent --remove-service=ssh   # 删除默认SSH端口
sudo firewall-cmd --reload禁用ICMP重定向
编辑 /etc/sysctl.conf:net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.default.accept_redirects = 0
net.ipv6.conf.all.accept_redirects = 0
net.ipv6.conf.default.accept_redirects = 0sudo sysctl -p  # 生效配置

五、SELinux 强化

启用SELinux
编辑 /etc/selinux/config:SELINUX=enforcing
SELINUXTYPE=targetedsudo setenforce 1  # 临时生效管理SELinux策略sudo yum install setroubleshoot setools -y  # 安装管理工具
sudo audit2allow -a -M mypolicy  # 根据日志生成自定义策略

六、服务与进程管理

关闭无用服务sudo systemctl stop bluetooth cups avahi-daemon
sudo systemctl disable bluetooth cups avahi-daemon使用最小化安装sudo yum install @minimal  # 仅安装必需软件包监控进程与端口sudo netstat -tulnp | grep LISTEN  # 检查开放端口
sudo ps aux | grep可疑进程名

七、文件系统与权限加固

关键文件权限设置sudo chmod 600 /etc/passwd /etc/shadow  # 仅root可读写
sudo chattr +i /etc/passwd /etc/shadow  # 防止文件被修改禁用SUID/SGIDfind / -perm /4000 -exec ls -l {} \;  # 查找SUID文件
find / -perm /2000 -exec ls -l {} \;  # 查找SGID文件
# 移除不必要的SUID/SGID权限(如chmod u-s /path/to/file)挂载选项加固
编辑 /etc/fstab,为分区添加 noexec,nosuid 选项:/dev/sda1 /boot xfs defaults,noexec,nosuid 0 0

八、日志与审计

启用审计服务sudo systemctl enable auditd
sudo systemctl start auditd配置审计规则
编辑 /etc/audit/rules.d/audit.rules,添加以下规则:-a always,exit -F arch=b64 -S execve -k process_trace  # 跟踪进程执行
-w /etc/passwd -p wa -k user_accounts  # 监控用户账户变更日志轮转与备份配置 /etc/logrotate.conf,确保日志定期压缩和清理。

九、入侵检测与防护

安装Fail2ban防暴力破解sudo yum install fail2ban
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local编辑 /etc/fail2ban/jail.local,设置SSH防护:[sshd]enabled = trueport = 2222  # 与SSH端口一致maxretry = 3使用Rootkit检测工具sudo yum install rkhunter
sudo rkhunter --check --sk

十、其他高级防护

内核参数调优
编辑 /etc/sysctl.conf,添加以下内容:net.ipv4.tcp_syncookies = 1
net.ipv4.conf.all.rp_filter = 1
kernel.kptr_restrict = 1
kernel.dmesg_restrict = 1配置历史命令安全echo 'export HISTTIMEFORMAT="%F %T "' >> ~/.bashrc  # 记录时间戳
echo 'export HISTSIZE=10000' >> ~/.bashrc           # 保留更多历史记录
echo 'export HISTCONTROL=ignoreboth' >> ~/.bashrc  # 忽略重复命令和空格开头的命令

十一、验证与监控

安全扫描工具使用 Lynis 进行系统审计:sudo yum install lynissudo lynis audit system使用 OpenSCAP 扫描合规性:sudo yum install openscap-scanner scap-security-guidesudo oscap xccdf eval --profile stig-rhel7-disa --results scan.xml /usr/share/xml/scap/ssg/content/ssg-centos7-ds.xml定期备份与恢复测试sudo tar -czvf /backup/system_backup_$(date +%F).tar.gz /etc /var/log

注意事项

测试环境验证:所有配置先在测试环境验证,避免影响生产服务。备份配置文件:修改关键文件前备份(如 cp /etc/ssh/sshd_config{,.bak})。监控与告警:部署监控工具(如Prometheus + Grafana)实时跟踪系统状态。

相关文章:

服务器linux操作系统安全加固

一、系统更新与补丁管理 更新系统sudo yum update -y # 更新所有软件包 sudo yum install epel-release -y # 安装EPEL扩展源启用自动安全更新sudo yum install yum-cron -y sudo systemctl enable yum-cron sudo systemctl start yum-cron配置 /etc/yum/yum-cron.con…...

原生Three.js 和 Cesium.js 案例 。 智慧城市 数字孪生常用功能列表

对于大多数的开发者来言,看了很多文档可能遇见不到什么有用的,就算有用从文档上看,把代码复制到自己的本地大多数也是不能用的,非常浪费时间和学习成本, 尤其是three.js , cesium.js 这种难度较高&#xff…...

Node.js中Express框架使用指南:从入门到企业级实践

目录 一、Express快速入门 1. 项目初始化 2. 基础服务搭建 3. 添加热更新 二、核心功能详解 1. 路由系统 动态路由参数 路由模块化 2. 中间件机制 自定义中间件 常用官方中间件 3. 模板引擎集成 三、企业级最佳实践 1. 项目结构规范 2. 错误处理方案 3. 安全防护…...

spring 学习 (注解)

目录 前言 常用的注解 须知 1 Conponent注解 demo(案例) 2 ControllerServiceRepository demo(案例) 3 ScopeLazyPostConstructPreDestroy demo(案例) 4 ValueAutowiredQualifierResource demo(案例) 5 Co…...

计算机等级考试——计算机三级——网络技术部分

计算机三级——网络技术部分 一、外部网关协议BGP考点二、IPS入侵防护系统考点三、OSPF协议考点四、弹性分组环——RPR技术 一、外部网关协议BGP考点 高频考点,中考次数:25次 这类知识采用背诵的方式,可以更快速地备考。 BGP是边界网关协议&…...

新版电脑通过wepe安装系统

官方下载链接 WIN10下载 WIN11下载 微PE 启动盘制作 1:选择启动盘的设备 2:选择对应的U盘设备,点击安装就可以,建议大于8g 3:在上方链接下载需要安装的程序包,放入启动盘,按需 更新系统 …...

oracle中decode怎么转换成pg

对于 PostgreSQL 中的 Oracle DECODE 函数,可以使用 CASE 表达式或联合。CASE 表达式根据条件返回第一个匹配的结果,语法为:CASE WHEN 条件 THEN 结果 ELSE 结果 END。联合通过 UNION ALL 操作符组合多个 SELECT 语句,返回一个包含…...

【NLP】循环神经网络RNN

目录 一、词嵌入层 二、循环网络层 2.1 RNN网络原理 2.2 Pytorch RNN API 自然语言处理(Nature language Processing,NLP)研究的主要是通过计算机算法来理解自然语言。对于自然语言来说,处理的数据主要就是人类的语言&#xf…...

Linux嵌入式完整镜像烧写到SD卡中的方法(包括对SD卡的介绍)

前言 本篇博文是博文https://blog.csdn.net/wenhao_ir/article/details/145547974 的分支,在本篇博文里我们主要是完成将镜像文件imx-image-full-imx6ull14x14evk-20201209093926.rootfs.wic烧写到SD卡中。 SD卡的介绍 SD卡(Secure Digital卡&#xf…...

vscode怎么更新github代码

vscode怎么更新github代码 打开终端: 在 VS Code 中,使用快捷键 Ctrl (Mac 上是 Cmd) 打开终端。 导航到项目目录: 确保你当前所在的终端目录是你的项目目录。如果不是,可以使用 cd 命令导航到项目目录,例如&#xf…...

回顾Golang的Channel与Select第二篇

深入掌握Go Channel与Select:从原理到生产级实践 一、Channel基础:不只是数据管道 1.1 通道的完整生命周期(可运行示例) package mainimport ("fmt""time" )func main() {// 创建缓冲通道ch : make(chan i…...

基于mediapipe深度学习的手势数字识别系统python源码

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 (完整程序运行后无水印) 2.算法运行软件版本 程序运行配置环境: 人工智能算法python程序运行环境安装步骤整理-CSDN博客 3.部分核心…...

JS实现大文件切片上传以及断点续传

切片上传的原理是: 1.因为file对象的基类是blob,所以可以使用slice分割 2.将从input中获取的file对象使用slice进行分割,每5M一片 3.分别上传各个切片,等待切片上传完通知服务端合并(或者传每一片时把切片总数量也传…...

AI编程01-生成前/后端接口对表-豆包(或Deepseek+WPS的AI

前言: 做过全栈的工程师知道,如果一个APP的项目分别是前端/后端两个团队开发的话,那么原型设计之后,通过接口文档进行开发对接是非常必要的。 传统的方法是,大家一起定义一个接口文档,然后,前端和后端的工程师进行为何,现在AI的时代,是不是通过AI能协助呢,显然可以…...

小众宝藏分子生物学实验中常用的软件:InSequence

欢迎使用InSequence,正版免费使用,操作友好,小白也能轻松上手哦~ 1. 全新中文界面与更大操作空间 全中文简洁直观的操作界面,常用功能固定至工具栏,随心自定义更改工具栏,让科研人员能够更快速地上手&…...

【自学笔记】机器学习基础知识点总览-持续更新

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 机器学习重点知识点总览一、机器学习基础概念二、机器学习理论基础三、机器学习算法1. 监督学习2. 无监督学习3. 强化学习 四、机器学习处理流程五、机器学习常见问…...

HCIA综合项目之多技术的综合应用实验

十五 HCIA综合实验 15.1 IP规划 #内网分配网段192.168.1.0 24#内网包括骨干链路和两个用户网段,素以需要划分三个,借两位就够用了192.168.1.0 26--骨干192.168.1.64 26---R1下网络192.168.1.128 26---R2下网络192.168.1.192 26--备用​192.168.1.64 26--…...

[免费]Springboot+Vue医疗(医院)挂号管理系统【论文+源码+SQL脚本】

大家好,我是java1234_小锋老师,看到一个不错的SpringbootVue医疗(医院)挂号管理系统,分享下哈。 项目视频演示 【免费】SpringBootVue医疗(医院)挂号管理系统 Java毕业设计_哔哩哔哩_bilibili 项目介绍 在如今社会上,关于信息上…...

网络基础 【UDP、TCP】

1.UDP 首先我们学习UDP和TCP协议 要从这三个问题入手 1.报头和有效载荷如何分离、有效载荷如何交付给上一层的协议?2.认识报头3.学习该协议周边的问题 UDP报头 UDP我们先从示意图来讲解,认识报头。 UDP协议首部有16位源端口号,16位目的端…...

Linux centos8部署maven3.9.9

Linux环境为centos8 一、环境配置 下载部署maven之前先需要先部署好Java环境,我这里是Java17.0.6 先去官网下载jdk包,然后进行环境配置 vim /etc/profile 配置如下: export JAVA_HOME/root/jdk-17.0.6 #Java的安装目录 export JRE_HOM…...

Xshell远程连接Kali(默认 | 私钥)Note版

前言:xshell远程连接,私钥连接和常规默认连接 任务一 开启ssh服务 service ssh status //查看ssh服务状态 service ssh start //开启ssh服务 update-rc.d ssh enable //开启自启动ssh服务 任务二 修改配置文件 vi /etc/ssh/ssh_config //第一…...

Vue3 + Element Plus + TypeScript中el-transfer穿梭框组件使用详解及示例

使用详解 Element Plus 的 el-transfer 组件是一个强大的穿梭框组件,常用于在两个集合之间进行数据转移,如权限分配、数据选择等场景。下面我将详细介绍其用法并提供一个完整示例。 核心特性与用法 基本属性 v-model:绑定右侧列表的值&…...

最新SpringBoot+SpringCloud+Nacos微服务框架分享

文章目录 前言一、服务规划二、架构核心1.cloud的pom2.gateway的异常handler3.gateway的filter4、admin的pom5、admin的登录核心 三、code-helper分享总结 前言 最近有个活蛮赶的,根据Excel列的需求预估的工时直接打骨折,不要问我为什么,主要…...

《通信之道——从微积分到 5G》读书总结

第1章 绪 论 1.1 这是一本什么样的书 通信技术,说到底就是数学。 那些最基础、最本质的部分。 1.2 什么是通信 通信 发送方 接收方 承载信息的信号 解调出其中承载的信息 信息在发送方那里被加工成信号(调制) 把信息从信号中抽取出来&am…...

uniapp微信小程序视频实时流+pc端预览方案

方案类型技术实现是否免费优点缺点适用场景延迟范围开发复杂度​WebSocket图片帧​定时拍照Base64传输✅ 完全免费无需服务器 纯前端实现高延迟高流量 帧率极低个人demo测试 超低频监控500ms-2s⭐⭐​RTMP推流​TRTC/即构SDK推流❌ 付费方案 (部分有免费额度&#x…...

3403. 从盒子中找出字典序最大的字符串 I

3403. 从盒子中找出字典序最大的字符串 I 题目链接:3403. 从盒子中找出字典序最大的字符串 I 代码如下: class Solution { public:string answerString(string word, int numFriends) {if (numFriends 1) {return word;}string res;for (int i 0;i &…...

力扣-35.搜索插入位置

题目描述 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 class Solution {public int searchInsert(int[] nums, …...

推荐 github 项目:GeminiImageApp(图片生成方向,可以做一定的素材)

推荐 github 项目:GeminiImageApp(图片生成方向,可以做一定的素材) 这个项目能干嘛? 使用 gemini 2.0 的 api 和 google 其他的 api 来做衍生处理 简化和优化了文生图和图生图的行为(我的最主要) 并且有一些目标检测和切割(我用不到) 视频和 imagefx 因为没 a…...

[免费]微信小程序问卷调查系统(SpringBoot后端+Vue管理端)【论文+源码+SQL脚本】

大家好,我是java1234_小锋老师,看到一个不错的微信小程序问卷调查系统(SpringBoot后端Vue管理端)【论文源码SQL脚本】,分享下哈。 项目视频演示 【免费】微信小程序问卷调查系统(SpringBoot后端Vue管理端) Java毕业设计_哔哩哔哩_bilibili 项…...

Git 3天2K星标:Datawhale 的 Happy-LLM 项目介绍(附教程)

引言 在人工智能飞速发展的今天,大语言模型(Large Language Models, LLMs)已成为技术领域的焦点。从智能写作到代码生成,LLM 的应用场景不断扩展,深刻改变了我们的工作和生活方式。然而,理解这些模型的内部…...