监测Linux上失败的登录方法是什么

发布时间:2022-01-21 13:58:21 作者:柒染
来源:亿速云 阅读:226
# 监测Linux上失败的登录方法是什么

## 引言

在Linux系统管理中,监测失败的登录尝试是安全运维的重要环节。恶意攻击者常通过暴力破解、字典攻击等方式尝试获取系统访问权限。本文将详细介绍Linux系统中监测失败登录的方法、工具及最佳实践。

---

## 一、Linux登录失败记录机制

### 1.1 系统日志文件位置

Linux系统通过以下关键日志文件记录认证事件:

```bash
/var/log/auth.log      # Debian/Ubuntu等系统
/var/log/secure        # RHEL/CentOS等系统

1.2 日志记录服务

现代Linux系统使用两种主要日志服务:

  1. rsyslog (传统方式)

    sudo systemctl status rsyslog
    
  2. journald (systemd系统)

    journalctl -u sshd --since "1 hour ago"
    

二、手动分析失败登录

2.1 使用grep过滤失败记录

# SSH失败登录
grep "Failed password" /var/log/auth.log

# 控制台登录失败
grep "FLED LOGIN" /var/log/auth.log

2.2 常见失败日志格式示例

SSH失败示例:

May 15 10:23:45 server sshd[1234]: Failed password for invalid user admin from 192.168.1.100 port 54322 ssh2

sudo失败示例:

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

三、自动化监测工具

3.1 fail2ban(实时阻断工具)

安装配置:

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

3.2 OSSEC(HIDS解决方案)

关键功能: - 实时日志分析 - 主动响应机制 - 完整性检查

安装命令:

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

3.3 Logwatch(日志摘要工具)

配置示例:

# /usr/share/logwatch/default.conf/logwatch.conf
Output = mail
Format = html
MailTo = admin@example.com
Detail = High
Service = All

四、高级监测技术

4.1 审计子系统(auditd)

配置示例监控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

4.2 ELK Stack集中分析

典型架构: 1. Filebeat收集日志 2. Logstash解析过滤 3. Elasticsearch存储 4. Kibana可视化

示例Kibana仪表板指标: - 失败登录地理分布 - 高频攻击源IP - 时间趋势分析


五、响应与加固措施

5.1 紧急响应步骤

  1. 识别攻击源IP:

    grep "Failed" /var/log/auth.log | awk '{print $(NF-3)}' | sort | uniq -c | sort -nr
    
  2. 临时封锁IP:

    iptables -A INPUT -s 192.168.1.100 -j DROP
    

5.2 长期安全加固

  1. 启用SSH密钥认证:

    # /etc/ssh/sshd_config
    PasswordAuthentication no
    
  2. 配置PAM模块策略:

    # /etc/pam.d/common-auth
    auth required pam_tally2.so deny=5 unlock_time=300
    

六、可视化监控方案

6.1 Grafana+Prometheus方案

架构组件: - node_exporter收集系统指标 - promtail收集日志 - Loki存储日志 - Grafana展示

关键仪表板配置:

# prometheus.yml 片段
  - job_name: 'ssh_failures'
    static_configs:
      - targets: ['localhost:9100']
    metrics_path: '/probe'
    params:
      module: [ssh_failures]

6.2 商业解决方案对比

工具名称 日志分析 实时告警 自动阻断 学习曲线
Splunk ★★★★★ ★★★★★ ★★★☆
AlienVault OSSIM ★★★★☆ ★★★★ ★★★★
Wazuh ★★★★ ★★★★ ★★★☆

七、法律与合规要求

7.1 PCI DSS相关条款

7.2 GDPR合规要点


结论

有效的失败登录监测需要结合多种技术: 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. 扩展云环境下的特殊考虑

推荐阅读:
  1. linux云服务器上怎么登录
  2. 解决postgresql登录失败的方法

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

linux

上一篇:Linux系统如何查看端口占用

下一篇:nginx如何配置反向代理

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》