Linux安全配置误区总结_常见错误规避技巧【教程】
发布时间 - 2025-12-29 00:00:00 点击率:次必须禁用root弱口令、定期更新防火墙规则、关闭SSH密码登录、为/tmp挂载noexec/nosuid选项。管理员常忽视配置与实际运行态的持续对齐,导致安全策略形同虚设。
root密码设成123456或空密码
很多管理员在初始化系统后,为图省事把 root 密码设成弱口令,甚至留空。这等于给攻击者直接开后门——只要能连上 SSH 或本地终端,就能立刻获得最高权限。
- 检查方式:
sudo grep 'root:' /etc/shadow | cut -d: -f2
若输出为*、!或为空,说明密码被锁定或未设置;若是一串短哈希(如$1$...),需用工具验证强度 - 强制启用强密码策略:安装
pam_pwquality,并在/etc/pam.d/common-password中确保有password requisite pam_pwquality.so retry=3 minlen=12 difok=3 - 更安全的做法是禁用
root密码登录,改用密钥+普通用户提权:PermitRootLogin no
加入/etc/ssh/sshd_config,再用sudo控制权限边界
firewalld或iptables规则长期不更新
刚装系统时配了一套防火墙规则,之后几年从不 review,这是典型“一次
配置,永久遗忘”。新服务上线、端口变更、内网拓扑调整都会让旧规则失效甚至起反作用。
- 定期导出当前规则比对:
sudo firewall-cmd --list-all
或sudo iptables -L -n -v
,重点关注INPUT链中是否开放了22、80、443以外的端口 - 避免无条件放行内网:
source zone: internal不等于安全,内部网段若存在失陷主机,会绕过所有外网限制 - 临时调试后忘记关闭端口很常见:用
firewall-cmd --remove-port=8080/tcp --permanent清理残留,再firewall-cmd --reload
SSH默认端口22 + 密码登录长期开启
暴露 22 端口在公网等于每天接收数万次暴力破解请求。即便密码够强,高频尝试也会触发 PAM 锁定机制,反而导致合法用户被踢出。
- 改端口只是基础项,真正有效的是禁用密码登录:
PasswordAuthentication no
和PubkeyAuthentication yes
必须同时生效 - 密钥必须带密码短语(passphrase),否则私钥文件一旦泄露即等同于密码泄露
- 限制可登录用户范围比改端口更重要:
AllowUsers deploy@192.168.1.* admin@2001:db8::/64
可精确到 IP 段和用户名
/tmp 目录未挂载 noexec,nosuid
/tmp 是攻击链常用跳板:上传恶意二进制、构造 LD_PRELOAD、利用 world-writable 目录提权。默认挂载几乎都不加安全选项。
- 检查当前挂载参数:
mount | grep ' /tmp '
,若没看到noexec,nosuid,nodev就存在风险 - 临时挂载(重启失效):
sudo mount -o remount,noexec,nosuid,nodev /tmp
- 永久生效需改
/etc/fstab对应行,例如:tmpfs /tmp tmpfs defaults,noexec,nosuid,nodev,size=2G 0 0
;注意不要影响依赖/tmp写临时文件的服务(如某些 Java 应用)
实际运维中,最常被忽略的是规则与现实的脱节——比如防火墙放行了数据库端口,但应用早已迁走;或者 SSH 密钥轮换了,却忘了清理旧公钥。安全不是配完就结束的事,而是持续对齐配置与运行态的过程。
# linux
# word
# java
# node
# 防火墙
# 端口
# 工具
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
教你用AI将一段旋律扩展成一首完整的曲子
JavaScript如何实现路由_前端路由原理是什么
如何撰写建站申请书?关键要点有哪些?
Laravel如何使用Livewire构建动态组件?(入门代码)
Laravel如何记录日志_Laravel Logging系统配置与自定义日志通道
武汉网站设计制作公司,武汉有哪些比较大的同城网站或论坛,就是里面都是武汉人的?
高防服务器租用首荐平台,企业级优惠套餐快速部署
详解阿里云nginx服务器多站点的配置
如何在局域网内绑定自建网站域名?
Laravel怎么创建控制器Controller_Laravel路由绑定与控制器逻辑编写【指南】
Python自动化办公教程_ExcelWordPDF批量处理案例
ChatGPT常用指令模板大全 新手快速上手的万能Prompt合集
html5如何设置样式_HTML5样式设置方法与CSS应用技巧【教程】
Win10如何卸载预装Edge扩展_Win10卸载Edge扩展教程【方法】
Laravel如何创建自定义Facades?(详细步骤)
Android滚轮选择时间控件使用详解
三星、SK海力士获美批准:可向中国出口芯片制造设备
网站设计制作书签怎么做,怎样将网页添加到书签/主页书签/桌面?
香港服务器租用费用高吗?如何避免常见误区?
制作ppt免费网站有哪些,有哪些比较好的ppt模板下载网站?
Laravel Telescope怎么调试_使用Laravel Telescope进行应用监控与调试
Laravel Eloquent访问器与修改器是什么_Laravel Accessors & Mutators数据处理技巧
Laravel Octane如何提升性能_使用Laravel Octane加速你的应用
制作企业网站建设方案,怎样建设一个公司网站?
EditPlus中的正则表达式实战(5)
Laravel如何实现全文搜索_Laravel Scout集成Algolia或Meilisearch教程
浅谈Javascript中的Label语句
如何在阿里云完成域名注册与建站?
Laravel怎么调用外部API_Laravel Http Client客户端使用
Laravel中的withCount方法怎么高效统计关联模型数量
如何快速搭建高效服务器建站系统?
Python3.6正式版新特性预览
新三国志曹操传主线渭水交兵攻略
如何基于PHP生成高效IDC网络公司建站源码?
Windows Hello人脸识别突然无法使用
js实现点击每个li节点,都弹出其文本值及修改
JavaScript如何实现错误处理_try...catch如何捕获异常?
Laravel如何设置定时任务(Cron Job)_Laravel调度器与任务计划配置
Laravel如何设置自定义的日志文件名_Laravel根据日期或用户ID生成动态日志【技巧】
Laravel如何使用Guzzle调用外部接口_Laravel发起HTTP请求与JSON数据解析【详解】
如何用腾讯建站主机快速创建免费网站?
如何正确选择百度移动适配建站域名?
如何用好域名打造高点击率的自主建站?
Laravel 419 page expired怎么解决_Laravel CSRF令牌过期处理
如何在宝塔面板中创建新站点?
如何在腾讯云免费申请建站?
如何在沈阳梯子盘古建站优化SEO排名与功能模块?
使用C语言编写圣诞表白程序
Laravel如何获取当前登录用户信息_Laravel Auth门面使用与Session用户读取【技巧】
利用JavaScript实现拖拽改变元素大小

