当前位置:首页>Linux>Linux 服务器安全加固实操,生产基线配置 Day25

Linux 服务器安全加固实操,生产基线配置 Day25

  • 2026-09-02 16:26:54
Linux 服务器安全加固实操,生产基线配置 Day25

前面我们掌握防火墙策略,做好网络访问防护。但防火墙只是外部防线,如果系统本身存在大量安全短板,黑客依然能够暴力破解、入侵服务器。

今天分享一套可以直接落地的 Linux服务器安全加固方案,适用于云服务器、物理机,包含SSH加固、账号权限、密码策略、系统风险管控、日常巡检清单。线上服务器上线前,建议逐项配置!

一、今日学习目标

✅ SSH远程登录全方位安全优化,抵御暴力破解

✅ 禁用root远程登录,规范普通账号权限

✅ 配置密码复杂度、登录失败限制

✅ sudo权限精细化管理,避免权限泛滥

✅ 关闭无用服务、禁用危险功能

✅ 整理服务器常态化安全巡检清单

二、重中之重:SSH服务加固(入侵最高频发点)

SSH配置文件路径: /etc/ssh/sshd_config 

bash    

vim /etc/ssh/sshd_config

推荐修改项

1. 禁止root账号远程登录(必开)

plaintext    

PermitRootLogin no

后续使用普通账号登录,需要管理员权限再切换root

2. 修改默认22端口(可选,降低扫描概率)

plaintext    

Port 22022

⚠️ 修改端口前,防火墙、云服务器安全组同步放行新端口,防止远程失联!

3. 关闭密码登录,优先使用密钥登录(生产强烈推荐)

plaintext    

PasswordAuthentication no

4. 空闲超时自动断开连接

plaintext    

ClientAliveInterval 300

ClientAliveCountMax 3

空闲5分钟自动踢下线

修改完成重启sshd服务生效

bash    

systemctl restart sshd

SSH免密密钥登录回顾

本地生成密钥  ssh-keygen 

公钥上传服务器  ssh-copy-id user@ip 

开启密钥登录后,可以彻底关闭密码认证,杜绝暴力破解。

三、账号与密码安全策略

1. 创建普通运维账号,禁止日常直接使用root

bash    

useradd ops

passwd ops

2. 配置密码复杂度策略

配置文件  /etc/security/pam.d/system-auth (CentOS)

Ubuntu路径  /etc/pam.d/common-password 

设置规则:密码长度不少于8位,包含大小写、数字、符号。

3. 限制登录失败次数,防止暴力破解(pam模块)

连续5次密码错误,锁定账号10分钟,阻挡暴力猜密码

bash    

vim /etc/pam.d/sshd

# 添加内容

auth required pam_tally2.so onerr=fail deny=5 unlock_time=600

4. 清理无用账号

bash    

# 查看所有系统账号

cat /etc/passwd

# 删除长期闲置不用的账号

userdel 用户名

四、sudo权限精细化管控

很多运维直接给普通账号ALL全部权限,风险极高。遵循最小权限原则。

sudo配置文件: visudo (不要直接vim编辑,自带语法校验)

示例:允许ops账号只能执行systemctl、nginx相关命令,禁止任意root权限

plaintext    

ops ALL=(ALL) /usr/bin/systemctl,/usr/bin/nginx

禁止配置(高危写法):

plaintext    

ops ALL=(ALL) NOPASSWD: ALL

五、系统基础风险加固

1. 关闭不需要开机自启的无用服务

bash    

# 查看全部自启服务

systemctl list-unit-files --type=service

# 关闭不必要服务

systemctl disable postfix

2. 禁止ICMP ping(可选,防止被扫描探测)

bash    

echo net.ipv4.icmp_echo_ignore_all=1 >> /etc/sysctl.conf

sysctl -p

3. 内核参数优化,抵御简单DDOS、网络攻击

bash    

vim /etc/sysctl.conf

# 防止SYN攻击

net.ipv4.tcp_syncookies = 1

# 禁止IP转发(非网关服务器)

net.ipv4.ip_forward = 0

4. 文件权限安全

重要配置设置严格权限,防止普通用户篡改

bash    

chmod 600 /etc/shadow

chmod 644 /etc/passwd

六、审计与日志监控,方便入侵追溯

1. 保证rsyslog日志服务持续运行,留存登录日志

bash    

systemctl enable --now rsyslog

2. 重点定期查看登录日志,发现异常登录IP

bash    

# 查看ssh登录记录

lastlog

last

# 查看失败登录

grep "Failed password" /var/log/secure

如果大量陌生IP持续尝试登录,及时在防火墙拉黑IP。

七、自动化安全巡检清单(日常运维定期执行)

把下面命令整理成巡检脚本,定期执行:

bash    

#1. 查看异常登录

last

#2. 查看监听端口,发现陌生对外开放端口

ss -tulnp

#3. 查看可疑进程

ps -ef

#4. 检查账号权限,是否新增未知账号

cat /etc/passwd

#5. 防火墙规则核查

firewall-cmd --list-all

#6. 磁盘占用、查找超大未知文件

df -h && du -sh /*

八、加固避坑重要提醒

1. 禁止先断开所有远程连接再修改SSH配置!

修改sshd配置后,新开一个终端窗口测试登录,确认正常再关闭原有连接,防止配置错误无法远程。

2. 修改SSH端口后,防火墙、云平台安全组双向放行。

3. 不要一味依赖加固策略,定期升级系统补丁:

bash    

# CentOS

yum update -y

# Ubuntu

apt update && apt upgrade -y

4. 重要服务器尽量不要直接暴露公网,可通过跳板机登录。

九、今日实操作业

bash    

#1. 打开sshd配置文件,熟悉各项安全参数

vim /etc/ssh/sshd_config

#2. 创建普通测试账号,练习配置sudo有限权限

visudo

#3. 查看历史登录日志,检查是否存在异常登录IP

last

grep "Failed password" /var/log/secure

#4. 查看系统自启服务,识别无用程序

systemctl list-unit-files --type=service

十、今日知识点总结

1. SSH是入侵重灾区:禁root远程、密钥登录、修改端口、超时断开是核心手段

2. 账号安全:最小权限原则,不日常使用root操作服务器

3. sudo严格限制可执行命令,杜绝全盘开放权限

4. 利用pam模块限制密码错误次数,抵御暴力破解

5. 内核参数、无用服务清理进一步缩小攻击面

6. 常态化查看登录日志,及时发现入侵行为

✅ 到今天,网络防火墙 + 系统加固双线安全体系搭建完成!

实操过程中遇到报错或者疑问,欢迎在评论区留言一起探讨。关注「嘟嘟嘟的运维冒险」,持续更新Linux实战学习干货。

#Linux 入门 #服务器加固 #系统安全 #运维实战

最新文章

随机文章