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也就是跨进程去使用,只能适用在单体项目中如下图: 为了解决这种场景,我们就需要用一个锁监视器对全部集群进行监视…...
mongodb源码分析session执行handleRequest命令find过程
mongo/transport/service_state_machine.cpp已经分析startSession创建ASIOSession过程,并且验证connection是否超过限制ASIOSession和connection是循环接受客户端命令,把数据流转换成Message,状态转变流程是:State::Created 》 St…...
NFT模式:数字资产确权与链游经济系统构建
NFT模式:数字资产确权与链游经济系统构建 ——从技术架构到可持续生态的范式革命 一、确权技术革新:构建可信数字资产基石 1. 区块链底层架构的进化 跨链互操作协议:基于LayerZero协议实现以太坊、Solana等公链资产互通,通过零知…...
全面解析各类VPN技术:GRE、IPsec、L2TP、SSL与MPLS VPN对比
目录 引言 VPN技术概述 GRE VPN 3.1 GRE封装结构 3.2 GRE的应用场景 GRE over IPsec 4.1 GRE over IPsec封装结构 4.2 为什么使用GRE over IPsec? IPsec VPN 5.1 IPsec传输模式(Transport Mode) 5.2 IPsec隧道模式(Tunne…...
企业如何增强终端安全?
在数字化转型加速的今天,企业的业务运行越来越依赖于终端设备。从员工的笔记本电脑、智能手机,到工厂里的物联网设备、智能传感器,这些终端构成了企业与外部世界连接的 “神经末梢”。然而,随着远程办公的常态化和设备接入的爆炸式…...
云原生玩法三问:构建自定义开发环境
云原生玩法三问:构建自定义开发环境 引言 临时运维一个古董项目,无文档,无环境,无交接人,俗称三无。 运行设备的环境老,本地环境版本高,ssh不过去。正好最近对 腾讯出品的云原生 cnb 感兴趣&…...
管理学院权限管理系统开发总结
文章目录 🎓 管理学院权限管理系统开发总结 - 现代化Web应用实践之路📝 项目概述🏗️ 技术架构设计后端技术栈前端技术栈 💡 核心功能特性1. 用户管理模块2. 权限管理系统3. 统计报表功能4. 用户体验优化 🗄️ 数据库设…...
基于SpringBoot在线拍卖系统的设计和实现
摘 要 随着社会的发展,社会的各行各业都在利用信息化时代的优势。计算机的优势和普及使得各种信息系统的开发成为必需。 在线拍卖系统,主要的模块包括管理员;首页、个人中心、用户管理、商品类型管理、拍卖商品管理、历史竞拍管理、竞拍订单…...
腾讯云V3签名
想要接入腾讯云的Api,必然先按其文档计算出所要求的签名。 之前也调用过腾讯云的接口,但总是卡在签名这一步,最后放弃选择SDK,这次终于自己代码实现。 可能腾讯云翻新了接口文档,现在阅读起来,清晰了很多&…...
代码规范和架构【立芯理论一】(2025.06.08)
1、代码规范的目标 代码简洁精炼、美观,可持续性好高效率高复用,可移植性好高内聚,低耦合没有冗余规范性,代码有规可循,可以看出自己当时的思考过程特殊排版,特殊语法,特殊指令,必须…...
Ubuntu Cursor升级成v1.0
0. 当前版本低 使用当前 Cursor v0.50时 GitHub Copilot Chat 打不开,快捷键也不好用,当看到 Cursor 升级后,还是蛮高兴的 1. 下载 Cursor 下载地址:https://www.cursor.com/cn/downloads 点击下载 Linux (x64) ,…...
