
teler-waf è un middleware HTTP Go che protegge i servizi web locali da minacce OWASP Top 10, vulnerabilità note, attori malintenzionati, botnet, crawler indesiderati e attacchi di forza bruta.
teler-waf è una soluzione di sicurezza completa per applicazioni web basate su Go. Funge da middleware HTTP, fornendo un'interfaccia semplice per integrare le funzionalità IDS con teler IDS nelle applicazioni Go esistenti. Utilizzando teler-waf, puoi contribuire a proteggerti da una varietà di attacchi basati sul web, come cross-site scripting (XSS) e SQL injection.
Il pacchetto include un net/http.Handler standard, che ne facilita l'integrazione nel routing della tua applicazione. Quando un client effettua una richiesta a una rotta protetta da teler-waf, la richiesta viene prima controllata rispetto a teler IDS per rilevare pattern dannosi noti. Se non vengono rilevati pattern dannosi, la richiesta viene quindi passata per ulteriori elaborazioni.
Oltre a fornire protezione contro gli attacchi basati sul web, teler-waf può anche contribuire a migliorare la sicurezza e l'integrità complessiva della tua applicazione. È altamente configurabile, consentendoti di adattarlo alle esigenze specifiche della tua applicazione.
Vedi anche:
teler-waf offre una gamma di potenti funzionalità progettate per migliorare la sicurezza delle tue applicazioni web Go:
In sintesi, teler-waf fornisce una soluzione di sicurezza completa per applicazioni web basate su Go, aiutando a proteggere dagli attacchi basati sul web e migliorando la sicurezza e l'integrità complessiva della tua applicazione.
Dipendenze:
Per installare teler-waf nella tua applicazione Go, esegui il seguente comando per scaricare e installare il pacchetto teler-waf:```console go get github.com/teler-sh/teler-waf
## Utilizzo
> [!WARNING]
> **Avviso di deprecazione**: Le esclusioni di minacce (`Excludes`) saranno deprecate nella prossima release (**v2**). Vedi [#73](https://github.com/teler-sh/teler-waf/discussions/73) e [#64](https://github.com/teler-sh/teler-waf/issues/64).
Ecco un esempio di come utilizzare teler-waf in un'applicazione Go:
1. Importa il pacchetto teler-waf nel tuo codice Go:```go
import "github.com/teler-sh/teler-waf"
New per creare una nuova istanza del tipo Teler. Questa funzione accetta una varietà di parametri opzionali che possono essere utilizzati per configurare teler-waf in base alle esigenze specifiche della tua applicazione.```go
waf := teler.New()3. Utilizza il metodo `Handler` dell'istanza `Teler` per creare un `net/http.Handler`. Questo handler può quindi essere utilizzato nel routing HTTP della tua applicazione per applicare le misure di sicurezza di teler-waf a rotte specifiche.```go
handler := waf.Handler(http.HandlerFunc(yourHandlerFunc))
handler nel routing HTTP della tua applicazione per applicare le misure di sicurezza di teler-waf a rotte specifiche.```go
http.Handle("/path", handler)Ecco fatto! Hai configurato teler-waf nella tua applicazione Go.
**Opzioni:**
Per un elenco delle opzioni disponibili per personalizzare teler-waf, consulta la struttura [`teler.Options`](https://pkg.go.dev/github.com/teler-sh/teler-waf#Options).
### Esempi
Ecco un esempio di come personalizzare le opzioni e le regole per 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)
})