Open kristovatlas opened 8 years ago
Some Chromium docs here: https://www.chromium.org/administrators
I've made some good progress with this in the new-configs branch. I now have a script that can read and write the JSON files that Chrome uses for configuration. It appears that there is one preference file for each Chrome profile or "person"; it is simple to find them all with a find
command and apply the reads and writes iterative with xargs
. The first config I've implemented is the do-not-track header.
Based on my research so far, it's not feasible to install Chrome extensions from the command line, which is arguably a good thing for security reasons. Consequently, if I want to detect the presence of helpful security extensions, the fix will have to be to tell the user to install them manually. I'm considering different ways to make this simple for the user.
It's possible to install Google Chrome with homebrew cask, but I'm still a bit iffy about making users install home brew to fix things, and also I've noticed there is no checksum defined for this brew, increasing MITM vulnerability:
$ brew cask install google-chrome
==> Tapping caskroom/cask
Cloning into '/usr/local/Library/Taps/caskroom/homebrew-cask'...
remote: Counting objects: 3723, done.
remote: Compressing objects: 100% (3668/3668), done.
remote: Total 3723 (delta 68), reused 629 (delta 35), pack-reused 0
Receiving objects: 100% (3723/3723), 6.48 MiB | 4.45 MiB/s, done.
Resolving deltas: 100% (68/68), done.
Checking connectivity... done.
Tapped 1 formula (3,690 files, 15.3M)
==> Creating Caskroom at /usr/local/Caskroom
==> Downloading https://dl.google.com/chrome/mac/stable/GGRO/googlechrome.dmg
######################################################################## 100.0%
==> No checksum defined for Cask google-chrome, skipping verification
Haven't found setting to disable sending usage statistics to Google yet. Edit: Found it, state stored in another file that is profile-agnostic.
There are a few settings that I'm not sure how to handle yet. For example, users probably do not need protocol handlers enabled most of the time, but may occasionally. I think the best way to handle this is to create multiple Chrome profiles ("people") and configure them for specific purposes, such as the use of protocol handlers. However, that means that I don't want to mandate that people disable this feature for all of their Chrome profiles, necessarily.
Perhaps I will create a way to iterate the Chrome profiles and ask the user for input on what profiles are suited for which purposes, but it's not easy.
The configurations I plan to skip for now are not critical, so I'll just leave them as open to-do items for now.
More good reasons to block Flash: https://www.reddit.com/r/netsec/comments/4rf8my/firefox_sameorigin_policy_bypass_cve20157188/
After looking more at guest browsing mode, I think it should be disabled; there doesn't appear to be any GUI support for configuring the guest profile to use security-friendly extensions or otherwise configure guest browsing mode.
homebrew
? (recommended)