-
Notifications
You must be signed in to change notification settings - Fork 135
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
OpenFDA should enforce HTTPS for its API #73
Comments
Thanks for reporting this. We recently moved from having api.fda.gov served by Cloudfront (which then proxied to API Umbrella) to having api.fda.gov served directly by API Umbrella. The SNI issue should be a non-issue now since the SSL cert is served by the ELB. I'll confirm this with the API Umbrella team and also speak with them about the ability to redirect users to https |
@mattmo: Yup, this should be pretty easy for you to do within the api.data.gov admin. Under Configuration > API Backends, select your API backend to edit. Under the "Global Request Settings," you'll find a "HTTPS Requirements" option where you can change your settings. After making changes, just remember to publish them via Configuration > Publish Changes. There's several options here, so you'll need to figure out which option best suites your needs. The tooltip for this field in the admin provides more detailed documentation that hopefully helps:
However, I'd be careful with redirects. Here's some further discussion on some of the pitfalls of redirects: 18F/api.data.gov#34 (comment) and https://https.cio.gov/apis/ The "transitionary & return message" option is probably the best option that should have no impact on users. However, the ultimate goal should be the "required & return message" option, but that may require a bit more coordination with previous users that are still making calls insecurely (which you can determine using the api.data.gov analytics). And regarding SNI, you're correct--with the SSL setup provided by api.data.gov, you're no longer dependent on SNI support for HTTPS access. (FYI: on api.data.gov's end, we are beginning to explore requiring SNI for new agency subdomains, so this may change in the future. However, right now we're taking a gradual approach, and there are no immediate plans for requiring this on existing agency domains. If our future plans ever change on this front, we'll be sure to reach out with much more details.) |
@GUI You continue to post the most rigorous technical analysis of any public servant I know. Also, as the chief maintainer of https://https.cio.gov/apis/ I would love to make it the most helpful thing possible, to you and other agencies. Suggestions and pull requests welcome. |
We just posted a notice at the top of our site indicating access via HTTP is deprecated. We will switch over to the "transitionary & return message" recommended by @GUI on April 4th. Please let me know if you have any questions. |
👏 👏 👏 🎉 That's terrific! And an example for other federal APIs. Please do send any lessons learned or suggested language for https://https.cio.gov/apis/ if you can think of anything that would improve it! |
How'd the transition go? |
Given the executive order and that we have posted the notice for a month at the top of all open.fda.gov pages, we have switched to "require & return". Please let me know if you have any questions. |
The OpenFDA API currently doesn't enforce HTTPS, because of concerns over SNI support:
FDA should review this decision, as enforcing HTTPS for its API is important for its users (and is required by OMB's M-15-13 HTTPS-only policy).
Things to consider:
FDA should enforce HTTPS for its APIs, and help move its userbase (and the federal userbase generally) into the world of SNI, now that the tools to do so are easy and common.
The text was updated successfully, but these errors were encountered: