凌峰创科服务平台

linux 服务器安全检测

Linux服务器安全检测是保障系统稳定运行和数据安全的核心环节,需从系统基础配置、服务漏洞、日志审计、权限管理等多维度展开综合排查,以下从检测内容、工具使用及操作要点三个方面详细说明。

系统基础安全检测

系统基础配置是安全的第一道防线,需重点检查账户、密码及服务状态。

  1. 用户与权限检查:使用cat /etc/passwd查看系统用户,重点关注UID为0的root账户及非系统用户(如test);通过grep "wheel" /etc/group检查sudo权限组,避免异常用户提权。
  2. 密码策略审计:运行grep "PASS_MAX_DAYS" /etc/login.defs查看密码有效期,确保不超过90天;使用cracklib-check工具(需安装cracklib-runtime)检测密码强度,避免弱密码。
  3. 关键文件权限:检查/etc/passwd/etc/shadow/etc/sudoers等关键文件权限,执行ls -l /etc/shadow应确保权限为640,属主为root,防止未授权访问。

服务与漏洞扫描

服务器运行的服务可能成为攻击入口,需定期扫描漏洞及异常服务。

  1. 服务状态检查:使用systemctl list-units --type=service --state=running查看运行中的服务,关闭非必要服务(如telnet、rsh等高危服务),执行systemctl disable telnet禁用。
  2. 端口与进程分析:通过netstat -tulnss -tuln监听端口,确认默认高危端口(如22、3389)是否限制访问;结合ps aux检查进程,识别可疑进程(如隐藏PID的挖矿程序)。
  3. 漏洞扫描工具:使用OpenVAS(开源漏洞扫描系统)或Nessus扫描系统漏洞,重点关注CVE编号的高危漏洞(如CVE-2025-44228 Log4j漏洞);对于Web服务,可搭配NiktoAWVS检测Web应用漏洞。

日志与入侵检测

日志是追溯安全事件的关键,需定期分析日志并配置入侵检测。

  1. 系统日志审计:检查/var/log/auth.log(Ubuntu)或/var/log/secure(CentOS)中的登录失败记录,执行grep "Failed password" /var/log/auth.log | awk '{print $(NF-3)}' | sort | uniq -c统计高频攻击IP;查看/var/log/messages中的系统异常信息,如磁盘满、服务崩溃等。
  2. 日志轮转与保留:确认/etc/logrotate.conf配置是否正确,确保日志至少保留30天,避免日志被覆盖导致无法追溯。
  3. 入侵检测系统(IDS):安装OSSECWazuh等主机入侵检测工具,实时监控文件变更、异常登录等行为,例如通过ossec-logtest测试规则是否生效。

安全加固建议

检测后需针对性加固,包括:

  • 系统更新:执行apt update && apt upgrade -y(Ubuntu)或yum update -y(CentOS)修复已知漏洞。
  • 防火墙配置:使用ufw(Ubuntu)或firewalld(CentOS)限制端口访问,例如仅允许22端口(SSH)通过特定IP访问:ufw allow from 192.168.1.100 to any port 22
  • 定期备份:配置rsyncrclone定期备份关键数据,并验证备份文件可用性。

相关问答FAQs

Q1:如何快速定位服务器是否被植入挖矿程序?
A:可通过以下步骤排查:

  1. 检查进程:执行top -chtop,查看CPU占用率高的进程,关注可疑命令(如包含“xmrig”“kdevtmpfsi”等关键词)。
  2. 检查定时任务:运行crontab -l,查看是否有异常定时任务(如每分钟下载挖矿脚本)。
  3. 检查启动项:执行systemctl list-unit-files --state=enabled查看开机自启服务,结合/etc/rc.local~/.bashrc等文件排查异常启动配置。
  4. 扫描可疑文件:使用clamav杀毒工具全盘扫描:clamscan -r /,或通过find / -name "*.sh" -exec grep -l "crypto" {} \;查找可疑脚本。

Q2:Linux服务器SSH登录频繁失败,如何应对暴力破解?
A:可采取以下措施:

  1. 修改默认端口:编辑/etc/ssh/sshd_config,将Port 22改为非默认端口(如2222),重启SSH服务:systemctl restart sshd
  2. 限制登录IP:使用iptablesfirewalld限制允许访问SSH的IP,iptables -A INPUT -p tcp -s 192.168.1.0/24 --dport 2222 -j ACCEPT,其他IP拒绝。
  3. 使用fail2ban工具:安装fail2ban,配置/etc/fail2ban/jail.local,设置SSH监狱规则,
    [sshd]  
    enabled = true  
    port = 2222  
    maxretry = 3  
    bantime = 3600  

    启动服务:systemctl enable --now fail2ban,自动封禁连续失败3次以上的IP(封禁1小时)。

  4. 密钥认证:禁用密码登录,仅允许密钥认证,编辑/etc/ssh/sshd_config,设置PasswordAuthentication no,重启SSH服务。
分享:
扫描分享到社交APP
上一篇
下一篇