您好,登录后才能下订单哦!
# 监测Linux上失败的登录方法是什么
## 引言
在Linux系统管理中,监测失败的登录尝试是安全运维的重要环节。恶意攻击者常通过暴力破解、字典攻击等方式尝试获取系统访问权限。本文将详细介绍Linux系统中监测失败登录的方法、工具及最佳实践。
---
## 一、Linux登录失败记录机制
### 1.1 系统日志文件位置
Linux系统通过以下关键日志文件记录认证事件:
```bash
/var/log/auth.log # Debian/Ubuntu等系统
/var/log/secure # RHEL/CentOS等系统
现代Linux系统使用两种主要日志服务:
rsyslog (传统方式)
sudo systemctl status rsyslog
journald (systemd系统)
journalctl -u sshd --since "1 hour ago"
# SSH失败登录
grep "Failed password" /var/log/auth.log
# 控制台登录失败
grep "FLED LOGIN" /var/log/auth.log
May 15 10:23:45 server sshd[1234]: Failed password for invalid user admin from 192.168.1.100 port 54322 ssh2
May 15 11:45:12 server sudo: pam_unix(sudo:auth): authentication failure; logname= uid=0 euid=0 tty=/dev/pts/0 ruser= rhost= user=root
安装配置:
sudo apt install fail2ban # Debian/Ubuntu
sudo yum install fail2ban # RHEL/CentOS
配置文件示例:
# /etc/fail2ban/jail.local
[sshd]
enabled = true
maxretry = 3
findtime = 3600
bantime = 86400
关键功能: - 实时日志分析 - 主动响应机制 - 完整性检查
安装命令:
wget https://github.com/ossec/ossec-hids/archive/3.6.0.tar.gz
tar -xzf 3.6.0.tar.gz
cd ossec-hids-3.6.0
sudo ./install.sh
配置示例:
# /usr/share/logwatch/default.conf/logwatch.conf
Output = mail
Format = html
MailTo = admin@example.com
Detail = High
Service = All
配置示例监控ssh登录:
# /etc/audit/rules.d/sshd.rules
-w /var/log/auth.log -p wa -k sshd_logins
-a always,exit -F arch=b64 -S execve -F path=/usr/sbin/sshd -k sshd_commands
典型架构: 1. Filebeat收集日志 2. Logstash解析过滤 3. Elasticsearch存储 4. Kibana可视化
示例Kibana仪表板指标: - 失败登录地理分布 - 高频攻击源IP - 时间趋势分析
识别攻击源IP:
grep "Failed" /var/log/auth.log | awk '{print $(NF-3)}' | sort | uniq -c | sort -nr
临时封锁IP:
iptables -A INPUT -s 192.168.1.100 -j DROP
启用SSH密钥认证:
# /etc/ssh/sshd_config
PasswordAuthentication no
配置PAM模块策略:
# /etc/pam.d/common-auth
auth required pam_tally2.so deny=5 unlock_time=300
架构组件: - node_exporter收集系统指标 - promtail收集日志 - Loki存储日志 - Grafana展示
关键仪表板配置:
# prometheus.yml 片段
- job_name: 'ssh_failures'
static_configs:
- targets: ['localhost:9100']
metrics_path: '/probe'
params:
module: [ssh_failures]
| 工具名称 | 日志分析 | 实时告警 | 自动阻断 | 学习曲线 |
|---|---|---|---|---|
| Splunk | ★★★★★ | ★★★★★ | ★★★☆ | 高 |
| AlienVault OSSIM | ★★★★☆ | ★★★★ | ★★★★ | 中 |
| Wazuh | ★★★★ | ★★★★ | ★★★☆ | 中 |
有效的失败登录监测需要结合多种技术: 1. 基础日志分析能力 2. 自动化监控工具 3. 可视化展示 4. 及时响应机制
建议实施层次化安全策略: - 第一层:实时阻断(fail2ban) - 第二层:深度分析(ELK/Wazuh) - 第三层:审计追踪(auditd)
最终命令速查表:
# 查看最近10次失败登录
sudo grep "Failed" /var/log/auth.log | tail -n 10
# 统计失败次数最多的IP
sudo awk '/Failed/{print $(NF-3)}' /var/log/auth.log | sort | uniq -c | sort -nr
# 临时解封IP
sudo fail2ban-client set sshd unbanip 192.168.1.100
通过持续监控和改进,可以显著提升Linux系统的认证安全水平。 “`
注:本文实际约2500字(含代码和格式标记),完整2600字版本需要扩展以下内容: 1. 增加各工具的详细配置案例 2. 补充企业级部署架构图 3. 添加更多实际攻击案例分析 4. 扩展云环境下的特殊考虑
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。