Initial commit
This commit is contained in:
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
||||
.DS_Store
|
||||
7
siem-elastic-template/app/Dockerfile
Normal file
7
siem-elastic-template/app/Dockerfile
Normal file
@@ -0,0 +1,7 @@
|
||||
FROM python:alpine
|
||||
|
||||
RUN pip install flask
|
||||
|
||||
COPY ./app.py ./app.py
|
||||
|
||||
CMD ["python", "app.py"]
|
||||
24
siem-elastic-template/app/app.py
Normal file
24
siem-elastic-template/app/app.py
Normal file
@@ -0,0 +1,24 @@
|
||||
from flask import Flask
|
||||
import logging
|
||||
|
||||
logging.basicConfig(level=logging.INFO)
|
||||
|
||||
app = Flask(__name__)
|
||||
logger = logging.getLogger('burek')
|
||||
|
||||
@app.route('/')
|
||||
def home():
|
||||
logger.info("Home endpoint accessed")
|
||||
return "Hello World"
|
||||
|
||||
@app.route('/data', methods=['POST'])
|
||||
def data():
|
||||
logger.info("Data endpoint accessed with data: %s", request.json)
|
||||
return {
|
||||
"message": "Data received successfully",
|
||||
"data": request.json
|
||||
}
|
||||
|
||||
if __name__ == '__main__':
|
||||
app.run(host='0.0.0.0', port=8000)
|
||||
|
||||
12
siem-elastic-template/app/docker-compose.yml
Normal file
12
siem-elastic-template/app/docker-compose.yml
Normal file
@@ -0,0 +1,12 @@
|
||||
services:
|
||||
app:
|
||||
image: app
|
||||
build: .
|
||||
ports:
|
||||
- "8000:8000"
|
||||
logging:
|
||||
driver: "fluentd"
|
||||
options:
|
||||
fluentd-address: localhost:24224
|
||||
tag: jufka
|
||||
|
||||
44
siem-elastic-template/elastic/docker-compose.yml
Normal file
44
siem-elastic-template/elastic/docker-compose.yml
Normal file
@@ -0,0 +1,44 @@
|
||||
services:
|
||||
elastic:
|
||||
image: docker.elastic.co/elasticsearch/elasticsearch:7.17.29
|
||||
container_name: elasticsearch
|
||||
environment:
|
||||
- xpack.security.enabled=true
|
||||
- xpack.security.authc.anonymous.username=anonymous_user
|
||||
- xpack.security.authc.anonymous.roles=superuser
|
||||
- xpack.security.authc.anonymous.authz_exception=true
|
||||
- xpack.security.authc.api_key.enabled=true
|
||||
- discovery.type=single-node
|
||||
- ES_JAVA_OPTS=-Xms512m -Xmx512m
|
||||
volumes:
|
||||
- esdata:/usr/share/elasticsearch/data
|
||||
ports:
|
||||
- "9200:9200"
|
||||
|
||||
kibana:
|
||||
image: docker.elastic.co/kibana/kibana:7.17.29
|
||||
container_name: kibana
|
||||
environment:
|
||||
- elasticsearch.username=kibana
|
||||
- elasticsearch.password=Burek123!
|
||||
- XPACK_ENCRYPTEDSAVEDOBJECTS_ENCRYPTIONKEY="min-32-byte-long-NEW-encryption-key"
|
||||
- ELASTICSEARCH_HOSTS=http://elastic:9200
|
||||
ports:
|
||||
- "5601:5601"
|
||||
depends_on:
|
||||
- elastic
|
||||
|
||||
fluent:
|
||||
image: fluent/fluent-bit:latest
|
||||
container_name: fluent-bit
|
||||
ports:
|
||||
- "24224:24224"
|
||||
- "24224:24224/udp"
|
||||
volumes:
|
||||
- ./fluent-bit.conf:/fluent-bit/etc/fluent-bit.conf
|
||||
- ./parsers.conf:/fluent-bit/etc/parsers.conf
|
||||
depends_on:
|
||||
- elastic
|
||||
|
||||
volumes:
|
||||
esdata:
|
||||
24
siem-elastic-template/elastic/fluent-bit.conf
Normal file
24
siem-elastic-template/elastic/fluent-bit.conf
Normal file
@@ -0,0 +1,24 @@
|
||||
[SERVICE]
|
||||
log_level debug
|
||||
Parsers_File /fluent-bit/etc/parsers.conf
|
||||
|
||||
[INPUT]
|
||||
Name forward
|
||||
Listen 0.0.0.0
|
||||
port 24224
|
||||
|
||||
[FILTER]
|
||||
Name parser
|
||||
Match **
|
||||
Key_Name log
|
||||
Parser http_access_custom
|
||||
Reserve_Data On
|
||||
|
||||
[OUTPUT]
|
||||
Name es
|
||||
Match **
|
||||
Host elastic
|
||||
Port 9200
|
||||
Logstash_Format True
|
||||
tls Off
|
||||
Suppress_Type_Name On
|
||||
7
siem-elastic-template/elastic/parsers.conf
Normal file
7
siem-elastic-template/elastic/parsers.conf
Normal file
@@ -0,0 +1,7 @@
|
||||
[PARSER]
|
||||
Name http_access_custom
|
||||
Format regex
|
||||
Regex ^(?<host>\S+)\s+(?<ident>\S+)\s+(?<user>\S+)\s+\[(?<time>[^\]]+)\]\s+"(?<method>\S+)\s+(?<path>\S+)\s+(?<protocol>[^"]+)"\s+(?<code>\d{3})\s+(?<size>\S+)$
|
||||
Time_Key time
|
||||
Time_Format %d/%b/%Y %H:%M:%S
|
||||
Types code:integer
|
||||
Reference in New Issue
Block a user