Security considerations for mksiegowa.pl
As in any software used in a Cloud, so in the case of mKsiegowa.pl it is necessary to apply some basic rules to protect your data against unauthorized access.
mKsiegowa.pl is a mature web application started in 2011 in Software-as-a-service (Saas) model. From the very beginning mKsiegowa.pl was designed to be a secure application as nature of the service mandates safe way of storing sensitive accounting and customer data of our clients. This document summarizes key security considerations that makes mKsiegowa.pl a safe place to store data.
Security awareness
- Security policy for mKsiegowa.pl users
- Frequently Asked Questions related to security
- Internal security policy that is mandated for all mKsiegowa.pl employees and contractors. The internal security policy is a combination of non-disclosure items in contracts, trainings, procedures and technical systems (antivirus, password protection, secure communication, mandatory backups, etc.) to avoid any information leakage.
- Regular reviews of internal procedures related to security.
Authentication
Protection ensured by 3 key elements entered during registration:
- Instance name (list of instance names is never disclosed to the public)
- Unique User name per instance
- Strong password forced by the system
All passwords are hashed and never stored in the system in a manner that would allow a direct recovery. If a user forgets the password, it can be changed by the user only by sending a new generated password by email. Email address therefore is mandatory for a user during registration process or new user entry in the system.
Access control
System backup
- All content is stored on duplicated discs (RAID) to prevent general system failures
-
User data is back-up every night to prevent software errors or allow long-term data recovery in case of software malfunction. All user data is stored in the following scheme:
- Daily backups available for last 7 days
- Weekly backups available from last month
- Monthly backups available for last year
- Annual backups available during active subscription plan and 3 years after terminating the subscription
Session management
- Session encryption is used against interception attack (session hijacking)
- Random session id is generated to protect against session id prediction
- Long session id render brute-force attack practically impossible
- Session time-out is used to reduce the time window that a hacker would have to break into a session; time-out can be setup in the application
- On log out the session id is over-written
Data validation on input
- Constraining input – decide what is allowed in the field
- Validate input – restrict type, length, format and range to make sure all data is appropriate for its meaningful purpose
- Sanitize input – all data input is reduced to a pure format avoiding Buffer Overflow attack for example
- Reject “known bad” input
Data Center protection
- Duplicated servers
- Duplicated storage
- Duplicated power supply
- Duplicated internet connection
Maintenance procedures
- Separate development from administration functions (developers don’t have access to the production server)
- Security issue log is used to register and analyse security related events
- Regular security audits are performed
- Several levels of testing of new software releases
- Usage of a system to log software errors and improvements; careful tracking of all implemented fixes
- Separate test environment is used for software testing (apart from dev environment)
- Test function separated from developer function (always maker/checker model is used for testing)
- Use of automated scripts for regression testing (iMacros)
- Clean desk policy to prevent customer data (both paper & electronic) from leakage
- mKsiegowa staff have controlled access to production servers