Protecting your Passwordstate Website when exposing it to the Internet

One of the great advantages of Passwordstate is being able to securely provide authorized employees with access to your password credentials whilst they’re out of the office.  This requires your Passwordstate instance to have a connection to the internet which could pose a number of complications and well as potentially increase your organizations attack vector.

How do you make Passwordstate more accessible without dramatically increasing the risk to your organization?

Prerequisites for accessing Passwordstate from outside your Network

Before you begin there are a number of prerequisites that will need to be in place.

First, you’ll need to ensure you have an external DNS entry which directs all HTTPS traffic to your company IP Address.

Next, you’ll need an open port on your firewall which will be used to direct all incoming HTTPS traffic to your Passwordstate webserver.  This port is the same one you will have configured for Passwordstate in Internet Information Server (IIS).

It is highly recommended that you purchase a signed SSL certificate from an Online Certificate Authority and assign it to your Passwordstate website in IIS.  Whilst Click Studios provides and installs a self-signed SSL certificate with Passwordstate it is not recommended for use over the internet.  There are many online companies that provide CA-signed SSL Certificates.  The key thing to remember is to purchase it from a trusted source and ensure it matches the URL of your Passwordstate website.

Considerations for Securing Passwordstate when exposed to the Internet

A lot of our customers elect to have their Passwordstate instance accessible over the internet.  When planning this you should consider the options listed below.  As always, we’d recommend following your own internal risk assessment process as part of a Change Management Plan, to determine if there is any associated residual risk or compensating controls required, for your environment.

  • If you would prefer your employees not to have to use Two-factor Authentication whilst inside your corporate network you can use our Allowed IP Ranges feature.  This is located under Administration->System Settings->allowed ip ranges and allows you to specify your internal IP ranges;

Once set, along with the Two-factor Authentication, any access from any IP range not matching your allowed IP ranges will be prompted for the Two-factor Authentication option you have set. Now access from the internet will be differentiated from internal corporate access and ensure that additional authentication is required.

  • As part of good Systems Administration practice, you should look at removing older protocols on your webserver.  Passwordstate uses the most secure protocol currently supported by Microsoft IIS, TLS (Transport Layer Security) 1.2.   The removal of any older, less secure protocols, will help protect your webserver.  There are many toolsets available to assist with this, just search for “enable or disable windows protocols” and pick one that works for your organization.
  • The backups feature in Passwordstate requires an account on your webserver with permissions to upgrade the install files.  Some customers make this account a member of the Local Administrators group on the Server, but you can give it less permissions by following the guide under Help->Security Administrators Manual->Passwordstate Administration->Backups and Upgrades->Non Local Administrator Rights for the Backup Account on the Web Server.
  • Under Administration->System Settings->Authentication Options->Web Authentication Options we have 2 settings that apply to Brute Force attacks,

The fist setting relates to the number of failed login attempts before the active session is locked out.  By default, this value is set to 5 however you can reduce this value in accordance with your IT Security Policy.  Lowering this value will slow down automated attempts at guessing a login for your website.

The second setting relates to the delay in seconds before returning a message of “Incorrect Username or Password”.  If you find that entering a false username takes a shorter amount of time to produce the message, compared to entering a false password, then you can increase this value.  This will delay the message by the stated number of seconds, which will help to confuse the attacker knowing which information they have wrong.

  • Click Studios Best Practice approach for securing your Passwordstate instances involves securing your Web.config file.  There are two parts to this, encrypting your Database Connection string and encrypting your appSetting Section.  Further details on how to do this can be obtained from the following blog entry:  https://www.clickstudios.com.au/blog/securing-your-web-config-file/
  • You could consider using a Managed Service Account Consider to communicate with the Passwordstate database server, instead of a SQL Login.  Managed Service Accounts have the benefit of being locked down, do not permit interactive logins and are able to automatically negotiate password updates with minimal administration overhead.   You’ll find information on how to configure this under Section 14 of our Installation Instructions here: https://www.clickstudios.com.au/downloads/version8/Installation_Instructions.pdf.

As always, we welcome your feedback via support@clickstudios.com.au.

Encryption Keys Explained

Passwordstate utilises a number of techniques to ensure the security of your password credentials. 

One of these is implemented automatically during installation, when two unique encryption keys are created.  These encryption keys use a 256 Bit AES (Advanced Encryption Standard) Encryption, first adopted by the U.S. government and now used worldwide.  The keys provide the encryption of passwords as well as the HMAC-SHA512 hash used to ensure the integrity of the database.

These encryption keys are split into 4 secrets that are independently stored in different locations.  The reason for this is it would require more than one of your Windows Servers to be compromised, to obtain your encryption keys, and access your privileged account credentials.

Whilst not covered in this blog, it is highly recommended that you follow Click Studios best practice approach to securing your Passwordstate instance, by encrypting your Web.config file.  You can find the details on how to do this here.

Split Secrets file locations:

As mentioned above, the two encryption keys are split into 4 secrets, with 2 of the split secrets stored on your Passwordstate Server in the Web.config file.  The other 2 split secrets are stored within the Passwordstate database itself.

The Web.config file is located by default in the root directory of your Passwordstate installation or C:\inetpub\passwordstate.  It contains the first 2 secrets (Secret1 and Secret2) under the <appSettings> section.  An example is show below;

Your Database for Passwordstate contains the remaining 2 secrets (Secret3 and Secret4) in the Passwordstate table.  To extract these, you’ll need to use Microsoft’s SQL Management Studio tools to connect to your database server and execute the following query;

USE Passwordstate

SELECT EA_Password, Secret3, Secret4 FROM SystemSettings

Note: If you ever lose or forget your Emergency Access Password you can request Click Studios to generate a new one for you.  To do this email us and provide a copy of your Web.config file (so we can access your Secret1 and Secret2) as well as the details from the SQL query above.  We’ll then recreate an Emergency Access Password for you, and suggest that once you have access again, that you change this and rotate your encryption keys

Exporting your Encryption Keys:

It is extremely important to export the full set of your Encryption keys and store these safely outside of Passwordstate.  In the event of a disaster, and you are unable to locate a copy of your Web.config file, Click Studios will be unable to help you rebuild your Passwordstate environment.

When you export your encryption keys, they are written to a password protected Zip file.  To do this navigate to Administration->Encryption Keys and click on Export Keys;

You are then presented with an information screen and a button to Export the Keys;

At this stage you’ll need to specify a password for the Zip file that is about to be created and then click on Export Keys;

You will then be presented with a Save As dialog box.  Select the folder you wish to save the Password protected Zip file to.  Note: the file name includes the date and time the export was performed;

You should also note that the exporting of encryption keys is automatically logged as an auditable event.

Restoring your Passwordstate Server:

You MUST have a copy of both your Web.config file and your Passwordstate database to be able to restore your Passwordstate instance in the event of a disaster.  Without these two Click Studios will not be able to assist you in recovering your password credentials. 

In the event you need to build a new Database Server or Web Server then please follow the links below for detailed instructions;

Moving Passwordstate to a new Database Server here

Moving Passwordstate to a new Web Server here

As always, we welcome your feedback via support@clickstudios.com.au.

Diagnose and Fix Passthrough Authentication Issues

Passwordstate has a couple of base authentication methods, Active Directory Integrated and Forms Based Authentication.  When you setup Passwordstate for the first time you can choose which of these authentication options you want to use.  By default, the Active Directory Integrated version of Passwordstate is installed.

With Active Directory Integration you can take advantage of Single Sign-On (SSO).  SSO is an authentication scheme that allows logging in with a single username and password to access multiple computer applications and resources.  It uses your Active Directory credentials to automatically authenticate you to your Passwordstate website, without needing to re-enter your username and password. 

But what if that isn’t working?  How do you stop Passwordstate from prompting for your credentials each time you browse to Passwordstate?  What if you can’t select Passthrough AD Authentication in your System Settings?

Check your Internet Information Server Authentication Settings

Passwordstate requires users to enter their Active Directory username and password to authenticate by default.  During installation we also set the Internet Information Server (IIS) to Anonymous Authentication.  This setting needs to be disabled to allow your Windows clients to use SSO.  To do this you’ll need to open IIS on your webserver, select your Passwordstate website and double click Authentication,

Now right click Anonymous Authentication and select disable.  The results should look like the screen image below,

Now you can make the required changes in your Passwordstate Instance.

Choosing Passthrough AD Authentication

Logon to your Passwordstate instance and navigate to Administration TAB->System Settings->Authentication Options->Web Authentication Options and select Passthrough AD Authentication from the Choose Authentication Options drop down list as per the screenshot below

Once this has been set you can logoff and try browsing back to your Passwordstate instance.  You should now be automatically logged in with SSO from your Windows client.  Unfortunately, Linux and Mac clients will continue to prompt for the username and password credentials.

My Browser Is Still Prompting for Domain Credentials

You’ve now successfully configured your system to allow SSO.  So why could you still be receiving prompts to enter your domain credentials?  There are a number of reasons why you could continue to receive these prompts to enter your domain credentials.

First, check that you are currently logged on using a Domain Account and not a Local Account.  You should also check that you are using DNS for name resolution and not a hosts file.

Next you can confirm if your Passwordstate website is being detected as being in the ‘Local Internet’ Security Zone.  Security Zones are a legacy of Internet Explorer but appear to be still used by modern browsers.  To confirm if Passwordstate is in the correct Security Zone, open Control Panel->Internet Options->Security Tab and select Local intranet and click on Sites (screen shot below;

Next click on Advanced,

And confirm your Passwordstate website is listed under the Websites: listing.  The example below is for Click Studios Passwordstate instances.  If your Passwordstate instance is not shown here you should add the URL of the site to a group policy which forces your browser to detect the site is in the Local Intranet zone.  Alternatively, each user can add the URL in the Add this website to the zone: and click the Add button.

For the Firefox browser, open Firefox and type about:config in the URL bar.  In the Search dialog box type network:automatic and double click the network.automatic-ntlm-auth.trusted-uris result.  You’ll then need to enter your Passwordstate URL (screenshot below as reference),

Now restart your browser and SSO should be working.

Lastly, some customers SSO for Passwordstate has been affected by the order of the authentication providers in IIS for Windows Authentication.  You can try moving the NTLM Provider to the top.  To do this open IIS on your web server, select your Passwordstate website and double click Authentication.  Select Windows Authentication, click on Providers… select NTLM and click on Move Up.

Click on OK and then restart IIS or reboot the Webserver and your SSO for Passwordstate should now be working.

As always, we welcome your feedback via support@clickstudios.com.au.

First Sneak Peek at Passwordstate Version 9

At times it starts to feel overwhelming with the impact that COVID-19 is having on our extended global family and friends.  So, we’ve been trying to distract ourselves by focusing on “other things”.

And here at Click Studios “other things” tends to quickly turn into “How can we make Passwordstate even better?”. 

The Click Studios Development and Technical Support Teams have been hard at work on Passwordstate Version 9 for the better part of the last 4 months.  Whilst V9 is yet to be released in-full to internal UAT (User Acceptance Testing), a number of key modules have commenced advanced system testing.  The results of which have been very impressive.

True Multithreading for Discovery Jobs

V9 will now support multithreading for Account and Windows Dependency Discovery Jobs.  The settings for multithreading will be accessible from Administration->System Settings->Account Discoveries Tab as shown below:

This offers the potential for significant performance improvements.  In our System Testing environment, a job querying 1000 hosts using one (1) thread took around 60 minutes to complete.  By selecting thirty (30) threads from the drop down list the same job was completed in just under 11 minutes, or almost 5.5 x faster than just using one (1) thread.

Password Lists and Properties

Passwordstate V9 will also introduce a randomiser function for when the Password Reset Schedule will execute.  This is in addition to the existing configurable incrementor to the Password Reset Schedule.  This now allows you to pick a time range for when the Password Resets will occur and is in addition to being able to stagger the reset schedule by adding the selected number of days, or months, to the Expiry Date of each account per Password List.  For Security Administrators this can be set under Administration Tab->Password Lists->Edit Password List Properties, Default Password Reset Schedule section as shown below:

Alternatively, if you only have admin privileges to a Password List you can still set the randomiser and incrementor to the Password Reset Schedule for a Password List from Passwords Tab->Password List->Edit Properties->Password List Properties, Default Password Reset Schedule section as shown below:

You can also configure the incrementor to the Password Reset Schedule on individual Passwords by selecting an account to bring up the Edit Password dialog and clicking the reset options tab.  Under Password Reset Schedule you can select the number of days, or months to add to the new Expiry Date as shown below:

We hope you’re as excited about these new improvements as we are and As always, we welcome your feedback via support@clickstudios.com.au.

Securing your Web.config File

Click Studios has always strongly recommended that customers encrypt both their Database Connection String and their appSettings Sections of their Web.config file. 

These are considered part of Click Studios Best Practice approach for securing your Passwordstate instances.  It ensures that should anyone have access to your Web Server’s file system they will be unable to use the details of the Web.config file to access and retrieve your Password Credentials.

The process is straight forward and as outlined below.  If you are unsure as to whether your existing Web.config file is already encrypted or not you can follow the steps in this previous Blog.  As always, we welcome your feedback via support@clickstudios.com.au.

Further details on how to perform this encryption can be found Under Section 10 and 11 in our Passwordstate Installation Instructions.

Encrypting the Database Connection String

On your Passwordstate Web Server open a Command Prompt with administrator privileges and navigate to C:\Windows\Microsoft.NET\Framework64\v4.0.30319

Now type in aspnet_regiis.exe -pef “connectionStrings” “c:\inetpub\passwordstate” and press enter.  Note that if you installed Passwordstate in a different location you’ll need to replace c:\inetpub\passwordstate with the location of your Passwordstate instance.  You should see the following;

Now that you’ve successfully encrypted your Database Connection String, you’ll need to restart your Passwordstate Windows Service.  To do this you can enter the following commands;

net stop “Passwordstate Service”, and,

net start “Passwordstate Service”

You should be presented with the following after running each command.

Your Passwordstate Instance is now running again with the encrypted connection string.  Now you should proceed to encrypt the appSettings section of your Web.config file.

Encrypting the appSettings Section

Assuming you are still in the command prompt with administrator privileges, type in aspnet_regiis.exe -pef “appSettings” “c:\inetpub\passwordstate” and press enter.  Again, if you installed Passwordstate in a different location you’ll need to replace c:\inetpub\passwordstate with the location of your Passwordstate instance.  Once again, you’ll need to restart your Passwordstate Windows Service with net stop “Passwordstate Service”, and net start “Passwordstate Service”.

Your screen should look similar to the one below;

Now just exit out of command prompt and take a well earned break.  You’ve just made your Passwordstate instance even more secure!

Further details on how to perform this encryption can be found Under Section 10 and 11 in our Passwordstate Installation Instructions.

Using the New Browser Extensions with Passwordstate

Passwordstate’s Browser Extensions allow for the secure saving and retrieval of your password credentials using the Passwordstate vault.  These credentials can then be used to autofill your website’s user name and password fields, streamlining the login process.

This automated process makes it easier for your end-users to have strong, individual passwords for all websites they visit. This is crucial in minimising potential attack vectors and is considered one of the best practices in protecting your personal and corporate data and systems.

All the details in this blog apply to the new Extensions for Microsoft Edge, Google Chrome and Firefox Browsers. As always, we welcome your feedback via support@clickstudios.com.au.

Enabling the URL Field

First, you’ll need to create a private password list by using the Add Private Password List Wizard.  You can enter any name you wish for the new Private Password List and make sure you select the Web Site Logins template from the Template drop down box

Click Next and you’ll be presented with a screen to confirm your settings.  Click on Finish to create the Private Password List.

Once completed the URL field is enabled.  This is required for Browser Extensions to be able to save passwords.  You can confirm the URL field is enabled by navigating to the Edit Password List Properties -> Customize fields tab

Adding Browser Extensions

The example used here is with the new Chromium Edge Browser.  Simply go to the Edge Settings on the right hand side of your Browser, click on and select Extensions 

This will take you to the settings page where you’ll need to click on Get extensions from Microsoft Store.  Search for Passwordstate in the search box and click on the Passwordstate result that is returned.

Next, click Get and then Add extension button.  This will install the extension, which will appear red until you are connected to your Passwordstate instance.

Simply logon to Passwordstate using your normal credentials and the Browser Extension will turn from red to dark grey.  You can now begin saving and using password credentials for your web based logins.

Using Browser Extensions

Searching for Website Credentials, Linking to Records and Passwordstate

You can use the Browser Extension to quickly search for Web Sites that you have logins for.  Simply click on the Passwordstate Browser Extension and enter the Web Site name I the search dialog box

In this example we’re searching for reddit.  This will search your Private Password List for a matching entry and return the title of the login, your username, the Password List where it is stored and the description of the login.

Clicking on the chain icon that is presented to the right of the text will take you directly to the Password record allowing you to change elements of that record

You can also link directly to your Passwordstate instance by clicking on Passwordstate Web Site button

Generating Passwords and Setting Preferences

You can generate new passwords direct from the Browser Extension.  These can be generated by using any one of a number of different Password Generators available in the Choose Password Generator drop down box.  Simply select a Generator and click New.  Once generated you can copy the new password to the clipboard or apply it to the field for the currently active Web Site.

 Under Preferences you’ll find options to enable Auto-Fill of your Web Site logins with your saved credentials, enable the Icon Overlay, specify which Password List to be used by default and also the default Password Generator to be used.

Reporting Site Issues

The Internet has literally millions of different Web Sites that have been developed using different technologies and standards.  In the event that you come across a Web Site that doesn’t work properly with the Browser Extension you can report the issue to Click Studios by selecting the Report Site Issue.

Please supply as much information as possible, including the type of Browser you are using, the Web Site URL, your Email address and a detailed description of what happens.  This will help us to analyse why the Browser Extension doesn’t work with that particular site.  Please understand that because of the way that some sites have been developed it may not be possible to resolve the issue.

To disconnect your Browser Extension from your Passwordstate instance simply click on Logout

Capturing and Selecting Login Credentials

When entering your login credentials for a web site for the first time you’ll be prompted with the following screen.  The example below is based on a login for Facebook.  This will allow you to specify the Password List you wish to save the credentials to, the Username and Password you’ve just entered and the ability to add a description for the credentials.

To save the record to your Passwordstate vault click Save.  Clicking on Ignore will prevent the web site from asking you to save any future logins and clicking on Close will close the dialog box without performing any action.

Once the credentials are saved, they will be automatically populated into the correct fields for you every time you open that web site login page.  All you are required to do is click on the log in button.

If you have 2 or more logins for a particular web site, when browsing to it the Passwordstate Browser Extension will show the number of login credentials you have saved for that site.   In this example we’re using Imgur and have 2 separate logins.

Simply click on Show Matching Logins and then select the correct set of credentials to login to the web site.

Alternatively, you can select the correct credentials to use from the Icon Overlay that is shown in the Login fields.  Simply click on the Icon Overlay and you’ll be presented with the Log in as dialog box

Keyboard Shortcuts

Lastly there are predefine keyboard shortcuts available under Extensions->Keyboard shortcuts.  All the shortcuts shown below are configurable if you’d prefer to specify your own key combinations.

To watch the full video tutorial for this blog please visit https://www.youtube.com/watch?v=HsnfJvgaRj4

New Chrome Browser Extension for Passwordstate

One of the most popular features in Passwordstate are our Browser Extensions.  These plugins for your browser securely retrieve credentials from the Passwordstate vault, and autofill websites credential fields allowing you to login automatically.

They can securely save website credentials entered by you directly into your Passwordstate vault.  This is an automated process and encourages your end-users to have strong, individual passwords for all websites they visit.  This is crucial in minimising potential attack vectors and is considered one of the best practices you can employ in protecting your personal and corporate data and systems.

Here at Click Studios we’ve been busy redeveloping our Browser Extensions over the last 3 months to include more features, improved website compatibility and offer a new UI (User Interface).  The first to be released will be for Chrome and Firefox, followed by the new Edge extension once Microsoft release the production version of Chromium Edge (predicted late 2019).

Below is information about the new functionality we’ve included in the browser extensions. As always, we welcome your feedback via support@clickstudios.com.au.

New UI (User Interface):

The first thing you’ll notice is the new UI for the browser extension.  Apart from a redesigned browser icon there is a new Search option, a Preferences Menu, and a new link to report any websites directly to Click Studios that don’t either save credentials or autofill them correctly.  When the Report Site Issue is selected, we’ll be notified, attempt to fix the issue and contact you directly when we release a patched version of the extension into the relevant store.

New Search Feature:

Searching on this screen will query your Passwordstate vault and display only the records you have permissions for.  It displays more information about each record than the previous browser extensions, including the website logo, the Password List where it is stored and a description of the password record.

Clicking on a search result will open a new tab and take you directly to that site, auto-filling the credentials for you.  Clicking the link icon associated with a search result will open the password record in Passwordstate allowing you to make any changes required.

New Preferences Screen:

On the new Preferences screen, you can choose to:

  • Select a Default Password List to store your new credentials in
  • Select a Default Password Generator to use on your websites
  • Temporarily disable auto-filling
  • Toggled on or off the Icon Overlay option.  More about the icon overlay later in the blog

New Save Screen:

When saving new credentials for a website, you are presented with a new screen.  Information on this screen can be modified prior to saving.  Alternatively, you can simply “Close” this screen if you don’t want to add the site into Passwordstate, or you can select the “Ignore” option and the browser extension will never ask you to save credentials for this website again.

More ways to Autofill Websites:

Auto-filling of websites with the new browser extensions can be performed multiple ways:

  1. If you have a single credential saved for the website it will automatically fill it for you when you visit the site.
  2. If you have 2 or more credentials saved for a website, the browser extension will alert you by displaying a numerical badge on the extension itself. Clicking on the extension will open the main page, displaying an extra menu advising you have multiple matching logins.  Clicking onto his you will allow you to select which credential you want to auto fill on the website.
  3. Alternatively, you can use the new “Icon Overlay” which is a new icon you’ll find in the username and password fields on the website.  Likewise, clicking on this icon will give you a choice of which credentials to autofill the website with.

New Overlay Icon:

The icon overlay on the login fields is a new feature that allows you to search for and choose saved credentials to log into the web page with.  Clicking on this new icon will allow you to either scroll up and down to find your credential:

Alternatively you can use the Search feature to quickly find your credential:

Better website Compatibility:

The last new feature we’ve included in these extensions is the automatic updating of the username and password Field IDs.  When you save a record, the browser extension will automatically populate these fields for you:

These IDs tell the browser extension where exactly on the web page to autofill the username and password.  Websites are constantly updated, and these fields occasionally change, which previously stopped the autofill process from occurring. 

With the new browser extensions, if these field IDs change on website the extension will automatically update them in Passwordstate.  If you have multiple logins for the same webpage, it will update all of them.

This feature will significantly improve the auto-filling compatibility of the browser extensions.

Enjoy the new browser extensions and as always if you have any questions please email via support@clickstudios.com.au