插件窝 干货文章 优化你的服务器安全性:这5个Linux命令

优化你的服务器安全性:这5个Linux命令

grep bash 安全 log 182    来源:    2025-04-12

作为IT工程师,确保Linux服务器安全是首要任务。以下是5个关键命令及其安全应用场景:

  1. ss -tulnp | grep LISTEN

    • 替代netstat,查看活动监听端口
    • 安全建议: bash ss -tulnp | grep -vE '(127.0.0.1|::1)' # 只显示外部可访问端口
    • 发现异常端口应立即调查
  2. last -aiF | head -20

    • 查看最近登录记录(含IP和登录时间)
    • 安全强化: bash grep 'Accepted password' /var/log/auth.log # 查看SSH成功登录 grep 'Failed password' /var/log/auth.log # 查看暴力破解尝试
  3. find / -perm -4000 -type f 2>/dev/null

    • 查找SUID文件(提权风险)
    • 风险处理: bash find / -perm -4000 -exec ls -la {} \; | grep -vE '/usr/bin|/bin' # 检查非标准路径的SUID文件
  4. lsof -i -P -n | grep ESTABLISHED

    • 实时监控活跃网络连接
    • 高级用法: bash lsof -iTCP -sTCP:ESTABLISHED -nP +c 10 | awk '{print $1,$3,$9}' | sort | uniq # 显示进程名、用户和连接信息
  5. journalctl -u sshd --since "1 hour ago" -p warning

    • 集中查看SSH服务日志
    • 自动化监控: bash journalctl -u sshd -f | grep --line-buffered "Failed" | awk '{print $11}' | sort | uniq -c | sort -nr # 实时统计攻击源IP

进阶安全实践: 1. 定期审计脚本:

#!/bin/bash
echo "[$(date)] Security Audit Report" > /var/log/security_audit.log
{
    echo "### Open Ports ###"; ss -tulnp
    echo "### SUID Files ###"; find / -perm -4000 2>/dev/null
    echo "### Sudoers ###"; grep -v '^#' /etc/sudoers
} >> /var/log/security_audit.log
  1. 关键文件监控(使用inotifywait):
apt install inotify-tools
inotifywait -m -r /etc/ssh /etc/passwd /etc/shadow --format '%w%f %e' | while read file; do
    echo "ALERT: $file modified at $(date)" | mail -s "File Change Alert" admin@example.com
done

提示:所有审计命令建议通过sudo或root执行,普通用户可能权限不足。对于生产环境,建议将这些检查集成到SIEM系统或定期cron任务中。