Securing your browsers: Firefox

As a continuation of my previous post, I will now show you how to use secure settings with your Firefox browser. We still have to do the following:

  • Disable SSLv3 (this counters POODLE)
  • Disable RC4 cipher suites as much as possible
  • Disable SHA1 cipher suites as much as possible
  • Disable DES3 cipher suites as much as possible

I will use the most current version of Firefox, which is version 34.0(.5) as of now. The development team decided it was time to drop SSLv3 support by default, so they conveniently  took care of the first point.

To get to the security settings, open the about:config page in the address bar. Take notice of the warning and proceed. Now type ‘ssl’ in the search box that has appeared and press Enter. You will see all SSL related settings. On the bottom of your page are the cipher suites. The last column indicates if the cipher suite is enabled or not. True is enabled, false is disabled.

Again, I have tested several cipher suites in the last months and have come to a workable situation. I advise you to disable the following settings starting from the bottom:

  • security.ssl3.rsa_rc4_128_md5;false
  • security.ssl3.rsa_camellia_256_sha;false
  • security.ssl3.rsa_camellia_128_sha;false
  • security.ssl3.ecdhe_rsa_rc4_128_sha;false
  • security.ssl3.ecdhe_rsa_des_ede3_sha;false
  • security.ssl3.ecdhe_ecdsa_rc4_128_sha;false
  • security.ssl3.dhe_rsa_des_ede3_sha;false
  • security.ssl3.dhe_rsa_camellia_256_sha;false
  • security.ssl3.dhe_rsa_camellia_128_sha;false
  • security.ssl3.dhe_dss_aes_256_sha;false
  • security.ssl3.dhe_dss_aes_128_sha;false

Some will be disabled by default.

In addition, I advise you to enable the following cipher suites, again starting for the bottom of the page. These are cipher suites that can provide Perfect Forward Secrecy and are not (publicly) know to have been compromised:

  • security.ssl3.rsa_rc4_128_sha;true (fallback cipher suite)
  • security.ssl3.rsa_aes_256_sha;true (fallback cipher suite)
  • security.ssl3.ecdhe_rsa_aes_256_sha;true
  • security.ssl3.ecdhe_rsa_aes_128_sha;true
  • security.ssl3.ecdhe_rsa_aes_128_gcm_sha256;true
  • security.ssl3.ecdhe_ecdsa_aes_256_sha;true
  • security.ssl3.ecdhe_ecdsa_aes_128_sha;true
  • security.ssl3.ecdhe_ecdsa_aes_128_gcm_sha256;true
  • security.ssl3.dhe_rsa_aes_256_sha;true
  • security.ssl3.dhe_rsa_aes_128_sha;true

Additionally, you can disable ssl3.rsa_aes_128_sha too in favor of ssl3.rsa_aes_256_sha, ssl3.dhe_rsa_aes_128_sha in favor of ssl3.dhe_rsa_aes_256_sha and ssl3.ecdhe_ecdsa_aes_128_sha in favor of ssl3.ecdhe_ecdsa_aes_256_sha. Almost all servers support the 256bit version if the 128bit version is also offered, so this way I force the one with the strongest encryption. Mind you, I have not tested this thoroughly.

Firefox will prefer other cipher suites before ssl3.rsa_rc4_128_sha, so this will really act as a fallback cipher suite. Your result should be similar to this:

2015_01_06_10_50_27_about_config

Now, to check SSLv3 is disabled, type in ‘tls’ in the search box. You will see the setting security.tls.version.min;1. It should have the value ‘1’. Value ‘0’ will allow SSLv3.

2015_01_06_10_48_41_about_config

You can test your browser and the cipher suites it uses here or here. It should be these:

  • TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
  • TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
  • TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
  • TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
  • TLS_DHE_RSA_WITH_AES_256_CBC_SHA
  • TLS_RSA_WITH_AES_256_CBC_SHA
  • TLS_RSA_WITH_RC4_128_SHA

or these:

  • TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
  • TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
  • TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
  • TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
  • TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
  • TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
  • TLS_DHE_RSA_WITH_AES_256_CBC_SHA
  • TLS_RSA_WITH_AES_128_CBC_SHA
  • TLS_RSA_WITH_AES_256_CBC_SHA
  • TLS_RSA_WITH_RC4_128_SHA

Next post will handle the same settings for Internet Explorer.

Advertisements

About Yuri de Jager
Technology Addict

2 Responses to Securing your browsers: Firefox

  1. dan bwahahahaha says:

    security.ssl3.rsa_rc4_128_sha;true is coming up as weak on http://www.ssllabs.com/ssltest/viewMyClient.html

  2. Hellgate says:

    Please fix and add this personal tweaks of mine

    Code:

    user_pref(“browse.search.openintab”, true);
    user_pref(“browser.allTabs.previews”, true);
    user_pref(“browser.cache.disk_cache_ssl”, true);
    user_pref(“browser.cache.disk.capacity”, 1048576);
    user_pref(“browser.cache.disk.enable”, true);
    user_pref(“browser.cache.memory.capacity”, 65536);
    user_pref(“browser.cache.offline.capacity”, 2048000);
    user_pref(“browser.ctrlTab.previews”, true);
    user_pref(“browser.display.show_image_placeholders”, false);
    user_pref(“browser.download.manager.openDelay”, 3000);
    user_pref(“browser.download.manager.scanWhenDone”, false);
    user_pref(“browser.fullscreen.animateUp”, 0);
    user_pref(“browser.fullscreen.autohide”, false);
    user_pref(“intl.locale.matchOS”, false);
    user_pref(“browser.link.open_newwindow.restriction”, 2);
    user_pref(“browser.panorama.animate_zoom”, false);
    user_pref(“browser.preferences.animateFadeIn”, true);
    user_pref(“browser.preferences.instantApply”, true);
    user_pref(“browser.search.openintab”, true);
    user_pref(“browser.sessionhistory.max_total_viewers”, 1);
    user_pref(“browser.sessionstore.interval”, 30000);
    user_pref(“browser.sessionstore.privacy_level”, 1);
    user_pref(“browser.showQuitWarning”, true);
    user_pref(“browser.tabs.animate”, false);
    user_pref(“browser.tabs.closeButtons”, 1);
    user_pref(“browser.tabs.closeWindowWithLastTab”, false);
    user_pref(“browser.tabs.drawInTitlebar”, false);
    user_pref(“browser.tabs.insertRelatedAfterCurrent”, false);
    user_pref(“browser.tabs.tabMinWidth”, 30);
    user_pref(“browser.urlbar.clickSelectsAll”, false);
    user_pref(“browser.urlbar.doubleClickSelectsAll”, true);
    user_pref(“browser.urlbar.formatting.enabled”, false);
    user_pref(“browser.urlbar.maxRichResults”, 10);
    user_pref(“browser.urlbar.trimURLs”, false);
    user_pref(“browser.xul.error_pages.enabled”, true);
    user_pref(“browser.zoom.siteSpecific”, false);
    user_pref(“config.trim_on_minimize”, true);
    user_pref(“content.interrupt.parsing”, true);
    user_pref(“content.max.tokenizing.time”, 2250000);
    user_pref(“content.maxtextrun”, 8191);
    user_pref(“content.notify.backoffcount”, 5);
    user_pref(“content.notify.interval”, 5000);
    user_pref(“content.notify.interval”, 750000);
    user_pref(“content.notify.ontimer”, true);
    user_pref(“content.switch.threshold”, 750000);
    user_pref(“dom.popup_maximum”, 5);
    user_pref(“dom.storage.enabled”, false);
    user_pref(“extensions.checkCompatibility.5.0”, false);
    user_pref(“extensions.checkCompatibility”, false);
    user_pref(“extensions.checkUpdateSecurity”, false);
    user_pref(“extensions.getAddons.maxResults”, 10);
    user_pref(“gfx.color_management.enabled”, true);
    user_pref(“gfx.direct2d.disabled”, true);
    user_pref(“layers.acceleration.disabled”, true);
    user_pref(“layout.spellcheckDefault”, 0);
    user_pref(“middlemouse.paste”, true);
    user_pref(“network.dnsCacheEntries”, 100);
    user_pref(“network.dnsCacheExpiration”, 360);
    user_pref(“network.ftp.idleConnectionTimeout”, 60);
    user_pref(“network.http.connect.timeout”, 30);
    user_pref(“network.http.keep-alive.timeout”, 30);
    user_pref(“network.http.max-connections-per-server”, 48);
    user_pref(“network.http.max-connections”, 256);
    user_pref(“network.http.max-persistent-connections-per-proxy”, 32);
    user_pref(“network.http.max-persistent-connections-per-server”, 32);
    user_pref(“network.http.pipelining.maxrequests”, 64);
    user_pref(“network.http.pipelining.ssl”, true);
    user_pref(“network.http.pipelining”, true);
    user_pref(“network.http.proxy.pipelining”, true);
    user_pref(“network.http.request.max-start-delay”, 0);
    user_pref(“network.http.sendRefererHeader”, 0);
    user_pref(“network.prefetch-next”, false);
    user_pref(“nglayout.initialpaint.delay”, 0);
    user_pref(“plugin.expose_full_path”, true);
    user_pref(“security.dialog_enable_delay”, 0);
    user_pref(“signed.applets.codebase_principal_support”, true);
    user_pref(“ui.click_hold_context_menus”, true);
    user_pref(“ui.submenuDelay”, 0);
    user_pref(“view_source.editor.external”, true);
    user_pref(“view_source.editor.path”, “c:/windows/notepad2.exe”);

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: