teler-waf
secure
teler-waf | secure | |
---|---|---|
6 | 3 | |
293 | 2,211 | |
4.4% | - | |
9.2 | 2.9 | |
6 days ago | 10 days ago | |
Go | Go | |
Apache License 2.0 | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
teler-waf
- kitabisa/teler-waf: Introduces external custom rules & DSL expression support!
- GitHub - kitabisa/teler-waf: teler-waf v0.6.0 released
- kitabisa/teler-waf: teler-waf is a Go HTTP middleware that provides teler IDS functionality to protect against web-based attacks and improve the security of Go-based web applications. It is highly configurable and easy to integrate.
-
GitHub - kitabisa/teler-waf: teler-waf is a Go HTTP middleware that provide teler IDS functionality with teler IDS to protect against web-based attacks and improve the security of Go-based web applications. It is highly configurable and easy to integrate into existing Go applications.
Yes! The package comes with a standard net/http.Handler, thus it's easy to integrate into any existing Go frameworks. Take a look at examples/ directory.
secure
- Any good git repos made by a single dev?
- Web security focused frameworks (and/or) packages
-
API With GO Buffalo in 2021: from zero to deploy
package actions import ( "project1/models" "github.com/gobuffalo/buffalo" "github.com/gobuffalo/envy" forcessl "github.com/gobuffalo/mw-forcessl" i18n "github.com/gobuffalo/mw-i18n" paramlogger "github.com/gobuffalo/mw-paramlogger" "github.com/unrolled/secure" "github.com/gobuffalo/buffalo-pop/v2/pop/popmw" contenttype "github.com/gobuffalo/mw-contenttype" "github.com/gobuffalo/x/sessions" "github.com/rs/cors" "github.com/gobuffalo/packr/v2" ) // ENV is used to help switch settings based on where the // application is being run. Default is "development". var ENV = envy.Get("GO_ENV", "development") var app *buffalo.App var T *i18n.Translator // App is where all routes and middleware for buffalo // should be defined. This is the nerve center of your // application. // // Routing, middleware, groups, etc... are declared TOP -> DOWN. // This means if you add a middleware to `app` *after* declaring a // group, that group will NOT have that new middleware. The same // is true of resource declarations as well. // // It also means that routes are checked in the order they are declared. // `ServeFiles` is a CATCH-ALL route, so it should always be // placed last in the route declarations, as it will prevent routes // declared after it to never be called. func App() *buffalo.App { if app == nil { app = buffalo.New(buffalo.Options{ Env: ENV, SessionStore: sessions.Null{}, PreWares: []buffalo.PreWare{ cors.Default().Handler, }, SessionName: "_project1_session", }) // Automatically redirect to SSL app.Use(forceSSL()) // Log request parameters (filters apply). app.Use(paramlogger.ParameterLogger) // Set the request content type to JSON app.Use(contenttype.Set("application/json")) // Wraps each request in a transaction. // c.Value("tx").(*pop.Connection) // Remove to disable this. app.Use(popmw.Transaction(models.DB)) app.GET("/", HomeHandler) app.GET("/todo/", TodoIndex) app.GET("/todo/add", TodoAdd) app.GET("/todo/{id}", TodoShow) // <--- MAKE SURE THIS IS AT BOTTOM OF LIST } return app } // translations will load locale files, set up the translator `actions.T`, // and will return a middleware to use to load the correct locale for each // request. // for more information: https://gobuffalo.io/en/docs/localization func translations() buffalo.MiddlewareFunc { var err error if T, err = i18n.New(packr.New("app:locales", "../locales"), "en-US"); err != nil { app.Stop(err) } return T.Middleware() } // forceSSL will return a middleware that will redirect an incoming request // if it is not HTTPS. "http://example.com" => "https://example.com". // This middleware does **not** enable SSL. for your application. To do that // we recommend using a proxy: https://gobuffalo.io/en/docs/proxy // for more information: https://github.com/unrolled/secure/ func forceSSL() buffalo.MiddlewareFunc { return forcessl.Middleware(secure.Options{ SSLRedirect: ENV == "production", SSLProxyHeaders: map[string]string{"X-Forwarded-Proto": "https"}, }) }
What are some alternatives?
coraza - OWASP Coraza WAF is a golang modsecurity compatible web application firewall library
passlib - :key: Idiotproof golang password validation library inspired by Python's passlib
certificates - An opinionated helper for generating tls certificates
go-acl - Go support for Access Control Lists
topaz - Cloud-native authorization for modern applications and APIs
Themis - Easy to use cryptographic framework for data protection: secure messaging with forward secrecy and secure data storage. Has unified APIs across 14 platforms.
teler - Real-time HTTP Intrusion Detection
memguard - Secure software enclave for storage of sensitive information in memory.
certmagic - Automatic HTTPS for any Go program: fully-managed TLS certificate issuance and renewal
coraza-caddy - OWASP Coraza middleware for Caddy. It provides Web Application Firewall capabilities
ssh-vault - 🌰 encrypt/decrypt using ssh keys