
teler-waf es un middleware HTTP en Go que protege servicios web locales de las amenazas OWASP Top 10, vulnerabilidades conocidas, actores maliciosos, botnets, rastreadores no deseados y ataques de fuerza bruta.
teler-waf es una solución de seguridad integral para aplicaciones web basadas en Go. Actúa como middleware HTTP, proporcionando una interfaz fácil de usar para integrar la funcionalidad de IDS con teler IDS en aplicaciones Go existentes. Al usar teler-waf, puedes ayudar a proteger contra una variedad de ataques basados en web, como Cross-Site Scripting (XSS) e inyección SQL.
El paquete incluye un net/http.Handler estándar, lo que facilita su integración en el enrutamiento de tu aplicación. Cuando un cliente realiza una solicitud a una ruta protegida por teler-waf, la solicitud primero se verifica contra teler IDS para detectar patrones maliciosos conocidos. Si no se detectan patrones maliciosos, la solicitud pasa para su procesamiento adicional.
Además de proporcionar protección contra ataques basados en web, teler-waf también puede ayudar a mejorar la seguridad e integridad general de tu aplicación. Es altamente configurable, lo que te permite adaptarlo a las necesidades específicas de tu aplicación.
Ver también:
teler-waf ofrece una gama de potentes características diseñadas para mejorar la seguridad de tus aplicaciones web en Go:
En general, teler-waf proporciona una solución de seguridad integral para aplicaciones web basadas en Go, ayudando a proteger contra ataques basados en web y mejorar la seguridad e integridad general de tu aplicación.
Dependencias:
Para instalar teler-waf en tu aplicación Go, ejecuta el siguiente comando para descargar e instalar el paquete teler-waf:```console go get github.com/teler-sh/teler-waf
## Uso
> [!WARNING]
> **Aviso de deprecación**: Las exclusiones de amenazas (`Excludes`) serán obsoletas en la próxima versión (**v2**). Consulte [#73](https://github.com/teler-sh/teler-waf/discussions/73) y [#64](https://github.com/teler-sh/teler-waf/issues/64).
Aquí hay un ejemplo de cómo usar teler-waf en una aplicación Go:
1. Importe el paquete teler-waf en su código Go:```go
import "github.com/teler-sh/teler-waf"
New para crear una nueva instancia del tipo Teler. Esta función toma una variedad de parámetros opcionales que se pueden usar para configurar teler-waf según las necesidades específicas de su aplicación.```go
waf := teler.New()3. Utiliza el método `Handler` de la instancia `Teler` para crear un `net/http.Handler`. Este handler puede utilizarse entonces en el enrutamiento HTTP de tu aplicación para aplicar las medidas de seguridad de teler-waf a rutas específicas.```go
handler := waf.Handler(http.HandlerFunc(yourHandlerFunc))
handler en el enrutamiento HTTP de tu aplicación para aplicar las medidas de seguridad de teler-waf a rutas específicas.```go
http.Handle("/path", handler)¡Eso es todo! Has configurado teler-waf en tu aplicación Go.
**Opciones:**
Para obtener una lista de las opciones disponibles para personalizar teler-waf, consulta la estructura [`teler.Options`](https://pkg.go.dev/github.com/teler-sh/teler-waf#Options).
### Ejemplos
Aquí hay un ejemplo de cómo personalizar las opciones y reglas para teler-waf:```go
// main.go
package main
import (
"net/http"
"github.com/teler-sh/teler-waf"
"github.com/teler-sh/teler-waf/request"
"github.com/teler-sh/teler-waf/threat"
)
var myHandler = http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
// This is the handler function for the route that we want to protect
// with teler-waf's security measures.
w.Write([]byte("hello world"))
})
var rejectHandler = http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
// This is the handler function for the route that we want to be rejected
// if the teler-waf's security measures are triggered.
http.Error(w, "Sorry, your request has been denied for security reasons.", http.StatusForbidden)
})