
teler-waf ist eine Go HTTP-Middleware, die lokale Webdienste vor OWASP-Top-10-Bedrohungen, bekannten Schwachstellen, böswilligen Akteuren, Botnetzen, unerwünschten Crawlern und Brute-Force-Angriffen schützt.
teler-waf ist eine umfassende Sicherheitslösung für Go-basierte Webanwendungen. Es fungiert als HTTP-Middleware und bietet eine einfach zu bedienende Schnittstelle, um die IDS-Funktionalität des teler IDS in bestehende Go-Anwendungen zu integrieren. Mit teler-waf können Sie Ihre Anwendung vor einer Vielzahl von webbasierten Angriffen wie Cross-Site-Scripting (XSS) und SQL-Injection schützen.
Das Paket enthält einen standardmäßigen net/http.Handler, der die Integration in das Routing Ihrer Anwendung erleichtert. Wenn ein Client eine Anfrage an eine durch teler-waf geschützte Route stellt, wird die Anfrage zunächst vom teler IDS auf bekannte bösartige Muster überprüft. Werden keine bösartigen Muster erkannt, wird die Anfrage zur weiteren Verarbeitung durchgereicht.
Neben dem Schutz vor webbasierten Angriffen kann teler-waf auch dazu beitragen, die allgemeine Sicherheit und Integrität Ihrer Anwendung zu verbessern. Es ist hoch konfigurierbar, sodass Sie es an die spezifischen Anforderungen Ihrer Anwendung anpassen können.
Siehe auch:
teler-waf bietet eine Reihe leistungsstarker Funktionen, die die Sicherheit Ihrer Go-Webanwendungen verbessern:
Insgesamt bietet teler-waf eine umfassende Sicherheitslösung für Go-basierte Webanwendungen und hilft, vor webbasierten Angriffen zu schützen und die allgemeine Sicherheit und Integrität Ihrer Anwendung zu verbessern.
Abhängigkeiten:
Um teler-waf in Ihre Go-Anwendung zu installieren, führen Sie den folgenden Befehl aus, um das teler-waf-Paket herunterzuladen und zu installieren:```console go get github.com/teler-sh/teler-waf
## Nutzung
> [!WARNING]
> **Hinweis zur Einstellung**: Threat-Ausschlüsse (`Excludes`) werden in der kommenden Version (**v2**) eingestellt. Siehe [#73](https://github.com/teler-sh/teler-waf/discussions/73) & [#64](https://github.com/teler-sh/teler-waf/issues/64).
Hier ist ein Beispiel, wie Sie teler-waf in einer Go-Anwendung verwenden:
1. Importieren Sie das teler-waf-Paket in Ihren Go-Code:```go
import "github.com/teler-sh/teler-waf"
New-Funktion, um eine neue Instanz des Typs Teler zu erstellen. Diese Funktion akzeptiert eine Reihe optionaler Parameter, mit denen sich teler-waf an die spezifischen Anforderungen Ihrer Anwendung anpassen lässt.```go
waf := teler.New()3. Verwenden Sie die `Handler`-Methode der `Teler`-Instanz, um einen `net/http.Handler` zu erstellen. Dieser Handler kann dann in der HTTP-Routing Ihrer Anwendung verwendet werden, um die Sicherheitsmaßnahmen von teler-waf auf bestimmte Routen anzuwenden.```go
handler := waf.Handler(http.HandlerFunc(yourHandlerFunc))
handler in Ihrem HTTP-Routing der Anwendung, um die Sicherheitsmaßnahmen von teler-waf auf bestimmte Routen anzuwenden.```go
http.Handle("/path", handler)Das war's! Sie haben teler-waf in Ihrer Go-Anwendung konfiguriert.
**Optionen:**
Eine Liste der verfügbaren Optionen zum Anpassen von teler-waf finden Sie in der Struktur [`teler.Options`](https://pkg.go.dev/github.com/teler-sh/teler-waf#Options).
### Beispiele
Hier ist ein Beispiel, wie Sie die Optionen und Regeln für teler-waf anpassen können:```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)
})