Verificación del entorno
Verificación del entorno
Antes de confiar en TraceWall para operaciones, valida que el entorno cumple los requisitos y que la aplicación puede acceder a lo necesario.
Checklist de verificación (ejecutar en orden)
1. Sistema operativo y hardware
| Verificación | Comando / Acción | Esperado |
|---|---|---|
| Versión OS | winver / lsb_release -a | Windows 10 21H2+ / 11 22H2+ / Server 2019+ / Ubuntu 22.04/24.04 / Debian 12 |
| Arquitectura | wmic os get osarchitecture / uname -m | x64 / amd64 |
| RAM total | Task Manager / free -h | ≥ 8 GB (16 GB si ARGUS) |
| Espacio disco | df -h / Explorador | ≥ 2 GB libres (10 GB+ recomendado) |
| CPU AVX2 | `lscpu | grep avx2` / CPU-Z |
| GPU NVIDIA (opcional) | nvidia-smi | Driver + CUDA si ARGUS GPU |
2. Dependencias de software
| Dependencia | Windows | Linux | Verificación |
|---|---|---|---|
| Npcap (WinPcap API) | Requerido para Exposure | N/A | sc query npcap → RUNNING |
| VC++ Redist 2015-2022 | Instalador lo incluye | N/A | wmic product where "name like '%Visual C++%'" get name,version |
| libnss3, libatk, libdrm, libgbm, libasound2 | N/A | Incluidas en .deb | `dpkg -l |
| systemd user services | N/A | Para sensor background | systemctl --user status tracewall-sensor |
3. Permisos y capacidades
| Recurso | Windows | Linux | Verificación |
|---|---|---|---|
| Interfaces/ARP/Rutas | Usuario estándar | Usuario estándar | Sensor muestra datos en UI |
| Procesos completos (cmdline, usuario) | Admin para algunos | Usuario estándar | Settings → Sensor → “Incluir procesos de sistema” |
| Puertos TCP/UDP (netstat/ss) | Usuario estándar | Usuario estándar | Local Sensor → Pestaña Puertos |
| Captura paquetes (Exposure) | Npcap + Admin | CAP_NET_RAW | Ejecutar perfil “Puertos” → resultados |
Escribir en %LOCALAPPDATA%\TraceWall | Usuario propietario | Usuario propietario | Logs se generan sin error |
| Loopback 127.0.0.1 (ARGUS) | Usuario estándar | Usuario estándar | ARGUS motor inicia, health 200 OK |
4. Conectividad de red (LAN)
| Target | Protocolo/Puerto | Desde | Verificación |
|---|---|---|---|
| Gateway local | ICMP / ARP | TraceWall host | ping <gateway> / arp -a |
| Firewalls (FortiGate, Palo Alto) | HTTPS 443 / API | TraceWall host | curl -k https://<fw>:443/api/v2/monitor/system/status |
| Wazuh Manager | HTTPS 55000 | TraceWall host | curl -k -u user:pass https://<wazuh>:55000/ |
| Zabbix Server | HTTPS 443 / API | TraceWall host | curl -k https://<zbx>/api_jsonrpc.php |
| Switches/routers SNMP | UDP 161 | TraceWall host | snmpwalk -v2c -c public <ip> 1.3.6.1.2.1.1.1.0 |
| Syslog sources | UDP/TCP 514 (TLS 6514) | TraceWall host | nc -vzu <ip> 514 / openssl s_client -connect <ip>:6514 |
| DNS interno | UDP 53 | TraceWall host | nslookup <interno> <dns> |
| Internet (opcional) | HTTPS 443 | TraceWall host | curl https://api.ipify.org (solo si perfil Internet-facing) |
5. Conectividad saliente (opcional)
| Servicio | Dominio | Puerto | ¿Cuándo se usa? |
|---|---|---|---|
| Detección IP pública | api.ipify.org | 443 | Perfil Exposure “Internet-facing” |
| Descarga modelo ARGUS | huggingface.co / CDN | 443 | Primera ejecución si modelo no empaquetado |
| Verificación actualizaciones | download.trace-wall.com | 443 | Auto-update habilitado |
Si estás en entorno air-gapped: Deshabilitar perfil Internet-facing, colocar modelo ARGUS manualmente, desactivar auto-update.
6. Antivirus / EDR / Políticas corporativas
| Componente | Exclusión recomendada | Por qué |
|---|---|---|
%LOCALAPPDATA%\TraceWall\ | Procesos + archivos | Logs, DB, modelo, cache |
%APPDATA%\TraceWall\ | Archivos | config.json |
C:\Program Files\TraceWall\ (system-wide) | Procesos + archivos | Binarios, uninstaller |
/opt/tracewall/ (Linux) | Archivos | Binarios, resources |
~/.local/share/tracewall/ (Linux) | Archivos | DB, logs, modelo |
tracewall.exe / TraceWall | Proceso | Sensor, ARGUS, IPC |
SmartScreen: Verificar checksum → “Ejecutar de todos modos”. No deshabilitar SmartScreen globalmente.
Script de verificación automática (PowerShell / Bash)
Windows (PowerShell)
Write-Host "=== TraceWall Environment Verification ===" -ForegroundColor Cyan
# OS$os = Get-CimInstance Win32_OperatingSystemWrite-Host "OS: $($os.Caption) $($os.Version) Build $($os.BuildNumber)" -NoNewlineif ($os.Version -ge "10.0.19044" -or $os.Caption -like "*Server 2019*" -or $os.Caption -like "*Server 2022*") { Write-Host " ✅" -ForegroundColor Green} else { Write-Host " ❌ (Unsupported)" -ForegroundColor Red }
# Arch$arch = $env:PROCESSOR_ARCHITECTUREWrite-Host "Arch: $arch" -NoNewlineif ($arch -eq "AMD64") { Write-Host " ✅" -ForegroundColor Green } else { Write-Host " ❌" -ForegroundColor Red }
# RAM$ram = [math]::Round((Get-CimInstance Win32_ComputerSystem).TotalPhysicalMemory / 1GB, 1)Write-Host "RAM: ${ram} GB" -NoNewlineif ($ram -ge 8) { Write-Host " ✅" -ForegroundColor Green } else { Write-Host " ⚠️ (Min 8 GB)" -ForegroundColor Yellow }
# Disk$free = [math]::Round((Get-PSDrive C).Free / 1GB, 1)Write-Host "Free disk (C:): ${free} GB" -NoNewlineif ($free -ge 2) { Write-Host " ✅" -ForegroundColor Green } else { Write-Host " ❌" -ForegroundColor Red }
# Npcap$npf = Get-Service npcap -ErrorAction SilentlyContinueWrite-Host "Npcap: " -NoNewlineif ($npf -and $npf.Status -eq 'Running') { Write-Host "✅ Running" -ForegroundColor Green }elseif ($npf) { Write-Host "⚠️ Installed but not running" -ForegroundColor Yellow }else { Write-Host "❌ Not installed" -ForegroundColor Red }
# AVX2$cpu = Get-CimInstance Win32_Processor$avx2 = $falsetry { $avx2 = (Get-ItemProperty "HKLM:\HARDWARE\DESCRIPTION\System\CentralProcessor\0").FeatureSet -band 0x20000000 } catch {}Write-Host "AVX2: " -NoNewlineif ($avx2) { Write-Host "✅" -ForegroundColor Green } else { Write-Host "❌ (Required for ARGUS)" -ForegroundColor Red }
# Loopback test (ARGUS port will be random, just test TCP listen)$listener = [System.Net.Sockets.TcpListener]::new([System.Net.IPAddress]::Loopback, 0)$listener.Start()$port = $listener.Server.LocalEndPoint.Port$listener.Stop()Write-Host "Loopback TCP listen: ✅ (port $port test OK)" -ForegroundColor Green
Write-Host "`n=== Network Reachability (edit targets) ===" -ForegroundColor Cyan$targets = @("10.0.0.1", "192.168.1.1", "firewall.lab.example")foreach ($t in $targets) { $ping = Test-Connection -ComputerName $t -Count 1 -Quiet -ErrorAction SilentlyContinue Write-Host "Ping $t: " -NoNewline if ($ping) { Write-Host "✅" -ForegroundColor Green } else { Write-Host "❌" -ForegroundColor Red }}
Write-Host "`n=== Done. Review warnings before operating. ===" -ForegroundColor CyanLinux (Bash)
#!/usr/bin/env bashset -euo pipefail
echo "=== TraceWall Environment Verification ==="
# OSif [[ -f /etc/os-release ]]; then . /etc/os-release echo "OS: $PRETTY_NAME" case $ID in ubuntu|debian) echo "✅ Supported distro" ;; *) echo "⚠️ Untested distro" ;; esacfi
# Archarch=$(uname -m)echo "Arch: $arch"[[ "$arch" == "x86_64" ]] && echo "✅" || echo "❌"
# RAMram_gb=$(free -g | awk '/^Mem:/{print $2}')echo "RAM: ${ram_gb} GB"[[ $ram_gb -ge 8 ]] && echo "✅" || echo "⚠️ Min 8 GB"
# Diskfree_gb=$(df -BG / | awk 'NR==2{print $4}' | tr -d 'G')echo "Free disk (/): ${free_gb} GB"[[ $free_gb -ge 2 ]] && echo "✅" || echo "❌"
# AVX2if lscpu | grep -q avx2; then echo "AVX2: ✅"; else echo "AVX2: ❌ (Required for ARGUS)"; fi
# Dependenciesfor pkg in libnss3 libatk1.0-0 libdrm2 libgbm1 libasound2; do if dpkg -l | grep -q "^ii $pkg"; then echo "$pkg: ✅"; else echo "$pkg: ❌"; fidone
# Loopback testpython3 -c "import socket; s=socket.socket(); s.bind(('127.0.0.1',0)); print(f'Loopback TCP listen: ✅ (port {s.getsockname()[1]} test OK)'); s.close()"
# Network (edit targets)echoecho "=== Network Reachability (edit targets) ==="for target in 10.0.0.1 192.168.1.1 firewall.lab.example; do if ping -c 1 -W 1 "$target" &>/dev/null; then echo "Ping $target: ✅" else echo "Ping $target: ❌" fidone
echoecho "=== Done. Review warnings before operating. ==="Qué hacer si algo falla
| Fallo | Acción inmediata |
|---|---|
| OS no soportado | No instalar; usar versión soportada |
| RAM < 8 GB | No habilitar ARGUS; solo sensor + módulos básicos |
| Sin Npcap (Win) | Instalar Npcap (modo WinPcap API-compatible) desde instalador o https://npcap.com |
| Sin AVX2 | ARGUS no funcionará; solo modo CPU sin ARGUS |
| Falta dependencia Linux | sudo apt update && sudo apt install -f |
| No hay espacio en disco | Limpiar logs antiguos, reducir retención, mover models/ a otro disco |
| Gateway no responde | Verificar VLAN, firewall host, cable/link |
| Firewall/SIEM no alcanza | Credenciales, ACL de management, TLS, puerto correcto |
| SmartScreen bloquea | Verificar checksum → “Más info” → “Ejecutar de todos modos” |