/var/log/messages
: 通用系统消息/var/log/auth.log
或 /var/log/secure
: 认证和安全相关消息/var/log/kern.log
: 内核日志/var/log/syslog
: 系统日志/var/log/apt/
: APT包管理日志/var/log/httpd/
或 /var/log/apache2/
: Apache Web服务器日志/var/log/nginx/
: Nginx Web服务器日志grep: 文本搜索
grep "Failed password" /var/log/auth.log
awk: 文本处理
awk '/Failed password/ {print $11}' /var/log/auth.log | sort | uniq -c | sort -nr
sed: 流编辑器
sed -n '/Jan 15 10:[0-9][0-9]:[0-9][0-9]/p' /var/log/syslog
tail/head: 查看日志首尾
tail -f /var/log/syslog # 实时监控日志
logrotate: 日志轮转工具
/etc/logrotate.conf
和 /etc/logrotate.d/
journalctl: systemd日志查看
journalctl -u sshd --since "2023-01-01" --until "2023-01-02"
rsyslog/syslog-ng: 高级日志管理系统
auditd: Linux审计系统
ausearch -k mykey # 搜索审计日志
netstat/ss: 查看网络连接
ss -tulnp # 查看监听端口和进程
lsof: 列出打开的文件(包括网络连接)
lsof -i :80 # 查看使用80端口的进程
iftop/nethogs: 网络流量监控
iftop -i eth0 # 实时网络流量
nethogs eth0 # 按进程显示带宽使用
fail2ban: 自动封禁恶意IP
/etc/fail2ban/jail.conf
fail2ban-client status sshd
OSSEC: 开源的HIDS(主机入侵检测系统)
/var/ossec/bin/ossec-control status
Suricata/Snort: 网络入侵检测系统(NIDS)
nmap: 端口扫描
nmap -sV -O 192.168.1.0/24
lynis: 安全审计工具
lynis audit system
chkrootkit/rkhunter: rootkit检测
chkrootkit
rkhunter --check
logwatch --detail High --range yesterday --service all --output mail
#!/bin/bash
echo "SSH登录失败统计:"
echo "----------------"
grep "Failed password" /var/log/auth.log | awk '{print $11}' | sort | uniq -c | sort -nr
echo "----------------"
echo "尝试登录次数最多的IP:"
grep "Failed password" /var/log/auth.log | awk '{print $11}' | sort | uniq -c | sort -nr | head -n 5
#!/bin/bash
echo "异常进程检测:"
echo "------------"
ps aux | awk '$3 > 50 || $4 > 50 {print $0}' # CPU或内存使用率超过50%的进程
通过合理配置和使用这些工具,可以大大提高Linux系统的安全性和可观测性,及时发现并应对潜在的安全威胁。