Files
SamWaf/README_es.md
T
2026-07-14 11:33:06 +08:00

15 KiB

English | 简体中文 | Español | हिन्दी | العربية | Français | Português | Русский | বাংলা | اردو | 日本語 | Deutsch | Bahasa Indonesia | 한국어

SamWaf

Un firewall de aplicaciones web ligero y de código abierto

Release Last commit Docker Pulls Release Downloads Gitee GitHub stars Gitee star Atomgit star License

Motivación del desarrollo:

  • Ligero: Al principio utilicé algunos productos de seguridad basados en plugins de nginx, apache e iis para la protección, pero el formato de plugin tenía un alto grado de acoplamiento.
  • Privatización: Más adelante se adoptaron sobre todo servicios de protección en la nube, pero el despliegue privado solo resulta asequible para medianas y grandes empresas, mientras que a las pequeñas empresas y estudios les resulta costoso.
  • Cifrado y privacidad: Durante la protección web es preferible procesar los datos localmente sin enviarlos a la nube. El objetivo era crear una herramienta que cifrara la información local y las comunicaciones de red del extremo de administración.
  • DIY: A lo largo de los años de mantenimiento y desarrollo de sitios web había funciones concretas que quería añadir pero que no podía conseguir.
  • Visibilidad: Si el webmaster nunca ha utilizado un WAF similar, resulta incómodo saber quién está accediendo al sitio y qué solicitudes se están realizando únicamente a partir de los logs o de nginx, apache, IIS, etc.

En resumen, el objetivo era crear una herramienta eficaz para la protección de sitios web o API, capaz de gestionar situaciones anómalas y garantizar el funcionamiento normal de los sitios web y las aplicaciones.

Introducción al software

SamWaf es un firewall de aplicaciones web ligero y de código abierto para pequeñas empresas, estudios y sitios web personales. Admite un despliegue totalmente privado, cifra los datos almacenados localmente, es fácil de poner en marcha y es compatible con Linux, Windows de 64 bits y ARM64, con imágenes Docker disponibles. De forma predeterminada utiliza una base de datos SQLite cifrada e integrada, sin dependencias externas, y opcionalmente puede cambiarse a MySQL / PostgreSQL.

Arquitectura

Arquitectura de SamWaf

Interfaz

Vista general del firewall de aplicaciones web SamWaf

Añadir host Registro de ataques
Añadir host Registro de ataques
CC Lista de bloqueo de IP
CC Lista de bloqueo de IP
Lista de permitidos de IP LDP
Lista de permitidos de IP LDP
Añadir script de regla desde el registro Selección de registros
Añadir script de regla desde el registro Selección de registros
Detalles del registro Regla manual
Detalles del registro Regla manual
Lista de bloqueo de URL Lista de permitidos de URL
Lista de bloqueo de URL Lista de permitidos de URL

Funciones principales

Aspectos básicos

  • Código completamente abierto (Apache 2.0)
  • Despliegue totalmente privado; los datos se cifran y se almacenan únicamente en local
  • Inicio con un clic desde un único archivo, ligero y sin dependencias de servicios de terceros (MySQL/Redis son opcionales)
  • Motor totalmente independiente; la protección no depende de IIS ni de Nginx
  • Compatibilidad con IPv6

Acceso de tráfico

  • Compatibilidad con HTTP/1.1, HTTP/2 y HTTP/3 (QUIC)
  • Reenvío de WebSocket
  • Proxy inverso con balanceo de carga (round-robin ponderado, hash de IP, menor número de conexiones); las comprobaciones de estado eliminan automáticamente los backends en mal estado
  • Reglas de ruta: proxy inverso por ruta, archivos estáticos o redirección 301/302, con protocolo de backend y tiempo de espera de respuesta configurables
  • Servicio de sitios estáticos
  • Reenvío de túneles TCP/UDP de capa 4 (con control de acceso por IP y control por ventana de tiempo)
  • Caché de páginas web
  • Autenticación HTTP Basic para el acceso al sitio
  • Página de bloqueo personalizable

Protección contra ataques

  • Detección de inyección SQL
  • Detección de XSS (cross-site scripting)
  • Detección de RCE (ejecución remota de comandos)
  • Detección de herramientas de escaneo
  • Detección de path traversal
  • Detección en la subida de archivos (extensiones peligrosas, firmas de webshell, Content-Type falsificado)
  • Protección CC / limitación de tasa
  • Detección de crawlers/bots falsos (verificación por DNS inverso de los bots de motores de búsqueda)
  • Anti-leech (protección contra hotlinking)
  • Protección CSRF (validación de Origin/Referer por sitio)
  • Filtrado de palabras sensibles
  • Compatibilidad con el conjunto de reglas OWASP CRS (motor Coraza; las reglas se pueden habilitar/deshabilitar/sobrescribir)
  • Reglas de protección personalizables, con edición tanto por script como mediante interfaz gráfica
  • Verificación humana: CAPTCHA de clic y prueba de trabajo con Cap.js
  • Modo solo registro: registra los ataques sin bloquearlos, útil para observar y ajustar las reglas

Control de acceso

  • Lista de permitidos / lista de bloqueo de IP
  • Lista de permitidos / lista de bloqueo de URL
  • Bloqueo geográfico (bases de datos offline integradas ip2region/GeoIP2, IPv4/IPv6)
  • Bloqueo de IP vinculado al firewall del sistema operativo
  • Bloqueo automático cuando el número de fallos de una IP alcanza un umbral
  • Configuración global con un clic y estrategias de protección por sitio

Seguridad de los datos

  • Almacenamiento cifrado de registros
  • Registros de comunicación cifrados
  • Enmascaramiento de datos (DLP) con salida de privacidad para los datos designados
  • Protección contra la manipulación de páginas web (aprendizaje de línea base + recuperación automática)
  • Refuerzo de la seguridad de las cookies (HttpOnly/Secure/SameSite)

Certificados SSL

  • Solicitud y renovación automáticas de certificados SSL (ACME, multi-CA con soporte de EAB)
  • HTTPS con múltiples certificados SNI y múltiples puertos
  • Comprobación masiva de la caducidad de certificados SSL
  • Carga automática de certificados

Operación y gestión

  • RBAC de cuentas, autenticación de dos factores OTP, registros de inicio de sesión y de operaciones
  • Informes estadísticos y monitorización del sistema y de los hosts
  • Política de retención de datos con particionado y archivado automáticos de los registros
  • SQLite (cifrado) por defecto, MySQL / PostgreSQL opcional, con una herramienta integrada de migración SQLite→MySQL / SQLite→PostgreSQL / MySQL→PostgreSQL
  • Actualización en línea con un clic, reinicio continuo sin tiempo de inactividad y reversión de versiones
  • Tareas por lotes, tareas programadas y copia de seguridad de datos
  • API abierta

Notificaciones

  • Canales de entrega por correo electrónico, DingTalk, Feishu, WeCom (WeChat Work), ServerChan, Webhook, Kafka, RabbitMQ y archivo de registro

Instrucciones de uso

Se recomienda encarecidamente realizar pruebas exhaustivas en un entorno de pruebas antes de desplegar en producción. Si surge algún problema, envíe sus comentarios lo antes posible.

Descargar la última versión

Gitee: https://gitee.com/samwaf/SamWaf/releases

GitHub: https://github.com/samwafgo/SamWaf/releases

AtomGit: https://atomgit.com/SamSafe/SamWaf/releases

Inicio rápido

Windows

  • Iniciar directamente
SamWaf64.exe
  • Ejecutar como servicio (requiere permisos de administrador)
//Install & Start
SamWaf64.exe install && SamWaf64.exe start

//Stop &  Uninstall 
SamWaf64.exe stop && SamWaf64.exe uninstall

Linux

  • instalar
curl -sSO https://update.samwaf.com/latest/install_samwaf.sh && bash install_samwaf.sh install 
  • desinstalar
curl -sSO https://update.samwaf.com/latest/install_samwaf.sh && bash install_samwaf.sh uninstall 

Docker

docker run -d --name=samwaf-instance \
           --restart always \
           -p 26666:26666 \
           -p 80:80 \
           -p 443:443 \
           -v /path/to/your/conf:/app/conf \
           -v /path/to/your/data:/app/data \
           -v /path/to/your/logs:/app/logs \
           -v /path/to/your/ssl:/app/ssl \
           samwaf/samwaf


Más detalles sobre Docker https://hub.docker.com/r/samwaf/samwaf

Etiquetas:

  • latest: La última versión estable (recomendada para uso en producción).
  • beta: La última versión de pruebas (permite probar nuevas funciones o correcciones de errores específicas).

Herramientas de línea de comandos

Comando Descripción
install / uninstall Instalar / desinstalar el servicio del sistema
start / stop / restart Iniciar / detener / reiniciar el servicio
rolling-restart Reinicio continuo sin tiempo de inactividad (sustituye el worker sin interrumpir el tráfico)
resetpwd Restablecer la contraseña del administrador
resetotp Restablecer el código de seguridad (OTP)
repairdb Reparar una base de datos dañada
execsql Ejecutar sentencias SQL en una base de datos seleccionada
migratedb Migración de base de datos sin conexión SQLite → MySQL / SQLite → PostgreSQL / MySQL → PostgreSQL (--dry-run para solo estimar, --force para sobrescribir)
rollback Revertir a una versión de copia de seguridad anterior

Ejemplo: SamWaf64.exe resetpwd (en Linux: ./SamWafLinux64 resetpwd)

Acceso inicial

http://127.0.0.1:26666

Cuenta predeterminada: admin Contraseña inicial: las instalaciones nuevas generan automáticamente una contraseña aleatoria guardada en data/initial_password.txt (las instalaciones existentes conservan su contraseña anterior; cámbiela al iniciar sesión por primera vez)

Guía de actualización

Nota: el proceso de actualización detendrá el servicio; actualice durante las horas de menor tráfico.

Actualización automática

Si hay una nueva versión disponible, aparecerá un aviso de actualización para su confirmación, que le permitirá iniciar la actualización. La página se refrescará automáticamente una vez completada la actualización.

Actualización manual

  • Para el inicio directo:

    1. Cierre la aplicación.
    2. Descargue el programa más reciente y reemplace los archivos existentes; luego inícielo de nuevo manualmente.
  • Para el modo servicio:

1. First, pause the service.

  Windows: SamWaf64.exe stop
  Linux: ./SamWafLinux64 stop
  
2. Replace with the latest application files.

3. Start the service:
Windows: SamWaf64.exe start
Linux: ./SamWafLinux64 start

Nota: Al actualizar el servicio de Windows se pueden activar reglas de seguridad de 360 o Huorong, lo que impide que los archivos nuevos se reemplacen con normalidad. En ese caso, puede reemplazar los archivos manualmente. Quienes estén familiarizados con este tema pueden ayudar a determinar el método de gestión correcto.

Documentación en línea

Documentación en línea

Información del código

Repositorio de código

Introducción y compilación

Cómo compilar Instrucciones de compilación

Manual de compilación en línea: https://doc.samwaf.com/en/dev/

Plataformas probadas y compatibles

Plataformas probadas y compatibles

Otra información

Resultados de las pruebas

Resultados de las pruebas

Política de seguridad

Política de seguridad

Comentarios

SamWaf está en continua iteración. Agradecemos sus comentarios y sugerencias.

Cuenta pública de WeChat

SamWaf

Historial de estrellas

Gráfico del historial de estrellas

Licencia

SamWaf está licenciado bajo la Apache License 2.0. Consulte LICENSE para obtener más detalles.

Para el aviso sobre el uso de software de terceros, consulte ThirdLicense

Contribución

¡Gracias a los siguientes colaboradores!