Skip to content
Hosting

Understanding and analyzing server logs for security threats

By Mike 3 min read

What Are Server Logs?

Server logs are files automatically created by your web server (like Apache, Nginx, or IIS) that track events such as:

  • Requests for web pages or files
  • Login attempts
  • Errors (like 404 “not found”)
  • Server-side scripts and processes

Common types of logs:

  • Access logs: Who accessed what and when
  • Error logs: Issues or warnings encountered by the server
  • Authentication logs: Login attempts and status

Why Analyze Server Logs?

  • Spot suspicious activity (like brute force attacks or scanning)
  • Identify break-in attempts (e.g., repeated failed logins)
  • Detect malware or defacement
  • Track changes or deletions
  • See if your site is being used to attack others

How to Analyze Server Logs for Security Threats

1. Know Where Your Logs Are

  • On Linux, access logs often live at /var/log/apache2/access.log or /var/log/nginx/access.log
  • Error logs: /var/log/apache2/error.log or /var/log/nginx/error.log
  • Some control panels (like cPanel) offer logs via the dashboard

2. Look for Red Flags

  • Repeated failed login attempts:
    Multiple failed logins from the same IP could mean someone is trying to guess a password.
  • Access to strange URLs:
    Requests for /wp-admin, /phpmyadmin, or /login on a site that doesn’t use those. Also, URLs with suspicious parameters, like ?id=1' OR '1'='1 (SQL injection attempts).
  • Unusual HTTP status codes:
    Lots of 404 Not Found or 403 Forbidden errors from the same IP may indicate someone is scanning for vulnerabilities.
  • Requests for sensitive files:
    Attempts to access /wp-config.php, .env, /etc/passwd, or backup files like .zip or .sql.
  • High frequency of requests:
    Hundreds or thousands of requests in minutes can signal a brute force or DDoS attack.
  • Unusual user agents:
    Requests from bots, scripts, or blank/odd user agents may be attackers or scrapers.

3. Use Tools to Help

  • Command line:
    Use grep, awk, or less to filter logs. Example:

    bash
    grep "login" access.log
    grep "404" access.log | sort | uniq -c | sort -nr
    
  • Log analyzers:
    Tools like GoAccess, AWStats, or commercial SIEM (Security Information and Event Management) platforms can visualize and alert on suspicious activity.
  • Hosting dashboards:
    Many hosts provide log viewers and simple analytics.

4. Respond Appropriately

  • Block offending IPs (using .htaccess, firewall, or server tools)
  • Update passwords or disable compromised accounts
  • Patch vulnerabilities revealed by error logs
  • Report or escalate if you find signs of a real breach

Sample Red Flags Table

Log Pattern Example Possible Threat
/wp-login.php > 100 times from same IP in 5 mins Brute force login attempt
/etc/passwd or /wp-config.php requested Info disclosure attempt
URLs with SQL commands (' OR 1=1 --) SQL injection attempt
Multiple 404s for .php files on a non-PHP site Automated vulnerability scan
Requests from user agent “python-requests” or empty Scripted attack or scraping

Best Practices

  • Regularly review your logs—even a quick daily glance can catch early signs of trouble.
  • Set up alerts for common attack patterns if possible.
  • Keep logs secure and retain them long enough for forensic analysis (most sites keep 30-90 days).
  • Don’t ignore your logs! They’re your first clue to what’s happening behind the scenes.

Bottom line:
Learning to read and analyze server logs turns you from a passive site owner into an active defender. With just a little practice, you’ll get a sixth sense for spotting trouble before it becomes a disaster.

Ask us on WhatsApp