linux系统如何升级防御?
美国、香港服务器
linux系统如何升级防御?
12-15 来源:
Linux 系统升级防御需从 账户权限、系统内核、网络防护、应用加固、日志审计 五个核心维度构建分层防护体系,结合工具与配置形成闭环,以下是可落地的操作方案,覆盖主流发行版(CentOS、Ubuntu):
一、 账户与权限加固:阻断非法登录入口
账户是攻击者的首要目标,需从登录限制、权限管控、密码策略三方面强化。
禁用 root 直接 SSH 登录
编辑 SSH 配置文件:
bash
运行
vi /etc/ssh/sshd_config
修改以下参数:
ini
PermitRootLogin no # 禁止 root 直接登录
PasswordAuthentication no # 关闭密码登录(推荐仅用密钥登录)
AllowUsers 运维账户名@授权IP # 仅允许指定账户+IP登录(如 admin@123.xxx.xxx.xxx)
重启 SSH 服务生效:
bash
运行
# CentOS/RHEL
systemctl restart sshd
# Ubuntu/Debian
systemctl restart ssh
配置强密码策略
安装 pam_cracklib 模块(强化密码复杂度):
bash
运行
# CentOS
yum install -y pam cracklib
# Ubuntu
apt install -y libpam-cracklib
编辑 /etc/pam.d/system-auth(CentOS)或 /etc/pam.d/common-password(Ubuntu),添加规则:
ini
# 密码长度≥12位,包含大小写、数字、特殊符号
password requisite pam_cracklib.so minlen=12 ucredit=-1 lcredit=-1 dcredit=-1 ocredit=-1
# 禁止使用最近5次用过的密码
password sufficient pam_unix.so remember=5
编辑 /etc/login.defs,设置密码有效期:
ini
PASS_MAX_DAYS 90 # 密码最长使用90天
PASS_MIN_DAYS 7 # 7天内不允许修改密码
PASS_WARN_AGE 15 # 密码过期前15天提醒
清理无用账户与限制 sudo 权限
删除测试账户、匿名账户:
bash
运行
userdel 无用账户名
编辑 /etc/sudoers(需用 visudo 命令,避免语法错误),仅授予运维账户最小权限:
bash
运行
visudo
添加规则(例如仅允许 admin 账户执行重启、服务管理命令):
ini
admin ALL=(ALL) NOPASSWD: /usr/bin/systemctl restart sshd, /usr/bin/firewall-cmd
二、 系统内核与服务加固:减少攻击面
通过精简服务、启用内核安全机制,降低系统被漏洞利用的风险。
关闭非必要服务
查看当前运行的服务:
bash
运行
systemctl list-unit-files --type=service --state=enabled
禁用危险 / 无用服务(如 Telnet、FTP、NFS、RPC 等):
bash
运行
# 禁用远程注册表服务(示例)
systemctl disable --now rpcbind
# 禁用打印服务(无打印需求时)
systemctl disable --now cups
启用内核安全机制
开启 SELinux(CentOS 核心防护)编辑 /etc/selinux/config:
ini
SELINUX=enforcing # 设为强制模式,拒绝所有违反策略的操作
重启生效,执行 getenforce 验证,输出 Enforcing 即为成功。
配置 sysctl 内核参数编辑 /etc/sysctl.conf,添加以下参数防御网络攻击:
ini
# 防御 SYN Flood 攻击
net.ipv4.tcp_syncookies = 1
# 禁止 IP 转发(非路由服务器)
net.ipv4.ip_forward = 0
# 禁止响应 ICMP 广播请求(防止 Smurf 攻击)
net.ipv4.icmp_echo_ignore_broadcasts = 1
# 限制每个 IP 的最大连接数
net.ipv4.tcp_max_syn_backlog = 2048
生效配置:
bash
运行
sysctl -p
启用文件完整性监控
安装 AIDE(高级入侵检测环境,监控关键文件篡改):
bash
运行
# CentOS
yum install -y aide
# Ubuntu
apt install -y aide
初始化数据库并启动监控:
bash
运行
aide --init # 生成初始文件指纹数据库
mv /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz
aide --check # 定期执行,检测文件是否被篡改
三、 网络防护:构建防火墙 + 入侵拦截双层屏障
结合 firewalld/ufw 防火墙与 fail2ban 工具,拦截暴力破解和异常流量。
配置防火墙规则(firewalld 为例)
启用 firewalld 并设为开机自启:
bash
运行
systemctl enable --now firewalld
仅放行必要端口(遵循最小授权原则):
bash
运行
# 放行 SSH(假设已改端口为 50000)
firewall-cmd --permanent --add-port=50000/tcp
# 放行 Web 服务(80/443)
firewall-cmd --permanent --add-port=80/tcp --add-port=443/tcp
# 拒绝所有其他入站流量(兜底规则)
firewall-cmd --permanent --set-default-zone=drop
# 重载生效
firewall-cmd --reload
Ubuntu 可使用 ufw 防火墙,逻辑一致:
bash
运行
ufw allow 50000/tcp
ufw allow 80/tcp
ufw default deny incoming
ufw enable
安装 Fail2ban 拦截暴力破解
安装 Fail2ban:
bash
运行
# CentOS
yum install -y fail2ban
# Ubuntu
apt install -y fail2ban
配置 SSH 防护规则,编辑 /etc/fail2ban/jail.local:
ini
[DEFAULT]
bantime = 3600 # 封禁 1 小时
findtime = 600 # 10 分钟内检测
maxretry = 5 # 失败 5 次即封禁
[sshd]
enabled = true
port = 50000 # 对应 SSH 修改后的端口
logpath = /var/log/secure # CentOS 日志路径,Ubuntu 为 /var/log/auth.log
启动并设为开机自启:
bash
运行
systemctl enable --now fail2ban
四、 应用与补丁加固:修复已知漏洞
及时更新系统和应用补丁,限制危险程序运行。
定期更新系统补丁
CentOS 执行:
bash
运行
yum update -y # 升级所有包(含内核)
# 仅升级安全补丁(推荐生产环境)
yum update --security -y
Ubuntu 执行:
bash
运行
apt update && apt upgrade -y
# 仅升级安全补丁
apt install -y unattended-upgrades
dpkg-reconfigure -plow unattended-upgrades
限制危险程序运行
禁用 PHP、Python 等脚本的危险函数(以 PHP 为例),编辑 php.ini:
ini
disable_functions = exec,system,passthru,shell_exec,popen,eval
禁止普通用户执行 sudo 外的特权命令,通过 chmod 限制关键程序权限:
bash
运行
chmod 700 /usr/bin/passwd # 仅 root 可修改密码
五、 日志审计与备份:实现可追溯 + 数据兜底
开启系统日志审计
安装 auditd(系统审计服务):
bash
运行
yum install -y auditd # CentOS
apt install -y auditd # Ubuntu
配置审计规则(监控关键文件修改),编辑 /etc/audit/rules.d/audit.rules:
ini
-w /etc/passwd -p wa -k passwd_changes # 监控 passwd 文件修改
-w /etc/ssh/sshd_config -p wa -k ssh_config # 监控 SSH 配置修改
启动 auditd:
bash
运行
systemctl enable --now auditd
查看审计日志:
bash
运行
ausearch -k passwd_changes
建立备份机制
使用 rsync 或 rclone 实现异地备份关键数据(如 /etc 配置目录、业务数据);
配置定时任务,例如每天凌晨备份:
bash
运行
crontab -e
# 添加规则:每天 1 点备份 /etc 到 /backup
0 1 * * * rsync -av /etc /backup/etc_$(date +%Y%m%d)
六、 验证防御效果(操作 - 验证闭环)
端口扫描验证:用 nmap 扫描服务器 IP,确认仅开放必要端口;
暴力破解测试:用非授权 IP 多次尝试 SSH 登录,验证 Fail2ban 是否封禁该 IP;
文件篡改测试:修改 /etc/passwd 测试 AIDE 是否能检测到变更。
三二互联专业提供香港VPS,美国VPS主机,香港云服务器租用等业务香港美国到大陆CN2 GIA速度最快