Skip to content

Commit 9ef72d5

Browse files
committed
documentation update
1 parent 4d47bcd commit 9ef72d5

24 files changed

+1143
-477
lines changed

.env

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
COMPOSE_PROFILES=sftp,phpmyadmin,kibana,internal-monitoring
2-
APP_ENV=prod
2+
APP_ENV=dev
33
ELASTICSEARCH_CLUSTER_MODE=single-node
44
SENTINELKIT_FRONTEND_HOSTNAME=sentinel-kit.local
55
SENTINELKIT_BACKEND_HOSTNAME=backend.sentinel-kit.local

.gitignore

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
12
*.lock
23
/.env.local
34
/.env.local.php
@@ -6,16 +7,22 @@
67
/config/elastalert_ruleset/*
78
/config/backend/*
89
/data/caddy_logs/*
10+
!/data/caddy_logs/.gitkeep
911
/data/ftp_data/*
12+
!/data/ftp_data/.gitkeep
1013
/data/grafana/*
1114
/data/kibana/*
15+
!/data/kibana/.gitkeep
1216
/data/rulesets/yara_ruleset/*
1317
/data/rulesets/sigma_ruleset/*
18+
!/data/rulesets/sigma_ruleset/.gitkeep
1419
/data/fluentbit_db/*
20+
!/data/fluentbit_db/.gitkeep
1521
/data/log_ingest_data/*/*
1622
!/data/log_ingest_data/*/.gitkeep
1723
/data/mysql_data/*
1824
/data/yara_triage_data/*
25+
!/data/yara_triage_data/.gitkeep
1926
/docs/graphs/*.bkp
2027
/sentinel-kit_server_frontend/node_modules/*
2128
/sentinel-kit_server_frontend/dist/*

README.md

Lines changed: 134 additions & 99 deletions
Original file line numberDiff line numberDiff line change
@@ -1,137 +1,172 @@
11
![Sentinel Kit](docs/img/sentinel-kit_logo.png)
2-
# 🛡️ Sentinel Kit: The Simplified Platform for Incident Response (SOC & DFIR)
2+
# 🛡️ Sentinel Kit: The Unified Security Platform for SOC & DFIR
33

4-
**WARNING**: This project is currently in an early stage of development. Not all components have been ported to this repository, and the features are not yet stable enough for production use. The features already available online are documented [here](docs/index.md).
4+
**Sentinel Kit** is a comprehensive security platform designed to provide **Security Operations Center (SOC)** and **Digital Forensics and Incident Response (DFIR)** capabilities with unparalleled deployment simplicity.
55

6-
---
7-
8-
**Sentinel Kit** is a comprehensive Docker stack designed to provide **Digital Forensics and Incident Response (DFIR)** and **Security Operations Center (SOC)** capabilities with unparalleled deployment simplicity.
6+
Built for **real-time security monitoring**, **threat detection**, and **incident response**, this integrated platform enables collection, analysis, detection, and immediate response to security threats.
97

10-
Ideal for **situational monitoring** or **small-scale security incident response**, this integrated platform enables collection, analysis, detection, and immediate response to threats.
8+
![Sentinel-Kit homepage](docs/img/homepage_dashboard.png)
119

1210
---
1311

14-
## Key Features
12+
## Core Capabilities
1513

16-
Sentinel Kit is an all-in-one toolkit that covers the entire security incident lifecycle:
14+
Sentinel Kit provides a complete security monitoring and response ecosystem:
1715

18-
* **Log Collection & Parsing (SIEM Lite)**: Uses **Fluent Bit** for data ingestion and **Elasticsearch** for storage and indexing.
19-
* **Advanced Analysis & Triage**: Planned integration of **Sigma** rules for log-based detection and **YARA** for suspicious file triage (via upload mechanisms).
20-
* **Detection and Response (EDR)**: A dedicated agent (integrating into the ecosystem) provide real-time detection and response functionalities. In addition, this optional agent can act as a collection element to forward logs from your workstations to the sentinel-kit server.
21-
* **Secure Uploads**: Provides a dedicated **SFTP** server for uploading evidence, logs, or suspicious files.
22-
* **Comprehensive Visualization**: Monitoring dashboards via **Kibana** and **Grafana/Prometheus**.
16+
### 🔍 **Real-Time Threat Detection**
17+
* **Sigma Rules Engine**: Advanced detection rules for log-based threat hunting
18+
* **Alert Management**: Real-time alert processing and triage workflow
19+
* **Custom Detection Logic**: Create and manage custom detection rules
2320

24-
---
21+
### 📊 **Security Monitoring & Analytics**
22+
* **Unified Dashboard**: Centralized security metrics and KPIs
23+
* **Data Source Monitoring**: Track log ingestion and data source health
24+
* **Service Health Monitoring**: Platform component status and performance
2525

26-
## 🚀 Quick Start (Installation)
26+
### 📁 **Log Collection & Analysis**
27+
* **Multi-Source Ingestion**: FluentBit-based log collection from various sources
28+
* **Elasticsearch Storage**: Scalable log storage and indexing
29+
* **Advanced Search**: Powerful querying and filtering capabilities
2730

28-
This project is designed to be deployed in minutes using Docker Compose.
31+
### 🎯 **Integrated Analysis Tools**
32+
* **Native Alert Viewer**: Built-in alert analysis and investigation tools
33+
* **Kibana Integration**: Advanced log exploration and custom dashboards
34+
* **Grafana Dashboards**: Infrastructure monitoring and metrics visualization
2935

30-
### Prerequisites
36+
---
3137

32-
* **Docker**
33-
* **Docker Compose** (or Docker Engine including Compose)
34-
* Minimum **8 GB of RAM** (essential for Elasticsearch)
35-
36-
### Deployment Steps
37-
38-
1. **Clone the Repository:**
39-
```bash
40-
git clone
41-
cd sentinel-kit
42-
```
43-
44-
2. **Set the following DNS entry (in hosts file if you are running it locally):**
45-
```bash
46-
# OS host file
47-
127.0.0.1 sentinel-kit.local
48-
127.0.0.1 backend.sentinel-kit.local
49-
127.0.0.1 phpmyadmin.sentinel-kit.local
50-
127.0.0.1 kibana.sentinel-kit.local
51-
127.0.0.1 grafana.sentinel-kit.local
52-
```
38+
## 🚀 Quick Start
5339

54-
3. **Launch the Stack:**
55-
```bash
56-
docker-compose up -d
57-
```
58-
*Startup may take several minutes, especially the first time, as Elasticsearch initializes and the backend installs its dependencies.*
40+
### Prerequisites
5941

60-
3. **Check Status:**
61-
```bash
62-
docker-compose ps
63-
```
64-
All services should be in the `Up` status.
42+
- **Operating System**: Windows 10/11, Linux, or macOS
43+
- **Docker & Docker Compose** (or Docker Desktop)
44+
- **Memory**: Minimum 8 GB RAM (16 GB recommended)
45+
- **Storage**: At least 20 GB free disk space
46+
- **Network**: Internet access for initial container downloads
47+
48+
### One-Command Deployment
49+
50+
1. **Clone and Start:**
51+
```bash
52+
git clone https://github.com/codeyourweb/sentinel-kit.git
53+
cd sentinel-kit
54+
55+
# Windows PowerShell
56+
./launcher.ps1 build
57+
58+
# Linux/macOS
59+
./launcher.sh build
60+
```
61+
62+
After an initial build. Startup could be done with `start` command
63+
64+
2. **Configure DNS (Local Development):**
65+
Use the integrated console command as __Administrator__:
66+
```bash
67+
./launcher.sh local-dns-install
68+
```
69+
70+
Or, manually add to your hosts file :
71+
```
72+
127.0.0.1 sentinel-kit.local
73+
127.0.0.1 backend.sentinel-kit.local
74+
127.0.0.1 phpmyadmin.sentinel-kit.local
75+
127.0.0.1 kibana.sentinel-kit.local
76+
127.0.0.1 grafana.sentinel-kit.local
77+
```
78+
79+
3. **Access the Platform:**
80+
- **Main Dashboard**: https://sentinel-kit.local
81+
- **Kibana**: https://kibana.sentinel-kit.local
82+
- **Grafana**: https://grafana.sentinel-kit.local
83+
84+
### First Steps
85+
1. [Configure and create an admin user](docs/01-getting-started.md)
86+
2. [Add new data sources and ingest logs](docs/02-data-ingestion.md)
87+
3. [Create detection rules](docs/04-sigma-rules.md)
88+
4. [Monitor and analyze alerts](docs/05-alert-management.md)
89+
90+
## 🏗️ Architecture Overview
91+
92+
Sentinel Kit follows a microservices architecture with the following core components:
93+
94+
| Component | Purpose | Technology Stack |
95+
|-----------|---------|------------------|
96+
| **Web Interface** | Main dashboard and management console | Vue.js, Nginx |
97+
| **Backend API** | Core business logic and data management | PHP Symfony, PHP-FPM |
98+
| **Detection Engine** | Sigma rules processing and alert generation | Elastalert, Python |
99+
| **Log Storage** | Centralized log repository and indexing | Elasticsearch |
100+
| **Log Ingestion** | Multi-source log collection and forwarding | FluentBit |
101+
| **Database** | Platform configuration and user management | MySQL |
102+
| **Monitoring** | Infrastructure metrics and dashboards | Prometheus, Grafana |
103+
| **Service Discovery** | Reverse proxy and SSL termination | Caddy |
65104

66105
---
67106

68-
## 🌐 Component Access
107+
## 📚 Documentation
69108

70-
Once the stack is running, you can access the interfaces via the default ports exposed by the Caddy service:
109+
### User Guides
110+
* [Getting Started](docs/01-getting-started.md) - Initial setup and first admin user creation
111+
* [Data Ingestion](docs/02-data-ingestion.md) - Configure log sources and data collection
112+
* [Sigma Rules Management](docs/04-sigma-rules.md) - Create and manage detection rules
113+
* [Alert Management](docs/05-alert-management.md) - Investigation and response workflows
114+
* [Monitoring & Health](docs/06-monitoring-health.md) - Platform monitoring and troubleshooting
71115

72-
| Service | Role | Default Access |
73-
| :--- | :--- | :--- |
74-
| **Web Interface** (Admin frontend) | Access to the admin application | `https://sentinel-kit.local` |
75-
| **Web API** | Used for clients<->server communications and admin actions over the web interface | `https://backend.sentinel-kit.local` |
76-
| **Kibana** | Exploration and visualization of Elastic logs | `http://kibana.sentinel-kit.local` |
77-
| **Grafana** | Monitoring dashboards | `http://grafana.sentinel-kit.local` |
78-
| **phpMyAdmin** | MySQL database management | `http://phpmyadmin.sentinel-kit.local` |
79-
| **SFTP Server** | Secure file/evidence upload | Port `2222` |
116+
---
80117

81-
### Default Credentials (Utilities)
118+
## 🔄 Management Commands
82119

83-
| Tool | Username | Password |
84-
| :--- | :--- | :--- |
85-
| **Grafana** | `sentinel-kit_grafana_admin` | `sentinel-kit_grafana_password` |
86-
| **MySQL (DB)** | `sentinel-kit_user` | `sentinel-kit_passwd` |
87-
| **SFTP** | `sentinel-kit_ftp_user` | `sentinel-kit_ftp_passwd` |
120+
The included launcher provides simplified platform management:
88121

89-
All of this can be edited in `.env` file
122+
```powershell
123+
=============================================
124+
Sentinel-Kit Management Script
125+
=============================================
90126
91-
---
127+
USAGE:
128+
.\launcher <command>
92129
93-
## 🛠️ Technical Architecture (via `docker-compose.yml`)
130+
COMMANDS:
131+
start Start the Docker stack
132+
stop Stop the running Docker stack
133+
build Build and start the Docker stack
134+
clean-data Clean all user data and stop containers
135+
console Access Sentinel-Kit console
136+
logs Show Docker container logs
137+
status Show container status
138+
local-dns-install Install local DNS entries to hosts file
139+
local-dns-uninstall Remove local DNS entries from hosts file
140+
help Show this help message
94141
95-
The architecture is modular and relies on the interconnection of several services
96-
![Sentinel-Kit architecture](docs/img/sentinel-kit_network_flow.png)
142+
OPTIONS:
143+
-Follow Follow log output (for logs command)
144+
```
97145

98-
## ⚙️ Configuration
146+
---
99147

100-
Main configurations are located in the `config/` folder: (edit these elements only if you know what you are doing 😊)
148+
## 🛟 Support & Community
101149

102-
* `config/caddy_server`: Reverse proxy that serve front and back-end web applications.
103-
* `config/docker-config`: Server stack configuration (dockerfile, entrypoints...).
104-
* `config/elasticsearch`: Configuration of the Elasticsearch certification chain and nodes cluster.
105-
* `config/fluentbit_server`: Fluent Bit configuration files (inputs, filters, outputs to Elasticsearch).
106-
* `config/grafana`: Grafana initial setup (datasources and dashboards).
107-
* `config/prometheus`: Prometheus monitoring targets configuration.
108-
* `config/sigma_ruleset`: sigma rules used on elasticsearch ingested logs
109-
* `config/yara_ruleset`: yara rules used on `data/yara_triage_data` folder or by *sentinel-kit_datamonitor* agent
150+
* **Documentation**: Complete guides available in the [docs/](docs/) directory
151+
* **Issues**: Report bugs via GitHub Issues
152+
* **Discussions**: Community support and feature discussions
153+
* **Security Issues**: Report security vulnerabilities privately
110154

111-
## 📖 Data
155+
---
112156

113-
Persistent data are located in the `data/` folder:
157+
## 📄 License
114158

115-
* `data/caddy_logs`: Store the caddy server access & error logs.
116-
* `data/fluentbit_db`: fluentbit ingest database (to avoid indexing same data several times).
117-
* `data/ftp_data`: Store file uploaded on the SFTP server.
118-
* `data/grafana`: Contains a persistence of your grafana profile if you want to make your own dashboard and customizations.
119-
* `data/kibana`: Kibana user customizations (dashboard, config...).
120-
* `data/log_ingest_data`: Is designed to forward logs if you don't want to use fluentbit HTTP forwarder.
121-
* `data/yara_triage_data`: is used to automatically scan any file placed in this folder.
159+
This project is licensed under the **GNU AFFERO GENERAL PUBLIC LICENSE**. See [LICENSE](LICENSE) for details.
122160

123161
---
124162

125-
## 🛑 Stopping and Cleaning the Stack
163+
## 🙏 Acknowledgments
126164

127-
To stop and remove the containers, networks, and volumes created by Docker Compose:
128-
129-
```bash
130-
docker-compose down -v
131-
```
132-
133-
If you want to erase all user data, and start from a fresh and clean installation, there is a `clean-user-data` sh or powershell (depending on your OS) to help you erasing all personal data. Then, you can rebuild the whole stack with:
165+
* **Sigma Project** for the detection rule format and community rules
166+
* **Elastic Stack** for the powerful search and analytics engine
167+
* **FluentBit** for efficient and lightweight log processing
168+
* **Vue.js Community** for the reactive frontend framework
169+
* **Symfony** for this powerfull PHP framework, core of Sentinel-Kit backend
170+
---
134171

135-
```bash
136-
docker-compose up --build --force-recreate
137-
```
172+
*Sentinel Kit - Simplifying Security Operations through Unified Platform Management*

data/caddy_logs/.gitkeep

Whitespace-only changes.

data/fluentbit_db/.gitkeep

Whitespace-only changes.

data/ftp_data/.gitkeep

Whitespace-only changes.

data/kibana/.gitkeep

Whitespace-only changes.

data/rulesets/sigma_ruleset/.gitkeep

Whitespace-only changes.

data/yara_triage_data/.gitkeep

Whitespace-only changes.

docs/01-create-admin-user.md

Lines changed: 0 additions & 66 deletions
This file was deleted.

0 commit comments

Comments
 (0)