-
Notifications
You must be signed in to change notification settings - Fork 14.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[security] Adding Flask-Talisman #7443
[security] Adding Flask-Talisman #7443
Conversation
Codecov Report
@@ Coverage Diff @@
## master #7443 +/- ##
==========================================
- Coverage 65.26% 65.26% -0.01%
==========================================
Files 430 430
Lines 21078 21080 +2
Branches 2338 2338
==========================================
+ Hits 13757 13758 +1
- Misses 7205 7206 +1
Partials 116 116
Continue to review full report at Codecov.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
👍 |
(cherry picked from commit a4392c8)
(cherry picked from commit a4392c8)
(cherry picked from commit 4b7fce0)
CATEGORY
Choose one
SUMMARY
As discussed in the Meetup on 2019-05-03 a security audit at Airbnb surfaced a few recommendations in terms of security header settings. Specifically they recommended:
Reading through the Flask security documentation on security header they mention that the Flask-Talisman package can be used to manage various security headers.
It mentions that a subset of default configuration/options handles:
The first one was already enabled for Superset and the later two addresses the two security concerns mentioned above. Unless we have dedicated or knowledgable security personnel, using something like Flask-Talisman with a blanket type approach to best practices around security seems like a good approach.
Note it's not apparent whether each Superset installation would want to handle security differently and currently the package is configurable only via the
Talisman
class orTalisman.init_app(...)
options. In the future if we require this to be more configurable we could expose some of these configurations in Superset's configuration or leverage the mutator, i.e.,TEST PLAN
CI.
REVIEWERS
to: @betodealmeida @DiggidyDave @dpgaspar @graceguo-supercat @michellethomas @mistercrunch