s26290
| Warstwa | Protokół |
|---|---|
| 7. Aplikacji | HTTP, DNS, FTP, SSH |
| 6. Prezentacji | |
| 5. Sesji | |
| 4. Transportowa | UDP, TCP |
| 3. Sieci | ICMP |
| 2. Łącza danych | |
| 1. Fizyczna |
GET / HTTP/1.1
Host: localhost:8080
User-Agent: curl/8.5.0
Accept: */*
HEAD / HTTP/1.1
Host: localhost:8080
User-Agent: curl/8.5.0
Accept: */*

Diagram sieci
IF SRC_IP EQUALS 127.0.0.1 AND
USER_AGENT CONTAINS 'curl' AND
FILE_EXTENSION EQUALS 'JPEG'
THEN BLOCK
Rozpoznawanie zagrożeń na podstawie sygnatur

Odciążanie serwera/łącza poprzez serwowanie statycznych plików
Kierowanie złośliwego ruchu przez operatora tak by nie docierał do aplikacji
Stworzenie narzędzia które pozwoli w sposób zautomatyzowany przetestować
Cztery guziki oraz wybór typu ataku

hosts.toml
[all]
192.168.42.1
192.168.42.2
playbook.yaml
---
- hosts: all
tasks:
- name: Instal web server.
apt:
name: nginx
state: present

Narzędzie do analizy ruchu sieciowego

Web framework do języka Python

user@localhost$ tree
├── Containerfile
├── README.md
└── root
├── dashboards
│ ├── dashboard01.json
│ └── dashboard02.json
├── prometheus.yml
├── promtail.yaml
├── provisioning
│ ├── dashboards
│ │ └── node_exporter.yaml
│ └── datasources
│ ├── loki.yaml
│ └── prometheus.yaml
└── server
├── ansible.cfg
├── inventory
│ └── inventory_aws_ec2.yml
├── main.py
├── playbooks
│ ├── deploy.yaml
│ ├── destroy.yaml
│ └── templates
│ └── node_exporter.service.j2
├── ssh_key.pem
├── static
│ └── style.css
└── templates
└── index.html
user@localhost$ podman build -f Containerfile
--> 9820f7565a38
user@localhost$ podman run --rm -it \
-p 127.0.0.1:3000:3000 \
-p 127.0.0.1:5000:5000 \
-p 127.0.0.1:9090:9090 \
-e AWS_ACCESS_KEY_ID="XXX" \
-e AWS_SECRET_ACCESS_KEY="XXX" 9820f7565a38
FROM docker.io/library/alpine:3.19.1
# Install packages
RUN \
echo "**** install runtime packages ****" && \
apk add --no-cache \
ansible \
jq \
openssh \
py3-flask \
py3-boto3 \
py3-botocore \
grafana \
loki \
loki-promtail \
prometheus && \
ansible-galaxy collection install amazon.aws && \
echo "**** cleanup ****" && \
rm -rf \
/tmp/*
# Copy local files
COPY root/ /
# Set path for grafana provisioning
ENV GF_PATHS_PROVISIONING="/provisioning"
#ENV GF_AUTH_ANONYMOUS_ENABLED="true"
#ENV GF_AUTH_ANONYMOUS_ORG_ROLE="Admin"
#ENV GF_AUTH_DISABLE_LOGIN_FORM="true"
ENV GF_PANELS_DISABLE_SANITIZE_HTML="true"
# Expose ports
EXPOSE 3000
EXPOSE 5000
EXPOSE 9090
# Command to run after launching image
CMD ["/bin/sh", "-c",
"cd /server && flask --app main run --host 0.0.0.0 &> /var/log/flask.log & \
cd / && prometheus &> /var/log/prometheus.log & \
loki -config.file=/etc/loki/loki-local-config.yaml & \
promtail -config.file=/promtail.yaml & \
grafana-server --homepath='/usr/share/grafana' --config='/usr/share/grafana/conf/defaults.ini'"]



