主机服务器硬盘空间占用越来越大?原来是系统日志在作怪!

主机服务器硬盘空间占用越来越大?原来是系统日志在作怪!

许多朋友可能都有过这样的困扰:服务器硬盘空间莫名其妙地被占满,明明程序安装得很少,找不到大文件,但硬盘使用率却居高不下。这到底是怎么回事?

答案可能就在系统日志!尤其是当服务器开放了默认的 SSH 端口(22)时,大量攻击机器人会尝试暴力破解你的密码,这些尝试会生成海量日志,最终导致硬盘空间被侵占。

为什么系统日志会占用这么多空间?

•每次登录失败 会记录约 400 字节 的日志;

•可能有 5-10 个 IP 同时尝试暴力破解;

•每个 IP 每秒尝试 1-2 次;

•攻击行为可能 24 小时不间断。

以此计算,一天的日志轻松达到 几百 MB,甚至 几 GB!

此外,Linux 系统默认保留了硬盘 10% 的空间 专用于日志文件存储。如果你的磁盘容量较小,这些日志就成了 “隐形杀手”。

如何检查系统日志的占用情况?

在服务器上执行以下命令,快速确认日志是否是“真凶”:

# 查看日志占用空间

journalctl --disk-usage

# 查看日志目录大小

du -sh /var/log/journal/

# 检查最近登录失败记录的数量

journalctl | grep "Failed password" | wc -l

如果日志文件占用了几百 MB 或者显示大量登录失败记录,说明你的服务器正遭遇暴力破解攻击。

如何解决日志占用问题?

以下是优化日志占用和提高服务器安全性的具体操作:

1. 清理现有日志

清理系统日志可以立即释放被占用的硬盘空间:

# 停止日志服务

systemctl stop systemd-journald

# 清空日志目录

rm -rf /var/log/journal/*

# 启动日志服务

systemctl start systemd-journald

完成后,你会看到硬盘空间大幅释放。

2. 限制日志大小和保存时间

为了防止日志再次占满硬盘空间,可以通过配置文件限制日志的存储大小和保存时间:

# 编辑日志配置文件

echo "SystemMaxUse=500M

MaxRetentionSec=7day

MaxFileSec=1day" >> /etc/systemd/journald.conf

# 重启日志服务

systemctl restart systemd-journald

这将日志文件的存储空间限制为 500MB,最多保留 7 天的记录。

3. 修改默认 SSH 端口

默认的 22 端口是攻击者的首选目标,建议更改为较高的端口号,例如 35789:

# 备份 SSH 配置文件

cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak

# 修改 SSH 端口配置

sed -i 's/^Port 22/#Port 22/' /etc/ssh/sshd_config

echo "Port 35789" >> /etc/ssh/sshd_config

# 重启 SSH 服务

systemctl restart sshd

修改后,请使用新的端口重新登录:

ssh -p 35789 root@你的服务器IP

4. 安装 Fail2Ban 自动封禁恶意 IP

Fail2Ban 是一个强大的工具,能够自动封禁多次尝试登录的恶意 IP,有效减少暴力破解和日志生成:

# 安装 Fail2Ban

apt-get install fail2ban -y

# 启动服务并设置开机自启

systemctl start fail2ban

systemctl enable fail2ban

5. 定期检查日志空间占用

优化完成后,也需要定期检查日志空间的占用情况,及时清理和调整配置:

journalctl --disk-usage

将这一步设为日常维护的一部分,可以长期保持服务器的健康运行。

总结

通过以下步骤,可以有效解决日志占用问题: 

1. 清理现有日志并限制大小 

2. 修改默认SSH端口 

3. 安装Fail2Ban自动封禁恶意IP 

4. 定期检查日志大小 

按照以上方法优化后,你的服务器将更加稳定,硬盘空间也不会再被日志”吃掉”!

作者:老默,转载请注明出处:https://www.laomoss.com/6140.html

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 1天前
下一篇 2024-01-07 12:52

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注