Skip to content

eddiechu/Terminal-SIEM

Repository files navigation

Terminal SIEM! Super light, super fast, unlimited search idea

Terminal SIEM

Terminal SIEM is a lightweight, command-line-based security monitoring solution that leverages Linux's native file processing capabilities to provide enterprise-grade security information and event management (SIEM) functionality. Unlike traditional SIEM platforms that rely on databases, indexing systems, and web interfaces, Terminal SIEM operates entirely through file-based processing using standard Linux commands and automated via cron and batch jobs.

Terminal SIEM addresses three critical gaps in the security monitoring landscape:

  • Organizations without SIEM capabilities - Provides immediate security monitoring without significant infrastructure investment
  • Organizations with incomplete SIEM coverage - Offers unlimited log processing without licensing restrictions
  • Organizations with limited SIEM functionality - Delivers flexible search capabilities beyond product constraints



Characteristics

Attribute Termina SIEM Community / Brand SIEM
Strength Super light - due to no indexing, database and GUI
Super fast - with parallel processing and minimal regular expression usage
Unlimited search idea - what ever your need
Feature-rich GUI
Technology Linux terminal, file-based Web-based, indexed NoSQL
Multiprocessing Yes - Linux GNU parallel or xargs Depends on product
Production architecture Single host Several hosts per role
Sizing xlarge 4xlarge per host
High availability Supported via load balancers, nodes and share storage Extensible to HA
Scalability Vertical scaling Horizontal scaling
Log injection Hundreds of thousands of log entries / sec Thousands of log entries / sec (requires message queue for higher volumes to minimize log loss during bursts)
Correlation Supported Supported
Log parsing awk or Golang, built from scratch
(Can avoid regular experssion for hundreds of times performance gain)
Built-in parsers for common log sources
Threat detection Custom-built using grep, awk or Python dataframe, support conversion of community rules, e.g. Sigma rules, with Gen AI assistance Primitive detection, requires further customization
Flexibility Develop any search criteria your need Limit to the product capabilities
Dashboard and report No Yes
Access control Managed via Linux permissions Product feature
Patch / security management Linux update Linux and product update
Store raw log Yes - stores both raw and parsed log No
Retention File management Index management
Immutable Supported with chattr and hash Product feature
Skill set required Linux rsyslog, grep, awk, file management (may need Golang for complex parsing, Python for complex searching) Product-specific knowledge



Architecture

Terminal SIEM! Super light, super fast, unlimited search idea

  1. Configure rsyslog: Set up rsyslog on Linux to consolidate all syslog sources into a single file, using a timestamp-based filename (e.g., rsyslog-2025070211.log) that rotates every hour.
  2. Parse Syslog Files: Use a script to crawl the consolidated syslog file and parse it into a standard schema using a "|" delimiter, saving the output to a new file with a timestamp-based filename (e.g., parsedlog-202507021154.dat) that updates every minute.
  3. Capture User Behavior: Utilize Linux sort and uniq commands to capture user behavior every minute, saving the output to a file with a timestamp-based filename (e.g., user-activity-202507021154.dat).
  4. Threat Pattern Detection: Leverage Linux commands like awk and grep to search for threat patterns in the parsed log files.
  5. Cyber Threat Intelligence Integration: Search the parsed logs against cyber threat intelligence feeds, Indicators of Compromise (IoCs), such as malicious URLs, IP addresses, and file hashes.
  6. Abnormal User Behavior Detection: Detect abnormal user behavior by searching against user activity profile files.
  7. Automation: Automate all these jobs using cron to run every minute, ensuring continuous monitoring and threat detection.
  8. Custom Maintenance Scripts: Develop custom maintenance scripts to perform additional tasks and schedule them to run using cron jobs, allowing for flexibility and extensibility in your setup.


Automation by Linux crontab

*/1 * * * * crawl_parse_detect_alert.sh 2>/dev/null
0 */1 * * * job_hourly.sh 2>/dev/null
59 23 * * * job_daily.sh 2>/dev/null
1 0 * * * housekeep.sh 2>/dev/null



Cheat Sheet

Begin with these foundational resources, then advance to more sophisticated implementations with assistance from Gen AI tools:

Cheat Sheet - Log Collection

Cheat Sheet - Log Parsing

Cheat Sheet - Threat detection

Cheat Sheet - Threat hunting




Feel free to share search idea, I’ll keep this updated!


#tag siem Security information and event management blue team soc soc analyst red team opensearch elasticsearch elk search index security nosql syslog rsyslog collection parsing threat detection threat hunting log server Sigma rules splunk qradar sentinel

About

Super light, super fast, unlimited search idea

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published