phpmyadmin / phpmyadmin/website

Implement CSP & HPKP violation reporting

Open
#36 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement hardening
Dominant language
Python
Stars
55
Forks
103
PR merge metrics
No merged PRs in 30d

Description

As report by Emanuel Bronshtein,

I suggest to implement the following for *.phpmyadmin.net websites:
* 'Public-Key-Pins-Report-Only' header, more information:
https://developers.google.com/web/updates/2015/09/HPKP-reporting-with-chrome-46?hl=en
https://developer.mozilla.org/en/docs/Web/Security/Public_Key_Pinning
* report-uri directive in CSP headers, more information:
https://developer.mozilla.org/en-US/docs/Web/Security/CSP/Using_CSP_violation_reports

one free service that can be used for that purpose:
https://report-uri.io/

while using 'Public Key Pinning (HPKP)' is better, it's vulnerable to 'HPKP Suicide/Footgun' problem (very bad to lose control over keys), more information:
https://scotthelme.co.uk/using-security-features-to-do-bad-things/
https://blog.qualys.com/ssllabs/2016/09/06/is-http-public-key-pinning-dead
Thus I suggest to implement only the reporting feature (Public-Key-Pins-Report-Only header)
more information regarding HPKP & Lets Encrypt usage:
https://scotthelme.co.uk/setting-up-le/
https://scotthelme.co.uk/lets-encrypt-smart-renew/

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Inspect the website generator and deployment configuration for the *.phpmyadmin.net sites; no file or test is named in the issue. Start by reviewing the CSP and HPKP reporting guidance linked in the request, then verify that the proposed report-only headers are emitted and that violation reports reach the selected service.

Written by the indexing model from the issue text.

Assessment

Tech stack
django, python
Domain
security, web-dev
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.