Hi everyone,
I am investigating a security incident on a Shared Hosting server (CloudLinux + DirectAdmin Evolution Skin) where a user's web content was deleted. During the audit, I found a major discrepancy between access.log and login.log that I cannot explain and would like to see if this is a known behavior or a potential security gap.
The Situation:
Any insights into how DA handles session persistence and IP changes for active API sessions would be greatly appreciated.
I am investigating a security incident on a Shared Hosting server (CloudLinux + DirectAdmin Evolution Skin) where a user's web content was deleted. During the audit, I found a major discrepancy between access.log and login.log that I cannot explain and would like to see if this is a known behavior or a potential security gap.
The Situation:
- Unauthorized Activity: A specific IP (referred to as [INTRUDER_IP]) was active for over 7 hours during the incident window.
- The Logs: The access.log is filled with thousands of entries showing this IP interacting with the File Manager and Session profiles for a specific User account ([TARGET_USER]).
- Example Log Entry:2026-02-07T20:08:07 ... [INTRUDER_IP] ... GET /api/session/state ... [TARGET_USER] session-native -
- The Anomaly: Despite the constant activity, there is zero record of [INTRUDER_IP] in login.log for over a year—neither for the [TARGET_USER] nor for their parent [RESELLER] account.
- Skin: Evolution (JSON API based).
- Persistence: The intruder was polling /api/session/state every 20-30 seconds.
- No Login Keys: I confirmed that no Login Keys were active for this user during this period.
- Account Hierarchy: The target user is owned by a Reseller account.
- Login-As Logging: If a Reseller uses the "Login as User" feature, is the authentication event only logged for the Reseller's initial login? If the User session is later accessed from a different IP (via session hijacking or a persistent tab), does DirectAdmin record the new IP in login.log?
- Session Resumption: How does the Evolution API handle session persistence? Is it possible for a session to remain valid for months without re-authentication if it is kept alive by a script or an open browser tab?
- Log Bypass: Is there any scenario where session-native API calls can bypass the standard authentication logging in login.log?
Any insights into how DA handles session persistence and IP changes for active API sessions would be greatly appreciated.