linux安全加固核心是ssh加固、防火墙默认拒绝、权限最小化:禁用root登录和密码认证,改ssh端口并限制来源;ufw/firewalld默认拒入,仅放行必要服务;删除无用账户,sudo按需授权,关键文件加锁,日志外发留存。

直接上干货:一份真正能落地的 Linux 安全加固与防火墙配置指南,不堆概念、不讲空话,聚焦生产环境最常踩坑的环节——SSH 入口、网络暴露面、权限控制这三块硬骨头。
SSH 安全加固:堵死最常见攻击入口
SSH 是服务器被攻破的第一道缺口。默认配置等于把钥匙挂在门把手上。
-
禁用 root 直接登录:编辑
/etc/ssh/sshd_config,设PermitRootLogin no;操作前务必先建好带sudo权限的普通用户,否则可能锁死自己 -
只允许密钥登录:确认
PasswordAuthentication no和PubkeyAuthentication yes同时生效;本地生成密钥用ssh-keygen -t ed25519,上传公钥用ssh-copy-id -i ~/.ssh/id_ed25519.pub user@host -
改掉默认端口:把
Port 22改成 10000–65535 范围内的非标端口(如Port 22222),重启sshd后,别忘了在防火墙里同步放行新端口 -
限制登录范围:用
AllowUsers admin@192.168.1.0/24或AllowGroups sshusers控制谁能连;配合防火墙做双重过滤更稳妥
防火墙配置:默认拒绝,按需开放
不设防火墙,等于没装门锁。UFW 适合 Ubuntu/Debian,firewalld 更适配 RHEL/CentOS,选一个用透就行。
-
UFW 快速启用:执行
sudo ufw default deny incoming(默认拒入)、sudo ufw default allow outgoing(默认允出);再用sudo ufw allow 22222/tcp开 SSH,sudo ufw enable激活 -
firewalld 精准管控:设默认区域为
public,仅开放必要服务:sudo firewall-cmd --permanent --add-service=ssh、--add-service=https;删掉默认开的dhcp、dns等冗余服务 -
状态与连接跟踪必须开:无论用哪个工具,都要确保已建立连接(
ESTABLISHED,RELATED)能自动放行,否则主动发起的请求(如 yum/apt 更新)会失败
最小权限与基础防护补位
防火墙和 SSH 是大门,但门内还得管好人、管好文件、管好日志。
-
用户与 sudo 权限收紧:删除无用账户(
sudo userdel -r guest);用visudo编辑/etc/sudoers,避免给用户ALL=(ALL:ALL) ALL这种全权;按需分配命令,比如只允许重启 nginx:%webadmin ALL=(root) /bin/systemctl restart nginx -
关键配置文件加锁:对
/etc/shadow、/etc/ssh/sshd_config执行sudo chattr +i(不可修改),需要改时再chattr -i;注意别锁错文件导致系统异常 -
日志不能只存本地:本地日志容易被清空或篡改。建议用
rsyslog或journalctl --send-to=remote把 auth.log、secure、messages 发到独立日志服务器,至少保留 90 天
安全不是一劳永逸的事。这套配置做完,能挡住 95% 的自动化扫描和暴力破解,但真正的风险往往来自人——定期审计 sudo 日志、检查异常登录 IP、更新系统补丁,才是长期守住底线的关键。











