使用 RKHunter 保护 Ubuntu 系统:安装、配置与误报处理完整指南

在 Linux 系统中,Rootkit 是一种隐藏型恶意软件,它会潜伏在系统中,绕过普通检测手段,甚至获取 root 权限。为了确保系统安全,我们可以使用 RKHunter(Rootkit Hunter) 来扫描系统潜在威胁。本文将详细介绍 Ubuntu 系统上安装、配置 RKHunter,并解决常见误报的完整流程。 1️⃣ 安装 RKHunter 首先,使用 apt 安装 RKHunter 以及 curl(用于联网更新镜像): 安装完成后,可以检查版本: RKHunter 默认包含大量检测规则,包括系统文件完整性、隐藏文件、网络端口异常等。 2️⃣ 配置 RKHunter RKHunter 的配置主要涉及 定期扫描 和 网络更新。我们先修改默认参数: 2.1 /etc/default/rkhunter 编辑此文件以启用每日 cron 任务,并设置报告邮箱: 修改内容: 保存并退出。 2.2 /etc/rkhunter.conf 主要配置项如下: 保存并退出。 3️⃣ 更新系统文件属性基线 第一次安装 RKHunter 后,需要建立系统文件属性基线: 输出示例: 这里记录了关键系统文件的当前状态(大小、权限、校验和),方便后续扫描发现异常变更。 …

Web 应用文件夹权限配置建议(WordPress、数据库管理面板等)

在部署 WordPress、数据库管理面板(如 phpMyAdmin)或其他 Web 应用时,正确设置文件夹和文件权限,对安全性和正常运行都至关重要。以下整理了通用的权限配置思路与方法,供参考。 📁 管理面板类目录(如数据库管理工具) 推荐权限 设置思路 示例命令 chmod -R 750 /path/to/admin-panelchown -R www-data:www-data /path/to/admin-panelchmod 640 /path/to/admin-panel/config-file.php 这样可有效防止其他用户查看目录或配置文件,降低敏感信息泄露的风险。 📁 WordPress 等常见内容管理系统 官方推荐权限 设置思路 示例命令 find /path/to/cms/ -type d -exec chmod 755 {} \;find /path/to/cms/ -type f -exec chmod 644 {} \; 如果对安全要求更高,可只允许需要写入的目录(例如上传目录)设置为可写,其他目录和文件都只读。 ⚠️ 更高安全性做法 ✅ 总结 场景 目录权限 …

使用 Fail2ban 实现 SSH 主动防御及大规模 IP 黑名单策略

服务器面向公网时,SSH 暴力破解和扫描攻击几乎每天都在发生。为防御此类攻击,很多人会使用 Fail2ban 配合防火墙规则自动封禁尝试登录失败的 IP。以下内容记录一次基于 Fail2ban 的 SSH 防护实战情况,并结合主动黑名单策略进行分析总结。 🛡️ Fail2ban 运行状态概览 在这台服务器中,Fail2ban 针对 SSH 配置了专用 jail,用于检测登录失败并进行封禁。状态信息如下: Status for the jail: sshd|- Filter| |- Currently failed: 4| |- Total failed: 2020| `- File list: /var/log/auth.log`- Actions |- Currently banned: 15722 |- Total banned: 15722 `- Banned IP list: … 关键字段解释 …

使用 Fail2ban 增强服务器安全:防止暴力破解与恶意访问

Fail2ban 是一个强大的 Linux 安全工具,专为防止暴力破解和恶意攻击设计。它通过监控日志文件,自动封禁多次尝试登录失败的 IP 地址。Fail2ban 是一个命令行工具,能够保护 SSH、HTTP 等服务免受暴力破解、DDoS 攻击、恶意访问等威胁。 本文将详细介绍 Fail2ban 的安装、配置和使用方法,帮助管理员提高服务器的安全性。 Fail2ban 安装 在大多数 Linux 系统中,Fail2ban 都可以通过包管理器进行安装。例如,在 Debian/Ubuntu 系统中,使用以下命令: sudo apt updatesudo apt install fail2ban 对于 CentOS/RHEL 系统,可以使用: sudo yum install fail2ban 安装完成后,Fail2ban 默认配置会位于 /etc/fail2ban 目录下。 配置 Fail2ban 1. jail.conf 和 jail.local Fail2ban 的核心配置文件是 jail.conf,它包含了 Fail2ban 监控的 “jails” …

两步验证及 TOTP 动态验证码原理解析

两步验证(Two-Factor Authentication,简称 2FA)是一种常见的身份验证机制,用于提高账号安全性。相比仅依赖密码的传统登录方式,二步验证在密码之外增加了一个「第二层凭证」,即使密码泄露,也能有效防止非法访问。 两步验证的基本思路 二步验证的核心在于「双重保障」: 这种设计思路是「即使攻击者窃取了密码,若没有第二步凭证,仍无法登录」。 动态验证码的常用形式 目前常见的二步验证方式包括短信验证码、邮件验证码、以及基于时间的一次性密码(TOTP)。其中,TOTP 凭借无需网络、稳定可靠等优势,成为主流方式,被大量网站及服务采用。 TOTP(Time-based One-Time Password)的原理 TOTP 中文可译为「基于时间的一次性密码」。其主要依赖两部分数据: 验证码生成步骤 离线生成的原因 由于密钥已存储在本地设备中,生成验证码只需要依赖系统时间,无需联网。因此,即使在飞行模式或无网络环境下,验证码仍能正常生成。 验证流程 在使用 TOTP 时,验证流程通常如下: 安全性优势 总结 基于时间的一次性密码(TOTP)为二步验证提供了高效、安全、易用的解决方案。通过与密码的双重验证机制,能够有效抵御绝大多数针对账户安全的攻击风险,已成为现代网站和服务的重要安全基石。

ClamAV 警告信息解析:cli_scanxz: decompress file size exceeds limits

在使用 ClamAV 进行文件扫描时,日志中经常会出现如下警告信息: pgsqlCopyEditLibClamAV Warning: cli_scanxz: decompress file size exceeds limits – only scanning 105906176 bytes 这条信息可以分解为以下几个部分: 产生原因 ClamAV 为了防止扫描过程中消耗过多系统资源,默认对解压后文件的大小设定了限制。这主要是出于性能和安全考虑,避免在面对恶意构造的巨型压缩文件时导致系统资源耗尽。 是否需要调整 若需要完整扫描所有内容,可在 clamd.conf 配置文件中通过修改如下参数进行调整: confCopyEditMaxFileSize 500M MaxScanSize 1G 需要注意,增加这些值将导致更高的内存和 CPU 占用,并可能导致扫描耗时显著增加。实际应用中,通常只在对安全性要求极高的环境或需要扫描大文件的情况下才会考虑修改。 总结 当 ClamAV 遇到解压后超出大小限制的文件时,会发出警告但继续进行扫描,仅扫描指定限制内的部分数据。这种机制是一种平衡性能与安全性的默认保护措施。在大多数场景下,可保持默认配置,无需额外干预。

使用 ClamAV 进行 Linux 系统全盘扫描并保存日志

在 Linux 系统中,如果需要定期对整台机器进行恶意软件(病毒、木马等)扫描,ClamAV 是一个常用的免费工具。以下介绍如何进行全盘扫描,并将完整扫描结果保存为带时间戳的日志文件,方便后续查看或归档。 基础扫描命令 ClamAV 的 clamscan 工具支持递归扫描,最基本的写法如下: bashCopyEditclamscan -r / 但这样会扫描系统中的所有文件,包括 /proc、/sys、/dev 等虚拟或设备目录,这些目录不适合扫描,会产生大量错误信息。 排除系统特殊目录 为了避免扫描无意义的系统伪文件系统,可以使用 –exclude-dir 参数排除这些目录,例如: bashCopyEdit–exclude-dir=/proc –exclude-dir=/sys –exclude-dir=/dev 此外,如果还需要排除其他目录(比如存放大文件或备份的目录),也可继续添加 –exclude-dir 参数。 自动保存扫描日志 为了后期分析结果,通常需要将扫描输出同时保存为日志文件。可以结合 tee 命令实现: bashCopyEditclamscan -r –bell –exclude-dir=/proc –exclude-dir=/sys –exclude-dir=/dev / | tee /root/clamav_scan_$(date +%Y%m%d_%H%M%S).log 命令说明 是否支持「增量扫描」 ClamAV 的 clamscan 不会自动跳过已扫描过的文件,每次执行都会重新完整扫描。它不包含「增量扫描」或「缓存机制」,也不会记住上次扫描状态。 如果需要仅扫描新增或修改过的文件,需要额外实现文件变更检测(例如使用 inotify)或定期针对指定文件夹进行局部扫描。 总结 💡 …

使用 rkhunter 执行系统 Rootkit 检查及配置 SSH 安全

近期在对 Linux 系统进行安全加固时,执行了 rootkit 检查工具 rkhunter,并同步完善了 SSH 配置。以下为详细流程总结。 🕵️ rkhunter 检查流程 在执行 rkhunter –check 时,默认会在每个阶段提示「按 Enter 继续」,需要手动操作,无法一次性跑完。为实现自动化,可使用以下命令: sudo rkhunter –check –skip-keypress 如果需要将输出保存为日志文件,可追加 tee: sudo rkhunter –check –skip-keypress | tee /root/rkhunter_check_$(date +%Y%m%d_%H%M%S).log 💾 更新文件属性数据库 执行属性文件数据库更新时,常用命令如下: udo rkhunter –propupd 默认会提示确认,可使用 -y 参数自动同意: sudo rkhunter –propupd -y 🔒 SSH 配置安全性调整 rkhunter 在检测 SSH …