Ubuntu服务器防攻击+防病毒手册

📅 2026/7/10 5:01:19
Ubuntu服务器防攻击+防病毒手册
Ubuntu服务器防攻击防病毒手册本文是一套完整的Ubuntu服务器安全防护方案构建了系统、网络、杀毒、监控、运维全方位防护体系。通过系统补丁自动更新、账号权限及SSH加固、内核参数优化夯实系统底层安全。依托UFW防火墙、Fail2Ban拦截暴力破解筑牢网络边界防线。搭配ClamAV杀毒、Rootkit检测工具查杀病毒木马与后门。同时启用AppArmor权限管控、auditd日志审计实时监控服务器异常行为。配套自动化巡检、定时备份与入侵应急流程形成常态化安全运维机制可有效抵御爆破、漏洞利用、病毒入侵等各类服务器攻击。总览分层防护体系系统基础加固打补丁、账号、SSH、内核参数网络边界防护UFW 防火墙 Fail2Ban 防暴力破解病毒 / 木马 / 后门查杀ClamAV 杀毒 Rootkit 检测进程强制访问控制AppArmor日志审计、入侵监控、自动告警定期巡检、备份、应急处置前置说明火绒无免费 Linux 个人版Ubuntu 服务器杀毒统一使用开源免费 ClamAV企业商用可采购火绒 Linux 企业终端。一、第一道防线系统底层加固防漏洞入侵1. 杜绝漏洞利用攻击自动安全更新sudoaptupdatesudoaptinstall-yunattended-upgrades# 启用自动安全补丁更新sudodpkg-reconfigure-plowunattended-upgrades# 选择 Yes 开启自动更新# 查看更新配置cat/etc/apt/apt.conf.d/50unattended-upgrades# 查看更新日志tail-f/var/log/unattended-upgrades/unattended-upgrades.log2. 防止暴力登录、提权账号权限加固1新建普通 sudo 用户禁止 root 远程登录# 创建登录用户替换deploy为你的用户名sudoadduser deploy# 赋予sudo权限sudousermod-aGsudodeploy2清理危险账号# 查看空密码账号awk-F:($2){print $1}/etc/shadow# 删除无用测试账号sudouserdel-rtest# 锁定长期不用账号sudousermod-Lolduser3强制高强度密码策略sudoaptinstalllibpam-cracklibsudonano/etc/pam.d/common-password# 修改此行开启复杂度校验password required pam_cracklib.soretry3minlen10difok3dcredit-1ucredit-1lcredit-1ocredit-1参数说明10 位密码必须包含大小写、数字、特殊符号3 次输错锁定。3. 抵御 90% 扫描爆破SSH 全维度加固sudonano/etc/ssh/sshd_config# 修改/新增以下配置Port36742# 修改高位端口10000-65535云安全组同步放行PermitRootLogin no# 禁止root远程登录PasswordAuthentication no# 关闭密码登录仅允许密钥PubkeyAuthenticationyesMaxAuthTries3# 最多3次认证失败AllowUsers deploy# 仅允许deploy用户登录X11Forwarding no# 关闭X11转发减少攻击面PermitEmptyPasswords no# 重启ssh服务sudosystemctl restartssh操作提醒先放行新端口防火墙再重启 ssh避免锁服务器4. 内核安全参数 (sysctl) 防溢出、CC 攻击sudonano/etc/sysctl.conf# 复制全部配置# 1. 防SYN洪水、CC攻击net.ipv4.tcp_syncookies1net.ipv4.tcp_fin_timeout30net.ipv4.tcp_tw_reuse1net.ipv4.tcp_max_syn_backlog2048# 2. 禁止IP转发非网关服务器net.ipv4.ip_forward0# 3. 防止地址欺骗net.ipv4.conf.all.rp_filter1net.ipv4.conf.default.rp_filter1# 4. 关闭ICMP重定向net.ipv4.conf.all.send_redirects0net.ipv4.conf.default.send_redirects0# 5. 限制核心内存防护抵御内核提权kernel.randomize_va_space2# 生效配置sudosysctl-p5. 卸载无用服务缩小攻击面# 查看开机自启服务systemctl list-unit-files--typeservice--stateenabled# 关闭无用服务示例sudosystemctl disable--nowavahi-daemon cups rpcbind# 删除不必要软件sudoaptremove-ytelnet rsh xinetd vsftpdsudoaptautoremove-y二、网络防护UFW 防火墙 Fail2Ban 自动封禁1. 默认拒绝所有入站最小开放端口UFW 防火墙# 安装防火墙sudoaptinstallufw# 默认策略入站全部拒绝出站全部允许sudoufw default deny incomingsudoufw default allow outgoing# 放行SSH自定义端口替换36742为你ssh端口sudoufw allow36742/tcp# 放行Web服务sudoufw allow80/tcpsudoufw allow443/tcp# 数据库仅允许内网IP访问示例MySQLsudoufw allow from192.168.1.0/24 to any port3306# 启用防火墙sudoufwenable# 查看规则sudoufw status verbose2. Fail2Ban 自动拦截暴力破解 - SSH/Nginx/MySQL安装sudoaptinstallfail2ban推荐全局模板配置# 新建本地配置不修改默认jail.confsudocp/etc/fail2ban/jail.conf /etc/fail2ban/jail.localsudonano/etc/fail2ban/jail.local核心配置[DEFAULT] # 白名单本地/内网避免误封 ignoreip 127.0.0.1/8 ::1 192.168.1.0/24 banaction ufw # 封禁动作封禁邮件告警 action %(action_mwl)s # 10分钟内失败3次封禁12小时 findtime 600 maxretry 3 bantime 43200 # SSH防护 [sshd] enabled true port 36742 logpath /var/log/auth.log filter sshd # Nginx网站爆破防护可选 [nginx-http-auth] enabled true filter nginx-http-auth logpath /var/log/nginx/error.log启动与常用命令sudosystemctlenable--nowfail2ban# 查看封禁列表sudofail2ban-client status sshd# 手动解封IPsudofail2ban-clientsetsshd unbanip1.2.3.4# 查看攻击IPTOP10grepFailed password/var/log/auth.log|awk{print $11}|sort|uniq-c|sort-rn|head-10三、核心杀毒模块防病毒、木马、Rootkit方案 1ClamAV 开源免费杀毒生产首选完整安装sudoaptupdatesudoaptinstall-yclamav clamav-daemon clamav-freshclam# 停止更新服务初始化病毒库sudosystemctl stop clamav-freshclamsudofreshclam# 开机自启sudosystemctlenable--nowclamav-freshclamsudosystemctlenable--nowclamav-daemon扫描命令# 全盘递归扫描删除病毒sudoclamscan-r--remove/# 仅扫描网站目录输出日志sudoclamscan-r/var/www/html-l/var/log/clamav/www_scan.log# 实时守护扫描文件写入自动检测clamdscan /home定时自动扫描 邮件告警新建扫描脚本/root/clam_scan.sh#!/bin/bashSCAN_LOG/var/log/clamav/daily_scan.logDATE$(date%Y-%m-%d)# 更新病毒库freshclam$SCAN_LOG# 全盘扫描clamscan-r/--remove$SCAN_LOG# 检测病毒数量INFECT$(grep-iInfected files: [1-9]$SCAN_LOG)if[-n$INFECT];thenecho$DATE服务器检测到恶意文件请立即处理|mail-s服务器病毒告警yourshturl.fi授权并加入定时任务sudochmodx /root/clam_scan.sh# 每天凌晨3点自动扫描sudocrontab-e03* * * /root/clam_scan.sh方案 2查杀挖矿木马、提权后门Rootkit 后门检测# 工具1 chkrootkitsudoaptinstallchkrootkitsudochkrootkit# 工具2 rkhuntersudoaptinstallrkhuntersudorkhunter--updatesudorkhunter--check方案 3付费商用杀毒备选Sophos Linux AntiVirus免费单节点企业杀毒火绒企业 Linux 终端付费需部署火绒控制中心支持统一管控四、防程序漏洞提权进程强制访问控制 AppArmorUbuntu 默认预装限制进程权限即使网站被入侵也无法篡改系统文件# 查看状态sudoaa-status# 启用强制模式生产推荐sudoaa-enforce /etc/apparmor.d/usr.sbin.nginx# 查看日志dmesg|grepapparmor常用配置文件路径/etc/apparmor.d/五、发现异常攻击行为日志审计与入侵监控1. 完整日志留存sudoaptinstallauditdsudosystemctlenable--nowauditd# 监控关键目录篡改/etc /root /var/wwwsudoauditctl-w/etc-prwxa-ketc_changesudoauditctl-w/root-prwxa-kroot_modify# 查看审计日志ausearch-ketc_change-tstoday2. 关键安全日志查看命令# 登录记录成功/失败lastgrepFailed password/var/log/auth.log# 防火墙拦截日志grepUFW /var/log/syslog# Nginx访问攻击日志grep-i403/var/log/nginx/access.log# ClamAV病毒日志tail-f/var/log/clamav/clamd.log六、长效防护配套安全运维规范1. 勒索病毒兜底数据备份系统 数据库每日定时异地备份备份文件设置只读权限避免病毒加密2. 一键自查定期安全巡检脚本#!/bin/bashechoUbuntu安全巡检报告echo1. SSH配置grep-E^(PermitRootLogin|PasswordAuthentication|Port)/etc/ssh/sshd_configecho-en2. 防火墙开放端口sudoufw statusecho-en3. Fail2Ban封禁IPsudofail2ban-client status sshdecho-en4. 近期暴力破解TOP10grepFailed password/var/log/auth.log2/dev/null|awk{print $11}|sort|uniq-c|sort-rn|head-10echo-en5. Rootkit检测结果chkrootkit|grepINFECTEDecho-en6. 病毒库版本clamdscan--version3. 服务器被入侵应急处置流程防火墙临时阻断所有入站sudo ufw default deny incoming全盘 ClamAVRkhunter 查杀查看审计日志溯源攻击 IP 与操作重置所有账号密码、更换 SSH 密钥清理定时任务恶意脚本crontab -l、/etc/cron.*修复漏洞升级系统内核七、新服务器上线标准流程完整安全加固执行顺序创建普通 sudo 用户禁用 root 远程登录修改 SSH 端口关闭密码登录上传密钥认证安装 UFW 防火墙仅开放必要端口安装 Fail2Ban配置 SSH / 网站防爆破开启自动系统安全更新 unattended-upgrades配置 sysctl 内核防攻击参数安装 ClamAV 杀毒配置每日全盘扫描安装 chkrootkit/rkhunter 后门检测启用 auditd 审计日志 AppArmor 强制访问控制配置定时备份、每周安全巡检