mozilla / fxa

Monorepo for Mozilla Accounts (formerly Firefox Accounts)
https://mozilla.github.io/ecosystem-platform/
Mozilla Public License 2.0
590 stars 212 forks source link

Security checklist for payments server #1128

Closed ianb closed 4 years ago

ianb commented 5 years ago

Risk Management

Infrastructure

Development

Dual Sign Off

Logging

Web Applications

Security Features

Databases

Common issues

(This is a copy of the checklist from #741)

clouserw commented 5 years ago

Once we're in production, we'll start checking off this list.

clouserw commented 5 years ago

@jbuck once you have the deploys done, can you hit the ops stuff on this list? Thank you

jaredhirsch commented 5 years ago

@jvehent Hey, I've done a first pass through some of the dev items on this list, while some of the others don't really apply, and yet others will take some work. Are there any items that are higher priority, and which we'd definitely want to finish up before an initial release of the payments / subscription server?

chenba commented 5 years ago

The value for HSTS max-age is 15552000 across all the FxA packages. It's also the currently value in prod accounts.firefox.com. It's easy to update it for the payments server, but the inconsistency is going to make me sad.

jvehent commented 5 years ago

@jrgm What are the URLs for staging and production? I'd like to update our metadata.

jvehent commented 4 years ago

Remaining issues:

clouserw commented 4 years ago

Thanks @jvehent . I filed #2649 and #2650 to track those last two and will close this giant list. :+1:

LZoog commented 4 years ago

2649 is a dupe of #2138 (adding this comment for reference).

jaredhirsch commented 4 years ago

2650 appears to be a bug in observatory. HSTS headers are concatenated by observatory when a redirect occurs, and the redirect flow is subscriptions.f.c -> accounts.f.c/settings -> accounts.f.c/signin. Each of these has a single HSTS header, based on what devtools network tab reports.

I'll file a bug against observatory and link it to #2650.

jvehent commented 4 years ago

I'm not sure this is a bug in observatory. curl returns the same results:

$ curl -si https://subscriptions.firefox.com/ |grep strict-transport-security
strict-transport-security: max-age=31536000; includeSubDomains
strict-transport-security: max-age=31536000
strict-transport-security: max-age=31536000
jaredhirsch commented 4 years ago

@jvehent Yup, thanks. I was just puzzling over a number of repeated headers in the raw curl output, digging in the curl manual to make sure I wasn't missing an argument