QuickBooks Payment Card Industry Data Security Standard (PCI

advertisement
QuickBooks Payment Card Industry Data
Security Standard (PCI DSS)
Implementation Guide
Introduction
The Payment Card Industry (PCI) Data Security Standard (DSS) defines a set of requirements for
the configuration, operation, and security of payment card transactions in your business. If you
use QuickBooks to store, process, or transmit payment card information, these standards and this
guide apply to you. Failure to comply with these standards can result in significant fines should a
security breach occur1.
Overview of requirements
PCI DSS requirements and QuickBooks
QuickBooks and the PCI Data Security Standard
Resources
Appendix A: Encryption details
Appendix B: Windows account security
Overview of requirements
The following table summarizes the PCI Data Security Standard, gives overview information about how
QuickBooks facilitates compliance with the standard, and provides suggestions about what your business
needs to do to be compliant. For details about each requirement, refer to the PCI Data Security Standard
(PCI DSS) specification at www.pcisecuritystandards.org/tech/index.htm.
QuickBooks facilitates PCI compliance, but you need to perform additional steps outside of QuickBooks in
order for your business to be compatible with the security standard. Table 1 describes the PCI
requirements, summarizes QuickBooks features to facilitate compliance, and contains a brief description
of additional steps you need to perform to be compliant with these requirements. You can find additional
information about each PCI requirement in the PCI DSS requirements and QuickBooks section following
table 1.
1
For details, please consult http://www.visa.com/cisp
Table 1: PCI requirements
PCI
requirement
QuickBooks role in PCI
compliance
What needs to be done
1) Install and
maintain a
firewall
configuration to
protect
cardholder data.
QuickBooks is compatible with
firewalls and security devices.
QuickBooks has been tested with
Symantec, McAfee, ZoneLabs,
and Trend Micro firewall
software. Refer to Figure 1 below
for more information.
Configure the network to
block random unauthorized
traffic that might enter your
network from the Internet.
Review firewall
configurations regularly.
•
2) Do not use
vendor supplied
defaults for
system
passwords and
other security
parameters.
QuickBooks requires a complex
password for the administrator
account and for all other
QuickBooks users.
In addition to QuickBooks
passwords, you should set
your own passwords on all
network devices and for
wireless networking.
•
3) Protect
cardholder data.
QuickBooks encrypts credit card
numbers within the data file to
satisfy PCI security
requirements.
4) Encrypt
transmission of
cardholder data
across open,
public networks.
QuickBooks encrypts data sent
over Internet connections when
processing credit card payments.
You will be required to
perform periodic
maintenance of passwords,
which will update encryption
keys as required by the PCI
standard. Follow the
guidance in the section on
Encryption in this document.
Deploy wireless networks
carefully. Protect wireless
networking using WPA
configuration, rather than
WEP. Prefer wireless
network equipment that
supports WPA encryption
methods.
Where to find out more
•
•
For more detailed
guidance, IT
professionals may refer
to www.cisecurity.org.
This includes specific
guidance on Windows
and networking
configuration best
practices.
•
QuickBooks Complex
Password Requirements
QuickBooks Complex
Password Requirements
•
•
Consult your vendor
documentation for
wireless security
information.
•
IT professionals may
refer to
www.cisecurity.org for
detailed guidance on
configuring wireless
networking security.
Refer to the PCI Data
Security Standard,
sections 1.3.9, 2.1.1, and
4.1.1 for precise details
regarding wireless
configurations.
For recommendations for
antivirus and system
security tools, refer to
www.consumerreports.or
g or consult an IT
professional.
•
5) Use and
regularly update
antivirus
software
QuickBooks is compatible with
antivirus, antispyware, and
personal firewall products.
Use well-known and
supported system security
products on all your
business computers.
2
Consult your firewall
vendor’s web site for
best practices consistent
with your business
needs.
QuickBooks Firewall
Settings
See
www.staysafeonline.org
for more information
about general security
practices.
•
6) Develop and
maintain secure
systems and
applications.
Keep your
systems up to
date with
software
updates. Test
updates on
systems other
than your
production
business
systems first to
be sure they will
not affect your
ongoing
operation.
•
QuickBooks lets
you restrict
access to
financially
sensitive
information.
Based on access
controls you set
up for each
QuickBooks
user, you give
your employees
access to data
on an as-needed
basis.
Every
QuickBooks user
should log in to
Windows under
a regular user
account and
should not use
administrator
accounts.
•
When you set up
QuickBooks
users in your
company, you
assign them a
unique user ID
and password.
Users with
access to credit
card numbers will
need to change
their passwords
every 90 days.
Apply user
account
management on
your computers
as prescribed by
the PCI security
standards
•
QuickBooks
supports isolating
your data file on
a physically
secure server.
Keep
QuickBooks
data, backups,
and reports in
secure locations.
When reports
containing
payment
information are
no longer
needed, use a
shredder to
dispose of that
information.
•
QuickBooks
software is tested
for security
problems
throughout
development.
Once installed,
QuickBooks can
be set up to
regularly and
automatically
retrieve any
necessary
security updates.
7) Restrict
access to
cardholder data
by business
need-to-know.
8) Assign a
unique ID to each
person with
computer access.
9) Restrict
physical access
to cardholder
data.
•
•
•
•
3
•
•
•
Microsoft Windows Update is available at:
windowsupdate.microsoft.com.
Consult your software vendors’ support sites for
more information regarding updates and security
alerts.
IT professionals should refer to www.cert.org for
regular updates on security patches and alerts.
Update QuickBooks Automatically
You can also retrieve product updates manually
and install these to offline computers using
QuickBooks Product Updates
For information about how to manage Windows
user accounts, IT professionals should refer to
Microsoft guidance on using the Group Policy
Editor at support.microsoft.com/kb/307882.
QuickBooks permission to view credit card
numbers
Refer to the PCI Security Standard for more
information at www.pcisecuritystandards.org
QuickBooks permission to view credit card
numbers
Refer to
www.us-cert.gov/reading_room/CSG-small-busines
s.pdf for more information about physical security
and other information about security topics.
Install the QuickBooks Server
10) Track and
monitor all access
to network
resources and
cardholder data.
An audit log is
prepared within
QuickBooks for
review.
11) Regularly
test security
systems and
processes.
12) Maintain a
policy that
addresses
information
security.
QuickBooks
supports security
policies by letting
you control the
level of user
access and by
providing audit
logging.
Review the audit
log within
QuickBooks to
detect possible
instances of
unauthorized
access to
cardholder data.
Keep audit logs
and backups for
at least one year.
Follow the
guidance in the
PCI standard as
appropriate for
your business.
Review your
security settings
and network
configuration at
least once each
year.
•
Use the QuickBooks Credit Card Audit Trail
•
Refer to the PCI Data Security Standard for
detailed guidance on security assessments.
•
Refer to
www.us-cert.gov/reading_room/CSG-small-busines
s.pdf for more information about issues that should
be addressed in your security practices.
IT professionals may refer to
www.sans.org/resources/policies/ for more
information about establishing and maintaining
security policies.
Add QuickBooks users and give them access
Use the QuickBooks Credit Card Protection
Security Log
•
•
•
PCI DSS requirements and QuickBooks
This section details information about each PCI requirement.
1)
Install network-based and PC-based firewalls
Using a firewall reduces the likelihood that uninvited persons will use the Internet to access
systems on your network by ensuring that your computers conduct only the traffic you allow.
There are many different firewalls available to you, and they can be either software or
hardware-based (for example, many routers have built-in firewalls). On a typical network,
there is a single point of connection to the Internet (such as the network server) and this is
the critical point requiring a firewall.
2)
Use complex passwords
The QuickBooks Administrator and any user who has permission to view payment card data
must use complex passwords. These passwords must be changed every 90 days.
QuickBooks checks that your passwords meet these PCI requirements:
•
They’re at least seven characters long
•
They contain numbers and letters
•
They’re changed every 90 days
•
They do not match any of the last four passwords that you’ve used
4
3)
Protect cardholder data with encryption keys
QuickBooks updates encryption keys automatically when the administrator password is
changed. To satisfy the PCI standard, the administrator password (and therefore the
encryption keys) must be changed every 90 days.
Encryption keys are used to protect your customers’ credit card numbers (see Appendix A for
detailed information about QuickBooks encryption). These keys are protected from
substitution or unauthorized access in the same way that access control to data is provided
within QuickBooks. If a user has no access to your customers’ credit card numbers, they will
not have access to the keys to decrypt credit card numbers.
Intuit recommends that you avoid assigning or at least minimize the number of users given access to View
Complete Credit Card Numbers.
Encryption keys remain within your QuickBooks company file, together with the data they
protect. The credit card numbers are protected using a combination of encryption keys that
are guarded with each user’s password and the administrator’s password. Users can not
swap in alternative encryption keys or choose an encryption key to protect credit card
information.
Card swipe data used to authorize card payments is not stored to disk within QuickBooks in any version
(past or current). You are not required to manually delete this information as described in the PCI standard,
or take extra steps to remove this information, because QuickBooks never stores this data.
In order to comply with PCI Data Security Standard Requirement 3.1, you are required to
define a credit card data retention period. After the retention period, you are required to purge
credit card data. You can use the 'Clean Up Company Data...' option in your QuickBooks to
clean up any old transactions.
When your QuickBooks is open, go to the 'File' menu, navigate to 'Utilities' and choose 'Clean
Up Company Data...'.
When you clean up your data file, QuickBooks deletes transactions that you no longer need,
replacing them with new general journal transactions that summarize, by month, the deleted
transactions. You can also choose to have QuickBooks clean up data by removing list items
that you no longer need.
An example of what happens during clean up follows:
If an invoice has been paid in full, QuickBooks deletes the details and includes the amount in
a summary transaction showing income accounts. Neither the customer name nor the items
sold are retained. However, if an invoice is unpaid, QuickBooks leaves the invoice in your file
so you can apply future payments to the invoice.
The ending date, specified for the period of time before which you want to remove
transactions, has no effect on transactions dated after the ending date. For example, if your
ending date is 12/31/07, all transactions dated 1/1/08 and later remain unchanged in your
company file.
Of the transactions dated on or before the ending date, QuickBooks deletes and summarizes
only those that have no effect on transactions dated after the ending date.
5
This table gives examples of the situations that cause QuickBooks to retain transactions
dated on or before the ending date:
Scenario
Cause
A transaction has an open balance
Unpaid or partially-paid invoices, undeposited
customer payments, unpaid bills, unused credit
memos.
A transaction is linked to another transaction that
has an open balance
An undeposited customer payment that you applied
to an invoice. Even though the invoice is paid,
QuickBooks retains the invoice because it has a
link to an open transaction (the undeposited
payment).
A transaction is not marked as cleared
Unreconciled transactions in a checking or credit
card account.
A transaction is marked as "to be printed"
Any invoice, credit memo, sales receipt, or check
that has a checkmark in its "To be printed"
checkbox.
QuickBooks creates summary general journal transactions for the transactions it deletes from
your file. Except for transactions that affect the value of your inventory, you can spot the
summary transactions by looking for GENJRNL in the Type field of your registers.
There is usually one GENJRNL transaction for each month in which QuickBooks deleted
transactions. The transaction amount is the total of the transactions that QuickBooks deleted
for the month. For a given month, the register may also show other transactions that
QuickBooks did not delete. These are transactions that could be affected by transactions you
have yet to enter.
4)
Build and maintain your network configuration carefully
Conceptually, your company network should be constructed something like the model in
Figure 1 below. Consistent with careful business practices, the PCI standard requires that
your network be protected from unauthorized traffic using a firewall, that your computers have
antivirus software installed (and updated regularly), and that you obtain regular updates and
patches from Microsoft (and others) to keep your systems up to date.
6
1.
Figure 1: QuickBooks on a PCI-compliant network
When you build your office network, your QuickBooks company file should be well
protected within your network, behind a firewall, and should not be stored on systems such
as Internet-facing Web servers or remote-access servers.
If you allow remote access to your network, consider using applications that provide strong
encryption, authentication, and access controls into your network. Products should be
based on well-known Internet standard protocols such as SSLv3/TLS and SSH.
VNC:
It is recommended that when accessing QuickBooks remotely for administrative access
using VNC, users do it over an SSH or VPN connection. Users should also make use of
vendor provided encryption if available to secure the VNC session including password
authentication and data transfer.
Remote Desktop:
It is recommended that users set up Remote Desktop to use the highest level of encryption
available and also require a password to connect to QuickBooks remotely with
administrative access. In addition to these steps users should consult the documentation
for the Remote Desktop application.
When using any remote access communication software to communicate with hosts on
which QuickBooks is installed, configure these products to operate with two-factor
authentication, so that another factor is used to authenticate the user connecting to the host
in addition to password authentication.
7
The PCI Data Security Standard suggests you configure remote access software in the
following ways:
•
•
•
•
•
•
•
•
•
Don’t use default passwords; passwords are not shared between users.
Allow connections only from authorized hosts (filter by network addresses).
Use configurations to require complex passwords.
Encrypt all communications using SSLv3, TLS, or IPSec.
Enable account lockout after repeated failed authentication attempts.
Configure your network such that remote users must establish an encrypted
connection (typically referred to as a Virtual Private Network or VPN connection)
through a firewall before access is allowed.
Enable logging to record when each user connects remotely.
Restrict access to authorized employees only.
Establish passwords according to the PCI standard (see requirement 8 of the PCI
Data Security Standard).
When QuickBooks connects with online services to conduct payment transactions, it uses
SSLv3-protected connections for PCI compliance.
Note: QuickBooks never automatically sends credit or debit card numbers through e-mail. If you deliver
your company file to your accountant (using the Accountant’s Copy feature, for example) by e-mail, card
numbers are encrypted before being transmitted. Intuit recommends that before you create an
Accountant’s Copy, secure your company file by setting a complex password that you share with only your
accountant. The security of the encryption depends in part upon the password you choose. Refer to the
guideline on setting complex passwords for your company file in the PCI DSS requirements and
QuickBooks section above.
Build out wireless networking carefully. When you build out your wireless network, consult
your networking vendor documentation and online resources carefully for optimal security
configurations. Industry best practices are to avoid using WEP to encrypt traffic and to use
the more secure WPA or WPA2 protocols instead.
Refer to the PCI Data Security Standard requirements 1.3.9, 2.1.1, and 4.1.1 for precise
details regarding wireless configurations.
1. Wireless
If wireless is used or implemented in the payment environment or application, the wireless
environment must be configured per PCI DSS version 1.2 requirements 1.2.3, 2.1.1, and
4.1.1. Wireless technology must be securely implemented and transmissions of cardholder
data over wireless networks must be secure.
2. PCI Requirements for Wireless Implementations
Install and configure perimeter firewalls between wireless networks and systems that store
credit card data, per PCI DSS version 1.2 1.2.3.
Modify default wireless settings, as follows, per PCI DSS 2.1.1:
•
•
•
•
Change default encryption keys upon installation and anytime anyone with knowledge of
the encryption keys leaves the company or changes positions
Change default service set identifier (SSID)
Change default passwords or passphrases on access points
Change default SNMP community strings
8
•
•
•
Enable WiFi protected access (WPA and WPA2) technology for encryption and
authentication
Update firmware on wireless access points to support strong encryption and
authentication (WPA/WPA2)
Other security related wireless vendor defaults
For wireless networks transmitting cardholder data or connected to the cardholder data
environment, implement industry best practices for strong encryption of data transmission
and authentication (for example, IEEE 802.11i).
All newly implemented wireless networks are prohibited from using WEP as of March 31st,
2009.
For current wireless implementations, it is prohibited to use WEP after June 30, 2010.
5)
Install antivirus software and keep it up to date
Refer to PCI Data Security Standard requirement 5 for more information about using and
updating antivirus software.
6)
Develop and maintain secure systems and applications
QuickBooks updates can be retrieved automatically, or you can download and install them
manually on systems that aren’t connected to the Internet. See Update QuickBooks
Automatically for information about automatic updates and QuickBooks Product Updates for
information about manual updates.
You should also apply Microsoft software updates to your systems to ensure they are
protected against emerging threats. Find out more about Windows security and Windows
Update services from Microsoft at http://www.microsoft.com/security.
It is recommended that users who use Microsoft Internet Explorer install Internet Explorer
version 7 or above. More information about Internet Explorer can be found at
http://www.microsoft.com/windows/internet-explorer/default.aspx
7)
Restrict access to cardholder data by business need-to-know
QuickBooks Pro, Premier, and Enterprise versions allow you to configure user access for
several classes of information and capabilities. You can restrict access to Accounts
Receivable, Accounts Payable, Payroll, Online Banking, and Critical Accounting capabilities,
so that only the people you choose can perform the functions you want them to. These
restrictions also apply to applications that use the QuickBooks SDK that run under each
user’s account.
Intuit recommends that you avoid assigning or at least minimize the number of users given access to View
Complete Credit Card Numbers.
When someone leaves your company, delete their QuickBooks user account to protect the
data to which they had access.
9
8)
Assign a unique ID to each person with computer access
Each person should have a unique user name and password for Windows and for
QuickBooks. While only the QuickBooks Administrator and any user with permission to view
complete credit card numbers are required to have complex passwords, complex passwords
should be set by all QuickBooks users.
9)
Restrict access to cardholder data by business need to know
Anyone with physical access to your company file may be able to retrieve data from that file,
even under the best encryption. For this reason, limit access to the company file to
employees on a need-to-know basis.
For Windows:
When creating a shared folder for a multi-user set up of QuickBooks in Windows, the
following steps need to be followed:
1. Allow access to the shared folder to only those users who need to access the folder.
2. Require all users who have access to the shared folder to have their password set.
3. Do not allow guest access to the shared folder.
Please refer to your operating system manual on how to create a shared folder on your
system.
For Linux
The directory on your Linux server where you store the QuickBooks company files must be
configured as a Samba share so it can be mapped as a drive on your Windows client
computers.
Samba does not overwrite limits set by kernel-level access control such as file permissions,
file system mount options, ACLs, and SELinux policies. Both the kernel and Samba must
allow the user to perform an action on a file before that action can occur. Intuit recommends
you do not use anonymous or guest-level access.
The following procedure provides an example of how to create and configure a Samba share.
For more detailed information about configuring a Samba share, refer to the Samba
documentation.
To create a Samba share:
1. On the Linux server, become the root user.
2. In a terminal window, type the following command to create a Linux group (this is the
group name that users of QuickBooks will belong to).
groupadd –r groupname
Where groupname is the name of the group you want to create (for example, qbusers)
3. Add the following line to the /etc/group file to list the users that will be part of the group
you created in step 2.
groupname: user1, user2, user3
4. Type the following command to add each user you specified in step 3 that will be
accessing QuickBooks company files stored on the share directory:
useradd user
5. For each user you specified in step 4, type the following command to activate the Samba
user account and set a password:
smbpasswd -a user
6. Type the following command to provide the users read/write/execute permissions to the
share directory:
chmod –R 775 /directory
7. Type the following command to change the group ownership for the share directory.
10
chgrp –R groupname /directory
8. Edit the smb.conf file to include the following lines. By default, this file is located in
/etc/samba.
[share_name]
path= /directory
comment= samba share for company files
valid users=user1 user2 user3
public=no
writable=yes
printable=no
create mask=0765
Replace share_name with the name you want to use for the share (this is the name that
your Windows clients can see). Replace directory with the full path of the directory you
want to configure as the Samba share (the directory you created on your Linux server to
store the QuickBooks company files).
9. Type the following command to restart the Samba daemon:
Service smb restart
QuickBooks Enterprise Solutions users can now access QuickBooks company files that are
located on the Linux server directly from their Windows client machines.
10)
Review access to the data regularly
Examine the credit card audit trail prepared within QuickBooks daily (to avoid having to
review too much data if it accumulates). The PCI standard requires that you review this
information frequently. When you store credit card numbers in QuickBooks, QuickBooks
automatically records information in the credit card audit trail to comply with the PCI standard.
You do not need to turn this on manually.
11)
Track and monitor all access to network resources and cardholder data
Review audit logs, system configurations, and system software patch levels to ensure that
standard configurations are in place and that software is up to date with appropriate patches.
Companies that perform high volumes of payment card transactions are held to higher
standards for security. Consult the guidelines at www.visa.com/cisp for more information.
12)
Maintain a policy that addresses information security
Update these operating policies to ensure consistent business practices and protections for
your customer information. Refer to www.us-cert.gov/reading_room/CSG-small-business.pdf
for more information about issues that should be addressed in your security practices.
11
QuickBooks and the PCI Data Security Standard
This section describes additional tasks in QuickBooks that facilitate compliance with the PCI
Data Security Standard.
Enabling credit card protection in QuickBooks
Completing additional tasks required for compliance within QuickBooks
Backing up your data file frequently
Keeping your business running if disaster strikes
What to do if Intuit requests your data
If you share your QuickBooks data
Upgrading from earlier versions of QuickBooks
Enabling customer credit card protection in QuickBooks
QuickBooks walks you through enabling protection and setting up complex passwords. To enable setup,
go to the Company menu and click Customer Credit Card Protection.
Complete additional tasks required for compliance within QuickBooks
These additional tasks in QuickBooks are designed to help ensure compliance:
1. In the Customer Center, use only the Credit Card No. field on the Payment Info tab of
a customer record to store your customer credit card data. Refer to PCI DSS requirement
3.3 for details.
12
2. Don’t store sensitive authentication data such as card-validation codes (3-digit number
near signature panel), personal identification numbers (PIN), and magnetic strip data.
Refer to PCI DSS requirement 3.2 for details.
3. Limit access to credit card data for QuickBooks users by assigning or removing
permission to view full customer credit card numbers. Refer to PCI DSS requirement 7.1.
4. Set complex passwords for all users with access to view credit card data. Refer to PCI
DSS requirement 8.5.
Disabling System Restore Points in Windows
In order to prevent storing clear text cardholder data, or sensitive authentication data,
systems running Windows XP/Vista/7 and payment applications should have Windows
System Restore Points disabled. This will prevent violation of PCI DSS requirement 3.2.
Windows XP
Instructions for disabling System Restore points in Windows XP are documented in Microsoft
Knowledge Base article 310405 accessible here: http://support.microsoft.com/kb/310405
In short, follow the following steps:
•
•
•
Click Start, right‐click My Computer, and then click Properties. In the System Properties dialog box, navigate to the System Restore tab. Check the “Turn off System Restore” checkbox. Windows Vista
Instructions for disabling System Restore points in Windows Vista are documented in
Microsoft web page accessible here:
http://windows.microsoft.com/en-US/windows-vista/Turn-System-Restore-on-or-off
13
In short, follow the following steps:
•
Open System by clicking the Start button , clicking Control Panel, clicking System and
Maintenance, and then clicking System.
•
In the left pane, click System Protection. If you are prompted for an administrator
password or confirmation, type the password or provide confirmation.
•
To turn off System Protection for a hard disk, clear the check box next to the disk, and
then click OK.
Windows 7
Instructions for disabling System Restore points in Windows 7 are documented in Microsoft
web page accessible here:
http://windows.microsoft.com/en-US/windows7/Turn-System-Restore-on-or-off
In short, follow the following steps:
•
Open System by clicking the Start button, right-clicking Computer, and then clicking
Properties.
•
In the left pane, click System protection. If you're prompted for an administrator
password or confirmation, type the password or provide confirmation.
•
Under Protection Settings, click the disk, and then click Configure.
•
Click Turn off system protection, click OK, and then click OK again.
Back up your company file frequently
Be sure to back up your company file frequently and to keep backups of the file in a safe
location. Keep your backups in a fireproof safe or at a business records management facility.
Keep your business running if disaster strikes
Only trusted people in your company should perform administration of your QuickBooks
company file and your system configuration. If you allow a temporary or limited-skill employee
to install and set up QuickBooks, they may not be capable of supporting you in a critical data
security situation. Plan for situations where your trusted technical advisor or accountant is
unavailable. Remember that the QuickBooks Administrator account and password are critical
to the operation and protection of your business, and you should handle this account with
care.
To access the QuickBooks log file containing information on any invalid login attempts follow
the steps given below: 1. When QuickBooks is open, press F2 to open 'Product Information'
2. Press F3 to open 'Tech Help'
3. Navigate to the 'Open File' tab. Choose QBWin.log file in the list of files and click on 'Open
File'
14
If your data is requested by Intuit
There may be a time when it becomes necessary for you to submit data files to Intuit
Technical Support for troubleshooting or data recovery. Intuit maintains a written policy
governing how your data is collected, transmitted, stored, and used in a secure manner for
support purposes. Highlights of this policy include:
•
Intuit does not request magnetic strip data, card validation codes or values, PINs, or PIN
block numbers for any support purposes.
•
Cardholder or authentication data is collected only with your express permission and only
when needed to solve a specific issue.
•
Collection is limited to the data needed to solve the specific problem.
•
Data is encrypted and stored in a limited-access location while in use.
•
Data is securely deleted immediately after use.
•
Intuit’s use of the data is further governed by the Intuit Privacy Policy, which you can
review at http://quickbooks.intuit.com/qb/common/privacy_policy/privacy.jhtml.
If you share your QuickBooks data with other parties (such as system
integrators)
If you transmit or share your company file outside of QuickBooks, such as with an accountant
or technical advisor, it is your responsibility to understand and follow the PCI DSS
requirements for the security of such transmissions.
You should never e-mail or transmit unencrypted cardholder data; this data should be
transmitted only in an SSLv3-encrypted format.
Before you share you data, we strongly recommend you familiarize yourself with the
requirements outlined at www.visa.com/cisp as well as the additional security resources
included in Table 1.
Upgrading from previous QuickBooks versions
When you upgrade from a previous version of QuickBooks, the program makes a copy of the
company file from your previous version and converts it for use with the current version. Once
the upgrade to the current version is complete, the old version of the data file is deleted.
However, remaining data files from previous versions and any backups of those files may
contain cardholder data. QuickBooks 2007 and later versions have the capability to encrypt
payment card numbers in the company data file. After you have successfully upgraded from
QuickBooks 2007 (and later) versions of QuickBooks to later releases and you change the
QuickBooks Administrator’s password, the encryption keys used in the prior versions will be
destroyed and updated with new keys to comply with PCI Data Security Standard.
15
Resources
Intuit does not endorse nor specifically recommend any of the products listed in the links
below. Take into account factors unique to your business when reviewing security
recommendations. No single product or security technique by itself will assure complete
protection of your data. Combinations of the products and practices listed here will help to
protect your QuickBooks data.
Additional information may be obtained by using your favorite search engine to search for
antivirus and firewall products.
Table 2: Security Web sites
Web Site
Description
www.staysafeonline.info
A government-industry sponsored site to educate the
public on computer security. Look for advice for small
businesses under the “Beginners Guides.”
www.consumerreports.org
Consumer Reports has issued ratings on personal
firewalls and antivirus software; search for “firewalls” and
“antivirus” for more details.
www.cisecurity.org
This site is for IT professionals looking for best practices
documents for system configuration
www.cert.org/homeusers
Look under “Home Computer Security” for more details.
This is a set of guidelines for home users issued by the
Computer Emergency Response Team and Carnegie
Mellon University.
www.us-cert.gov/reading_room/CSG-small-business.pdf
Guidance from a cross-section of industry, government,
and academic sources on security matters as they relate
to small businesses.
www.getnetwise.org
Refer to the sections on wireless networking and remote
access for security advice.
www.visa.com/cisp
Visa’s information site for the Payment Card Industry
DSS and related information.
www.pcisecuritystandards.org
The official site for the Payment Card Industry DSS
16
Appendix A: Details about QuickBooks encryption
A) QuickBooks complies with PCI security standards that require cardholder
information be encrypted using standard algorithms and encryption key lengths.
When you create the QuickBooks Administrator user and other user accounts, QuickBooks
generates three pieces of information that are used to protect credit card information:
•
A Data Access Key: This is a 128-bit AES encryption key used to encrypt the credit card
numbers.
•
A per-user Master Key: This is a 128-bit AES encryption key that QuickBooks generates
for each user. The Master Key encrypts a copy of the Data Access key and any other
encryption keys that the user has access to use.
•
A Password-Derived Key: This is a 128-bit AES key that QuickBooks generates using a
seed value and each user’s password. The Password-Derived Key is used to protect
each user’s copy of their Master Key.
QuickBooks creates these keys when the administrator user is set up and when the
administrator creates additional user accounts. The administrator’s Master Key is used to
manage other users’ Master Keys and each user’s copy of the Data Access keys that they
have access to use.
B) Permissions to use encryption keys should be properly controlled, according to
the PCI standard. QuickBooks lets you assign access to encryption keys, which
supports the PCI standard.
When a QuickBooks Administrator creates a new account and assigns its permissions,
QuickBooks determines access to encryption keys consistent with the account’s permissions
to the data. Keys never leave the company file and are never stored unencrypted.
The manner in which Data Access Keys are distributed to each user with permission to use
them is done using QuickBooks permissions. Because any employee within your company
can create a new customer and enter a new credit card number, each user is entitled to use
the encryption key to protect your customers’ credit card information. However, the
permission to use the key for any other purpose (such as processing credit card transactions
from stored information) is dictated by each employee’s permissions for Accounts
Receivable.
C) Data encryption keys must be stored in a secure manner to meet the PCI
requirements and to properly protect your customers’ credit card information.
QuickBooks manages the storage of encryption keys in the company file automatically. In
doing this, keys are always stored in an encrypted fashion. The key management hierarchy
previously described is applied to protect the keys of credit card numbers for each customer.
Each user with access to QuickBooks data has access to their own copy of the key used to
protect cardholder information. The administrator can determine which employees have
access to the keys and what the nature of their access ought to be.
17
D) Key rotation is required in order to be compliant with the PCI standard.
Key rotation is a term used to refer to the practice of periodically replacing older keys with
newer keys. In the event that an encryption key is disclosed, a new key is used to replace it.
If the keys are changed at some frequency, there is less risk that someone will guess the
value of the key at random and decrypt the data within that key.
Whenever a user changes their password, their Password-Derived Key is replaced, and their
Master Key is replaced. Whenever the administrator changes their password, the
administrator’s Master Key is automatically regenerated, and all administrator-accessible
copies of each user’s Master Key are replaced.
Note: The PCI standard requires that the QuickBooks Administrator change their password every 90 days.
This means that the keys used to encrypt the cardholder data will be updated every 90 days.
E) When old keys are no longer used to protect data, the PCI standard dictates that
these keys be destroyed.
The intention is to avoid cases where a key might be recoverable and applied to an old copy
of the company file (encrypted with the old key).
QuickBooks handles this task automatically. When new data encryption keys are generated,
the new keys overwrite, and therefore delete, the old keys and render them unrecoverable.
Whenever a user account is deleted from the company file, their entry in the permissions
table is removed. When someone leaves your company, delete their QuickBooks user
account to protect the data to which they had access.
Backup copies of company files must be deleted after a defined retention period to be in
compliance with PA DSS. To securely delete the backup copies of company files, file
shredders such as SDelete or other such utilities can be used. More information about
SDelete can be found at http://technet.microsoft.com/en-us/sysinternals/bb897443.aspx
F) Within very large businesses with extensive business systems, a common
implementation pattern is to apply dual-control of keys.
Under dual-controls, two (or more) people need to be present in order to unlock a key for use.
Since the target market for QuickBooks is small businesses that may not have dedicated IT
staff, no dual control of keys has been implemented.
G) QuickBooks prevents the scheme of someone substituting an unauthorized key for
another (authorized) version of the key. QuickBooks also prevents someone from
swapping rogue data in the company file with another piece of information.
When keys and credit card data are encrypted and stored in the company file, information
describing that data is also encrypted and stored. The data, and the data describing the data,
are encrypted and stored as a single unit. When the data is decrypted, QuickBooks performs
checking on the decrypted data to be sure that only valid data is retrieved from the database.
There are two problems this is intended to prevent. It prevents situations where a key for one
user can be copied and placed into the row of a second user to grant the second user
permissions to the key. The second problem this prevents is a situation where a user can
place random data into their row for a given key, and then start garbling data in the database.
18
Because there’s validation of the key before it’s used, some means of key integrity is
assured.
H) What to do when you suspect that data has been compromised, or if you want to
refresh all encryption keys within QuickBooks.
If you suspect that your customers’ data has been compromised through a specific
QuickBooks user account, delete that user account. If certain customers’ data is suspected of
being compromised, consult the QuickBooks credit card audit log to examine the activity
related to that customer’s account. Based on the information obtained through these sources,
you may:
1. Back up your QuickBooks data file. Keep the backup copy in a safe location.
2. Delete the QuickBooks user account through which data was compromised or remove their
access to credit card data. Deleting the user account retains information in the credit card
audit logs, but may remove the name of the account associated with the activity in the data
file. Removing or disabling the user’s access to the data in the file retains the auditing
information, but prevents the account from retrieving any data from the data file.
3. Change the password for the QuickBooks Administrator and all other QuickBooks user
accounts. Changing the administrator and user passwords resets encryption keys. Resetting
user passwords refreshes each user’s keys as well.
Appendix B: Windows Account Security (Windows Screensaver,
Password Security, and Account Lockout Settings)
In all recent versions of Windows, from Windows 2000 to Windows Vista, account policy
settings have been available to mitigate risks associated with attacks on Windows
authentication. In order to comply with the PCI Data Security Standard, you should configure
your systems as described below.
In addition to the points below, when you assign passwords to new Windows users, select
the option to require the user to change their password at next login. Accounts for employees
that leave your company must be disabled immediately, and inactive accounts should be
removed at least every 90 days.
If you allow vendors or contractors to access your systems remotely, provide them with
accounts (in compliance with these settings) only for the duration of time required for them to
perform their services.
You should communicate password and authentication security policies to all employees of
your company that have access to cardholder information. When they select passwords for
their accounts, they will need to choose their password carefully to meet the PCI security
standards.
Before you implement these settings, be aware of the following considerations and situations
where account policies may affect how you operate your business. Some points apply only to
domain accounts; if your computers operate in a workgroup configuration, some points may
not apply. Please read these points carefully and review your practices to head off problems.
1. Don’t share Windows accounts. If the same domain account is logged in on more than
one machine, and another user attempts to log in to another machine after the password
has been changed by one user, other users may lock out the account. Avoid using
19
shared, group, or generic accounts in order to minimize the impact of account lockouts
and improve accountability
2. Avoid needing the Windows administrator to reset passwords. While this is sometimes
unavoidable, when user passwords are reset by the Windows administrator, you may find
that data protected using some Windows encryption facilities will not be recoverable. For
example, under Windows EFS (Encrypting File System), any data encrypted for an
account provisioned with the old password will be unrecoverable under the new
password. Similarly, data encrypted with the Windows Data Protection APIs will also be
unrecoverable after the administrator resets the user’s password.
3. Be careful when configuring lockout on publicly accessible machines. For any system
that’s accessible by a large population of people in your company where the accounts in
a lockout state on a machine that affects all other machines on your domain.
4. Periodically examine all user accounts on your system to determine their password age
and lockout status. Microsoft has a number of tools available to assist you in securing
your Windows systems. Among the tools you may find useful are:
i. LockoutStatus.exe: This executable file shows a list of locked out users and the
last time they attempted to log in, the number of times they failed to log in and the
domain controllers that were referenced in authentication.
ii. ALockout.dll: This DLL file is a logging component that will assist you in
determining which application or service is using an incorrect password and
causing an account to enter a lockout state. Lockout may occur when background
processes use stale credentials; this tool may be helpful in those cases.
These and other tools are available in the ALTools.exe collection of tools to manage
authentication in your Windows domain. The collection is available from Microsoft:
Microsoft Account Lockout and Management Tools.
20
Setting your Windows password policies
Microsoft provides extensive information about password policies in their Account Lockout
Best Practices document. See Microsoft Account Lockout Best Practices White Paper.
Figure 2: Password Policy settings
When you open the Group Policy Editor to set Windows password policies, you might see a
screen something like that shown in Figure 2 (shown with default values). The PCI standard
requires the following changes:
•
Enforce password history: 4 passwords remembered
•
Maximum password age:
•
Minimum password age: 0 days
•
Minimum password length: 7 characters
•
Password must meet complexity requirements: Enabled
•
Store password using reversible encryption: Disabled
90 days
Double-click each item shown in the panel to the right in Figure 2 and set the respective
values described in the list.
21
These settings require that each of your employees select a password that’s eight or more
characters in length and comply with the following complexity rules:
•
Doesn’t contain all or part of the user's account name.
•
Contain characters from three of the following four categories:
ƒ English uppercase characters (A through Z).
ƒ
English lowercase characters (a through z).
ƒ
Base-10 digits (0 through 9).
ƒ
No alphanumeric (for example, !, $, #, %) extended ASCII, symbolic, or linguistic
characters.
Setting account lockout policies
Microsoft provides extensive information about account lockout policies in their Account
Lockout Best Practices document. See Microsoft Account Lockout Best Practices White
Paper.
Figure 3: Account Lockout Policy settings
When you open the Group Policy Editor for Account Lockout, you might see a screen as
shown in Figure 3 (shown with default settings). The PCI standard suggests the following
changes:
•
Account Lockout Duration: 30 (minutes)
•
Account Lockout Threshold: 6 invalid login attempts
•
Reset account lockout counter after: 30 (minutes)
As in the Password Policy settings, double-click the entries in the panel to the right; for each
entry, enter the values listed above.
22
Figure 4: Setting screen saver security options
Setting session idle time and screensaver options
To set session idle timeout behavior to be compliant with the PCI Data Security Standard,
configure your screen saver to wait 15 minutes and then check the “On resume, password
protect” option.
23
Download