linux常用加固方式
目录
一.系统加固
二.ssh加固
三.换个隐蔽的端口
四.防火墙配置
五.用户权限管理
六.暴力破解防护
七.病毒防护
八.磁盘加密
九.双因素认证2FA
十.日志监控
十一.精简服务
一.系统加固
第一步:打好系统补丁
sudo apt update && sudo apt upgrade -y
可以设置自动更新:
sudo apt install unattended-upgradessudo dpkg-reconfigure --priority=low unattended-upgrades
二.ssh加固
1.禁止root直接登录:
sudo vim /etc/ssh/sshd_config
将其改为 PermitRootLogin no

2.用秘钥代替密码登录:
先在电脑上生成密钥:
/usr/bin/ssh-keygen -t rsa -b 4096

然后把公钥放到服务器上:
手动复制:先查看自己生成的公钥内容:
cat ~/.ssh/id_rsa.pub
然后将其复制到服务器的相应文件
远程复制:
ssh-copy-id username@server_ip
关闭密码登录:
vim /etc/ssh/sshd_config~

将root登录的替换公钥:
vim /root/.ssh/authorized_keys
检测配置公钥是否有效,登录验证:
ssh -i ~/.ssh/id_rsa root@your_server_ip
三.换个隐蔽的端口
修改配置文件:
sudo vim /etc/ssh/sshd_config~
将端口22改为2222

修改防火墙允许通过2222端口
UFW防火墙:
sudo ufw allow 2222/tcpsudo ufw reload
如果启用了22端口,直接禁用它:
sudo ufw deny 22/tcp
使用 firewalld:
sudo firewall-cmd --add-port=2222/tcp --permanentsudo firewall-cmd --reload
禁用22端口
sudo firewall-cmd --remove-port=22/tcp --permanentsudo firewall-cmd --reload
重启ssh服务:
sudo systemctl restart sshd/ssh
更改验证:
ssh -p 2222 username@hostname
四.防火墙配置
UFW是Ubuntu自带的防火墙
安装UFW:
sudo apt install ufw
只开放需要的端口:
sudo ufw allow 2222/tcp # SSH端口sudo ufw allow httpsudo ufw allow https
启动防火墙:
sudo ufw enable
查看防火墙状态
sudo ufw status
五.用户权限管理
1.创建一个新的用户:
sudo adduser newuser
2.给sudo分配权限:
sudo usermod -aG sudo newuser
3.设置sudo超时:
sudo visudo
所有用户的sudo超时时间30分钟:
添加一行:Defaults timestamp_timeout=30

特定用户的超时时间:5分钟
username ALL=(ALL) ALL, timestamp_timeout=5
六.暴力破解防护
更新软件包:
sudo apt upgrade
下载:
sudo apt install fail2ban
默认位置:
/etc/fail2ban/目录
启动Fail2ban服务:
sudo systemctl start fail2ban
设置开机自启动:
sudo systemctl enable fail2ban
查看SSH的保护状态:
sudo fail2ban-client status sshd
七.病毒防护
ClamAV是Linux下的免费杀毒软件,下载
先更新系统:
sudo apt upgrade
安装ClamAV:
sudo apt install clamav clamav-daemon
更新病毒库:
sudo freshclam
扫描文件:
sudo clamscan -r --bell /path/to/scan 递归扫描目录并发出声音提醒
八.磁盘加密
一般使用LUKS
步骤一:
先下载工具:
sudo apt-get install cryptsetup
创建一个文件作为加密目录:
dd if=/dev/zero of=/path/to/encrypted_container bs=1M count=100
初始化LUKS容器:
sudo cryptsetup luksFormat /path/to/encrypted_container
打开LUKS容器:
sudo cryptsetup luksOpen /path/to/encrypted_container encrypted_volume
会创建一个名为encrypted_volume的设备(通常在/dev/mapper/目录下)
步骤二:创建文件系统挂载
在加密设备上创建
sudo mkfs.ext4 /dev/mapper/encrypted_volume
你可以根据需要选择文件系统类型(如ext4、xfs等)
创建一个挂载点并挂载加密设备
sudo mkdir /mnt/encrypted_directorysudo mount /dev/mapper/encrypted_volume /mnt/encrypted_directory
步骤三:配置自动挂载加密设备:
sudo nano/vim /etc/crypttab
添加一行:encrypted_volume /path/to/encrypted_container none luks
sudo nano/vim /etc/fstab
添加一行:/dev/mapper/encrypted_volume /mnt/encrypted_directory ext4 defaults 0 2
3.可以选择性更新initramfs
sudo update-initramfs -u
步骤四:存储和访问数据
你可以将重要数据复制到 /mnt/encrypted_directory 目录中。完成操作后,可以卸载和关闭加密设备:
卸载加密目录:
sudo umount /mnt/encrypted_directory
关闭加密设备:
sudo cryptsetup luksClose encrypted_volume
九.双因素认证2FA
安装Google认证器:
sudo apt install libpam-google-authenticator
配置PAM模块:
修改/etc/pam.d/sshd 在文件末尾加:auth required pam_google_authenticator.so
配置ssh服务:
修改/etc/ssh/sshd_config 确保ChallengeResponseAuthentication和UsePAM设置为yes
重启ssh服务:
sudo systemctl restart sshd
初始化Google Authenticator
生成二维码和秘钥:
google-authenticator,按照提示进行操作
使用手机上的Google Authenticator应用扫描二维码进行配置
十.日志监控
更新软件包:
sudo apt updatesudo apt install logwatchsudo logwatch --detail high --mailto your-email@example.com
安装完成,主配置文件通常在:
/usr/share/logwatch/default.conf/logwatch.conf
/etc/logwatch/conf/logwatch.conf
写上自己电子邮箱
sudo logwatch --detail high --mailto your-email@example.com
手动运行:
sudo logwatch --output file --filename /var/log/logwatch.log
可以配置计划任务运行:
* * * * * /usr/sbin/logwatch --detail High --mailto your-email@example.com --service all --range today
十一.精简服务
没用的服务关掉
# 查看运行的服务
systemctl list-units --type=service --state=running
# 关闭不需要的服务
sudo systemctl stop service_namesudo systemctl disable service_name
相关文章:
linux常用加固方式
目录 一.系统加固 二.ssh加固 三.换个隐蔽的端口 四.防火墙配置 五.用户权限管理 六.暴力破解防护 七.病毒防护 八.磁盘加密 九.双因素认证2FA 十.日志监控 十一.精简服务 一.系统加固 第一步:打好系统补丁 sudo apt update && sudo apt upgra…...
笔灵ai写作技术浅析(二):自然语言处理
一、词法分析(Lexical Analysis) 1.1 概述 词法分析是NLP的第一步,主要任务是将连续的文本分割成有意义的单元(词或词组),并对这些单元进行标注,如词性标注(POS tagging)。词法分析的质量直接影响后续的句法分析和语义理解。 1.2 技术细节 1.分词(Tokenization)…...
PyCharm介绍
PyCharm的官网是https://www.jetbrains.com/pycharm/。 以下是在PyCharm官网下载和安装软件的步骤: 下载步骤 打开浏览器,访问PyCharm的官网https://www.jetbrains.com/pycharm/。在官网首页,点击“Download”按钮进入下载页面。选择适合自…...
深度解析:基于Vue 3与Element Plus的学校管理系统技术实现
一、项目架构分析 1.1 技术栈全景 核心框架:Vue 3 TypeScript UI组件库:Element Plus(含图标动态注册) 状态管理:Pinia(用户状态持久化) 路由方案:Vue Router(动态路…...
Python从0到100(八十五):神经网络-使用迁移学习完成猫狗分类
前言: 零基础学Python:Python从0到100最新最全教程。 想做这件事情很久了,这次我更新了自己所写过的所有博客,汇集成了Python从0到100,共一百节课,帮助大家一个月时间里从零基础到学习Python基础语法、Python爬虫、Web开发、 计算机视觉、机器学习、神经网络以及人工智能…...
苍穹外卖 项目记录 day09 历史订单
文章目录 查询历史订单查询订单详情取消订单再来一单 查询历史订单 分页查询历史订单可以根据订单状态查询展示订单数据时,需要展示的数据包括:下单时间、订单状态、订单金额、订单明细(商品名称、图片) #OrderController/*** 历…...
记录 | 基于Docker Desktop的MaxKB安装
目录 前言一、MaxKBStep 1Step2 二、运行MaxKB更新时间 前言 参考文章:如何利用智谱全模态免费模型,生成大家都喜欢的图、文、视并茂的文章! MaxKB的Github下载地址 参考视频:【2025最新MaxKB教程】10分钟学会一键部署本地私人专属…...
WordPress web-directory-free插件存在本地文件包含导致任意文件读取漏洞(CVE-2024-3673)
免责声明: 本文旨在提供有关特定漏洞的深入信息,帮助用户充分了解潜在的安全风险。发布此信息的目的在于提升网络安全意识和推动技术进步,未经授权访问系统、网络或应用程序,可能会导致法律责任或严重后果。因此,作者不对读者基于本文内容所采取的任何行为承担责任。读者在…...
LLM:BERT or BART 之BERT
文章目录 前言一、BERT1. Decoder-only2. Encoder-only3. Use of Bidirectional Context4. Masked Language Model (MLM)5. Next Sentence Prediction (NSP)6. Fine-tune1、情感分析2、句对分析3、命名实体识别(NER) 7. BERT总结 总结 前言 NLP选手对这…...
EtherCAT主站IGH-- 18 -- IGH之fsm_mbox_gateway.h/c文件解析
EtherCAT主站IGH-- 18 -- IGH之fsm_mbox_gateway.h/c文件解析 0 预览一 该文件功能`fsm_mbox_gateway.c` 文件功能函数预览二 函数功能介绍`fsm_mbox_gateway.c` 中主要函数的作用1. `ec_fsm_mbg_init`2. `ec_fsm_mbg_clear`3. `ec_fsm_mbg_transfer`4. `ec_fsm_mbg_exec`5. `e…...
深入探讨防抖函数中的 this 上下文
深入剖析防抖函数中的 this 上下文 最近我在研究防抖函数实现的时候,发现一个耗费脑子的问题,出现了令我困惑的问题。接下来,我将通过代码示例,深入探究这些现象背后的原理。 示例代码 function debounce(fn, delay) {let time…...
【AI论文】魔鬼在细节:关于在训练专用混合专家模型时实现负载均衡损失
摘要:本文重新审视了在训练混合专家(Mixture-of-Experts, MoEs)模型时负载均衡损失(Load-Balancing Loss, LBL)的实现。具体来说,MoEs的LBL定义为N_E乘以从1到N_E的所有专家i的频率f_i与门控得分平均值p_i的…...
Gurobi基础语法之addVar 和 addVars
addVar 和 addVars作为 Gurobi模型对象中的方法,常常用来生成变量,本文介绍了Python中的这两个接口的使用 addVar addVar(lb0.0, ubfloat(inf), obj0.0, vtypeGRB.CONTINUOUS, name, columnNone) lb 和 ub让变量在生成的时候就有下界和上届,…...
C语言学习阶段性总结(五)---函数
函数构成五要素: 1、返回值类型 2、函数名 3、参数列表(输入) 4、函数体 (算法) 5、返回值 (输出) 返回值类型 函数名 (参数列表) { 函数体; return 返回值; } void 类型…...
K8S 快速实战
K8S 核心架构原理: 我们已经知道了 K8S 的核心功能:自动化运维管理多个容器化程序。那么 K8S 怎么做到的呢?这里,我们从宏观架构上来学习 K8S 的设计思想。首先看下图: K8S 是属于主从设备模型(Master-Slave 架构),即有 Master 节点负责核心的调度、管理和运维,Slave…...
java后端之事务管理
Transactional注解:作用于业务层的方法、类、接口上,将当前方法交给spring进行事务管理,执行前开启事务,成功执行则提交事务,执行异常回滚事务 spring事务管理日志: 默认情况下,只有出现Runti…...
【Redis】缓存+分布式锁
目录 缓存 Redis最主要的使用场景就是作为缓存 缓存的更新策略: 1.定期生成 2.实时生成 面试重点: 缓存预热(Cache preheating): 缓存穿透(Cache penetration) 缓存雪崩 (Cache avalan…...
二分查找题目:寻找两个正序数组的中位数
文章目录 题目标题和出处难度题目描述要求示例数据范围 解法一思路和算法代码复杂度分析 解法二思路和算法代码复杂度分析 题目 标题和出处 标题:寻找两个正序数组的中位数 出处:4. 寻找两个正序数组的中位数 难度 8 级 题目描述 要求 给定两个大…...
网络安全 | F5-Attack Signatures详解
关注:CodingTechWork 关于攻击签名 攻击签名是用于识别 Web 应用程序及其组件上攻击或攻击类型的规则或模式。安全策略将攻击签名中的模式与请求和响应的内容进行比较,以查找潜在的攻击。有些签名旨在保护特定的操作系统、Web 服务器、数据库、框架或应…...
Redis --- 分布式锁的使用
我们在上篇博客高并发处理 --- 超卖问题一人一单解决方案讲述了两种锁解决业务的使用方法,但是这样不能让锁跨JVM也就是跨进程去使用,只能适用在单体项目中如下图: 为了解决这种场景,我们就需要用一个锁监视器对全部集群进行监视…...
SEO优化的预算一般应如何合理安排
SEO优化的预算一般应如何合理安排 在当今数字化时代,网站的搜索引擎优化(SEO)已成为提升网站流量和品牌知名度的重要手段。如何合理分配SEO优化预算成为许多企业和网站管理者面临的一个重要课题。本文将从问题分析、原因说明、解决方法、注意…...
如何精准定制鼠单克隆抗体?
一、为何鼠单克隆抗体仍是定制研发的主流选择?鼠单克隆抗体作为生物医学研究的重要工具,在定制开发领域占据着不可替代的地位。这主要源于其技术体系的成熟性、标准化的操作流程以及广泛的应用验证基础。自杂交瘤技术问世以来,小鼠作为免疫动…...
OpenClaw邮件处理自动化:Qwen3-4B智能分类与回复草拟
OpenClaw邮件处理自动化:Qwen3-4B智能分类与回复草拟 1. 为什么需要邮件自动化助手 每天早晨打开邮箱时,面对堆积如山的未读邮件总让人心生畏惧。作为技术从业者,我经常需要处理技术咨询、合作邀约、社区讨论等各类邮件,手动分类…...
Qwen3.5-9B-AWQ-4bit多场景应用:法律合同截图关键条款提取+风险提示生成
Qwen3.5-9B-AWQ-4bit多场景应用:法律合同截图关键条款提取风险提示生成 1. 法律合同处理的痛点与解决方案 在法律实务工作中,合同审查是一项高频且重要的工作。传统方式下,律师需要: 逐页阅读纸质或电子版合同手动标记关键条款…...
3大核心功能:智慧树网课自动化学习解决方案
3大核心功能:智慧树网课自动化学习解决方案 【免费下载链接】zhihuishu 智慧树刷课插件,自动播放下一集、1.5倍速度、无声 项目地址: https://gitcode.com/gh_mirrors/zh/zhihuishu 诊断学习痛点 在线教育平台在提供便利的同时,也带来…...
OpenClaw性能对比:千问3.5-9B与其他模型实测
OpenClaw性能对比:千问3.5-9B与其他模型实测 1. 测试背景与实验设计 去年冬天第一次接触OpenClaw时,我就被它的本地化执行能力吸引。作为一个经常需要处理敏感数据的开发者,能够在本机完成自动化任务而不依赖云端服务,确实解决了…...
Phi-4-mini-reasoning实战:快速理解和复现经典黑马点评项目
Phi-4-mini-reasoning实战:快速理解和复现经典黑马点评项目 1. 项目背景与挑战 黑马点评作为经典的实战项目,涵盖了电商平台的核心功能模块,是许多开发者学习分布式系统架构的首选案例。然而对于初学者而言,面对这样一个包含多模…...
千问3.5-2B部署教程(低成本GPU方案):单卡24GB显存跑通开源VL模型实录
千问3.5-2B部署教程(低成本GPU方案):单卡24GB显存跑通开源VL模型实录 1. 千问3.5-2B模型介绍 千问3.5-2B是Qwen系列中的小型视觉语言模型(VL),它能够同时理解图片内容和处理自然语言。这个模型特别适合那些需要在有限硬件资源上…...
libssh2非阻塞模式实战:单线程管理多个SSH连接的高效技巧
libssh2非阻塞模式实战:单线程管理多个SSH连接的高效技巧 在当今分布式系统和自动化运维的浪潮中,SSH协议作为远程管理的黄金标准,其性能瓶颈往往出现在需要同时管理大量连接时。传统多线程方案不仅资源消耗大,还面临线程同步的复…...
MusePublic Art Studio部署步骤:bash /root/build/star.sh 启动全链路解析
MusePublic Art Studio部署步骤:bash /root/build/star.sh 启动全链路解析 1. 项目概述与核心价值 MusePublic Art Studio 是一款专为艺术家和设计师打造的AI图像生成工具,它基于业界顶尖的Stable Diffusion XL(SDXL)技术构建。…...
