Honeyos y el archivo clean

El proyecto DISEÑO DE UNA DISTRIBUCIÓN LINUX DERIVADA DE DEBIAN PARA EL DESPLIEGUE DE HONEYPOTS DE SEGURIDAD EN LA ESCUELA MILITAR DE INGENIERÍA UNIDAD ACADÉMICA DEL TRÓPICO ah definido un contenedor para gestionar y controlar el arranque inicial de Honey Operation System, el contenedor mencionado crea los directorios donde se ubican dichos logs de almacenamiento, entonces logstash los coje y envia a elasticsearch y de ahi a kibana.

DISEÑO DE CONSUMO DE DATOS

gantt
    dateFormat  HH:mm
    title Flujo de logs en ELK (Vista tipo Gantt)
    section Generación
    Honeypots / Aplicaciones     :done,   gen, 00:00, 01:00
    section Recolección
    Filebeat / Shippers          :active, rec, 01:00, 02:00
    section Procesamiento
    Logstash                     :        proc,02:00, 03:00
    section Indexación
    Elasticsearch                :        idx, 03:00, 04:00
    section Visualización
    Kibana                       :        vis, 04:00, 05:00


Diseño provehido por Krypton612 - Ronald Diaz

Este diagrama es una representación simple y clara de como el pack ELK permite aprovechar datos y funcionalidades definidas para registrar datos.

Archivo de configuración clean

El archivo clean.sh es un archivo definido en Honeyos container que permite desplegar la configuracion inicial de los contenedores preparados para el proyecto.

Codigo

Archivo de configuracion clean


# Let's create a function to clean up and prepare wordpot data
fuWORDPOT () {
  if [ "$myPERSISTENCE" != "on" ]; then rm -rf /data/wordpot/log; fi
  mkdir -vp /data/wordpot/log
  chmod 770 /data/wordpot -R
  chown tpot:tpot /data/wordpot -R
}
 
# Configuracion customizada agregada para le nuevo honeypot emi data
fuEMI () {
  if [ "$myPERSISTENCE" != "on" ]; then rm -rf /data/emi/*; fi
  mkdir -vp /data/emi/log # permite crear el directorio de logs
  chmod 770 /data/emi -R
  chown tpot:tpot /data/emi -R # permite definir los permisos al nivel 2000
}
 
# Avoid unwanted cleaning
if [ "$myPERSISTENCE" = "" ];
  then
    echo $myRED"!!! WARNING !!! - This will delete ALL honeypot logs. "$myWHITE
    while [ "$myQST" != "y" ] && [ "$myQST" != "n" ];
      do
        read -p "Continue? (y/n) " myQST
    done
    if [ "$myQST" = "n" ];
      then
        echo $myGREEN"Puuh! That was close! Aborting!"$myWHITE
        exit
    fi
fi
 

clean.sh

Este archivo permite crear el directorio emi y dentro, el directorio, log. Se crea una nueva version de Honeyos y se sube al repositorio principal

salida del build docker

 ---> Running in e98602617a03
Removing intermediate container e98602617a03
 ---> 1119c8959dac
Step 6/7 : STOPSIGNAL SIGTERM
 ---> Running in 397b154fa1a3
Removing intermediate container 397b154fa1a3
 ---> 4144c8faa09d
Step 7/7 : ENTRYPOINT ["/opt/tpot/entrypoint.sh"]
 ---> Running in ca24203f721c
Removing intermediate container ca24203f721c
 ---> 1ec08da91e29
Successfully built 1ec08da91e29
Successfully tagged ghcr.io/krypton612/honeyos:latest
Successfully tagged ghcr.io/krypton612/honeyos:1.0.2

salida del push al repositorio remoto

The push refers to repository [ghcr.io/krypton612/honeyos]
0ecee228de78: Pushed 
6004de7cb1da: Pushed 
097100c76c15: Layer already exists 
1.0.2: digest: sha256:6ca743b5a6c9095c0f4a6613dbc8c41a453d3ce4a53f36a1748ad67a351940d9 size: 951

Configuracion inicial de Honeyos funcionando con honeypot-emi

Descripcion del trabajo

La integracion del volumen compartido se realiza apartir de la integracion del codigo y creacion de un nuevo docker-compose para pruebas hasta su integracion con toda la infraestructura.

Archivo docker-compose para integracion

# Honey-OS: STANDARD
networks:
  adbhoney_local:
  ciscoasa_local:
  conpot_local_IEC104:
  conpot_local_guardian_ast:
  conpot_local_ipmi:
  conpot_local_kamstrup_382:
  cowrie_local:
  dicompot_local:
  dionaea_local:
  elasticpot_local:
  h0neytr4p_local:
  heralding_local:
  honeyaml_local:
  ipphoney_local:
  mailoney_local:
  medpot_local:
  miniprint_local:
  redishoneypot_local:
  sentrypeer_local:
  tanner_local:
  wordpot_local:
  nginx_local:
 
services:
 
#########################################
#### DEV
#########################################
#### Honey-OS Lanzador, Jamas Eliminar. !
#########################################
 
# Honey-OS Init Service
  honeyos:
    container_name: honeyos
    env_file:
      - .env
    restart: always
    stop_grace_period: 60s
    tmpfs:
      - /tmp/etc:uid=2000,gid=2000
      - /tmp/:uid=2000,gid=2000
    network_mode: "host"
    cap_add:
     - NET_ADMIN
    image: ghcr.io/krypton612/honeyos:1.1
    pull_policy: ${TPOT_PULL_POLICY}
    volumes:
      - ${TPOT_DOCKER_COMPOSE}:/tmp/tpot/docker-compose.yml:ro
      - ${TPOT_DATA_PATH}/blackhole:/etc/blackhole
      - ${TPOT_DATA_PATH}:/data
      - /var/run/docker.sock:/var/run/docker.sock:ro
 
 
##################
#### Honeypots
##################
  honeypot-emi:
    image: ghcr.io/krypton612/honeypot-emi:1.0.7
    container_name: honeypot-emi
    ports:
      - "8080:8080"
    volumes:
      - ${TPOT_DATA_PATH}/emi/log:/var/www/storage/logs
    restart: unless-stopped

Configuracion de despliegue local