On Monday, September 2, 2013 8:10:10 PM UTC-6, Nelson Morris wrote:
>
>
> ----
>
> Several of Yesod's responses to other items on the list are humorous in 
> there vagueness, but in my experience for clojure:
>
> 1.Injection:   Done by JDBC's prepared statements, and clojure.jdbc's use 
> of them
> 2. XSS injection:   Depends on templating.  Hiccup requires explicit `(h 
> ..)` calls.  laser is escape by default.  I am unsure about enlive, 
> clabango, or others.
> 3. Authentication & Session Management:  I've used friend for 
> authentication, and bcrypt for encryption.  lib-noir has some functions 
> that use bcrypt, but I've not used it. Session management can be specified 
> by the :store given to wrap-session, and defaults to a in memory store.  A 
> cookie store also exists that provides some protection against cookie 
> mutation.  Immutant provides a store that can work across a cluster.
> 4. Insecure Reference:  There is not a standard ORM or similar, so 
> handling only the correct parameters is up to you.
> 5. CSRF:  ring-anti-forgery provides a way to add CSRF prevention tokens
> 6. Security Misconfiguration: This seems to be the domain of chef, pallet, 
> puppet, capistrano or another deployment tool.  I'm not sure I want my 
> libraries to mess with deployments.
> 7. Insecure Cryptographic Storage: Use bcrypt. See 3.
> 8. Failure to Restrict URL access: I've used friend for authorization.
> 9. Insufficient Transport Layer Protection: I'd recommend letting your 
> front end server handle this and redirect to https.  I believe lib-noir has 
> a middleware that will redirect from http to https if needed. Consider 
> passing `:secure true` to `wrap-cookies` if you have an https only site.
> 10. Unvalidated Redirects and Forwards: Url generation is a weakspot in a 
> compojure based setup. For comparison, pedestal-service wrote its own 
> routing dsl and stores the routes in a way that allows url generation based 
> on the context passed in.
>
> I believe the use of many small libraries is what causes the lack of a 
> single spot for this documentation. I've picked up most of what I described 
> above by knowing the authors / what to google / asking + watching irc. 
>  That does seem like an unfortunate situation for anyone new to have to 
> learn.
>
> -
> Nelson Morris
>

Thank you to Nelson for compiling this list. Since it was posted a number 
of months ago, has anyone recently written or stumbled over a go-to site 
for security in Clojure web/non-web apps? The clojure-sec group seems to be 
dead, but let me know if we should take the thread over there.

-
Christopher Poile

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to