What Server Logs Reveal About Attackers: Analyzing Suspicious Requests on Linux
Server logs can reveal significant details about potential attackers by capturing sequences of events on Linux systems. This practical guide for junior Blue Team specialists shows where to locate traces of suspicious activity, how to interpret SSH and web server records, and why a single unusual request does not necessarily indicate a compromise.
Essential Log Sources
Three primary sources support initial investigations. System journals contain service events, errors, and operating system messages; on systemd-based distributions these are accessed with journalctl. SSH and authentication logs record successful and failed login attempts, unknown usernames, and access-related events. Web server and application logs document HTTP requests, requested resources, response codes, and application errors.
On Debian and Ubuntu systems authentication events typically reside in /var/log/auth.log; on RHEL-based systems they appear in /var/log/secure. Recent SSH events can be viewed with:
sudo journalctl -u ssh --since "1 hour ago"
or, on distributions where the service is named sshd:
sudo journalctl -u sshd --since "1 hour ago"
The last 100 lines of an Nginx access log are retrieved with:
sudo tail -n 100 /var/log/nginx/access.log
Failed SSH Login Attempts
Example entries show repeated failures from the same source IP using different usernames at short intervals. Such patterns may indicate automated credential testing, yet they can also result from misconfigured automation or forgotten passwords. Quick searches use:
sudo grep -E "Failed password|Invalid user" /var/log/auth.log
Key Indicators in Logs
- Event frequency: hundreds of attempts in minutes versus occasional failures.
- Username diversity: sequential testing of many accounts suggests automation.
- Successful logins following failures: these require verification against expected user behavior.
- Timing: nighttime activity must be compared with normal operational schedules.
Web Server Request Analysis
Nginx access logs may contain sequences such as requests for /admin, /backup.zip, and /.env. Consecutive checks of common sensitive paths often signal automated reconnaissance, although individual requests can originate from legitimate users or crawlers. Response codes alone do not confirm compromise because applications may return 200 OK for missing resources.
Identifying Active IP Addresses
The following command counts the most frequent client addresses in an Nginx access log:
sudo awk '{print $1}' /var/log/nginx/access.log | sort | uniq -c | sort -nr | head -20
High counts require context; they may reflect API usage, load balancers, or reverse proxies rather than malicious traffic. Headers such as X-Forwarded-For are reliable only when trusted proxies are correctly configured.
Application-Level Logging
System and web-server logs often lack details about authorization decisions. Structured JSON events should record timestamp, event type, user identifier, resource, result, and reason. The OWASP Logging Cheat Sheet recommends capturing successful and failed authentication, access-control denials, input-validation errors, and administrative actions.
Information That Must Not Appear in Logs
- Passwords and session tokens
- Private keys
- Database connection strings containing credentials
- Unnecessary personal data
Logs must be protected against tampering, rotated regularly, and shielded from log-injection attacks through proper encoding.
Limitations of Log Data
Even well-configured logging cannot capture every event. Clocks may be unsynchronized, IP addresses may represent NAT or VPN pools, and privileged attackers can alter or delete local logs. Mature environments forward events to centralized logging or SIEM platforms.
Minimal Investigation Plan
- Record the exact time window of suspicious events.
- Preserve original log files and system metadata without modification.
- Correlate SSH, web-server, application, and system logs for the same period.
- Check for successful actions after sequences of failures.
- Compare observed activity against known baselines such as backups and scheduled tasks.
- Assess impact on accounts, data, and configurations.
- Execute response procedures only after evidence supports the hypothesis.
Server logs remain a foundational Blue Team tool when events contain sufficient context, timestamps are consistent, and analysis combines multiple data sources.
Related articles
Telegram macOS Developer Says 99.9% of Client Code Is Now Written by AI and Suggests Firing Manual Coders
Mike, the developer of the official Telegram client for macOS, stated that artificial intelligence now generates 99.9 percent of the messenger's client code. He argued that programmers who continue writing code manually should be dismissed. In a Telegram discussion, Mike cited the gram.org website as an example created entirely with AI assistance in a single day, with domain support from Pavel Durov. He also described adapting the iOS client for a foldable iPhone Duo overnight using Claude. According to Mike, even designers are now contributing to client code, and 80 to 90 percent of Telegram developers share his positive view of AI tools. When participants raised questions about code quality and security, Mike replied that AI also identifies and fixes vulnerabilities, claiming the resulting code is superior to human-written equivalents. He further announced plans to open a new GitHub repository for the macOS client source code, as the previous repository had not been updated for over a year.
Secure Boot on Arch Linux: Enabling Protection for UKI Without Replacing Factory Keys
A detailed guide explains how to configure Secure Boot on Arch Linux for Unified Kernel Images without replacing the motherboard's factory keys or relying on Microsoft certificates. The author chose the minimal-intervention approach of adding a custom key to the existing DB section via the UEFI interface instead of using sbctl enroll-keys or shim. The process begins with backing up existing keys to a FAT-formatted USB drive directly from the BIOS menu. New keys are then generated using sbsigntools and openssl, converted to DER format, and enrolled through the ASUS Prime 790-P UEFI interface. A post-hook script for mkinitcpio automatically signs the UKI after every kernel update, ensuring the entire unified image remains protected. The method preserves the original Microsoft and vendor certificates while adding only the user's own signing key.
UserGate Details FPGA Acceleration to Turbocharge Next-Generation Firewalls
UserGate product manager Pavel Molodan explains why adding security features like IDS/IPS, SSL/TLS inspection, and application control turns a high-performance NGFW into a bottleneck. The company outlines four groups of acceleration methods, with a focus on FPGA-based hardware offloading for packet parsing, firewall rules, NAT, and encryption tasks. Research from 254 respondents shows strong demand for these functions in data center B2E segments at 50-200 Gbit/s. Experimental platforms including Katun-2 PCIe cards and the FG system demonstrate concrete gains, such as scaling IDPS from 5 to 90 Gbit/s and achieving 85 Gbit/s firewall throughput on EMIX profiles. FPGA delivers microsecond latency and better energy efficiency compared with CPU-only designs while preserving full NGFW functionality for elephant flows.
Curator Reveals Detailed Architecture of Its Network Filtering System After October 2026 Outage
Curator published a technical post-mortem analyzing the 38-minute outage that affected its entire traffic filtering network on October 8, 2026. The company operates nine filtering sites across Russia, each containing multiple nodes connected via high-performance switches to upstream providers. Traffic is isolated using two VRF contexts—external for inbound dirty traffic and internal for cleaned traffic—ensuring sequential processing through the protection system. Each node runs a custom Linux kernel firewall and a watchdog service that monitors BGP sessions to detect failures and remove unhealthy nodes from rotation. Centralized configuration management via CControl allows rapid rollout of rules but also introduces systemic risk when faulty changes propagate across all nodes. The post-mortem emphasizes the need for isolation, staged deployments, and independent recovery mechanisms in large-scale filtering infrastructures.