Security risks and prevention

The databases are at the heart of any organization since they contain customers' data and confidential business data and hence they are targeted by hackers very often. There are some common threats identified over the last few years and they include these:

  • Unauthorized or unintended activity
  • Malware Infections
  • Physical damage to database servers
  • Data corruption due to invalid data
  • Performance Degradation

To prevent such risks, there are many protocols or security standards that need to be followed:

  1. Access Control: It includes Authentication and Authorization. All the database systems provide access control mechanisms such as authentication with username and password for authentication. At the same time, in some of the databases, it is not mandatory to set it and hence sometimes people don't enable it, leaving the database insecure. Similarly, in all databases, authorization mechanisms such as role-based security is provided to restrict the users to certain data or database. However, people sometimes give root or admin access to all the users, leaving the data open to all the users.
  2. Auditing: Auditing involves monitoring of database activities performed by all users for enhanced security and protection of data. Many of the database platforms include inbuilt auditing capabilities, which allow you to trace the data creation, deletion, or modification activities and database usage to detect any suspicious activities at an early stage.
  3. Backups: Backups are meant to recover data from an earlier time and to recover data in case of data deletion or data corruption. Depending on the requirement, the backup process can be automated or manual. Ideally, it should be automated so that regular backups can be taken. While it is worth to have at least a few backups, the data storage space can be significant, depending on the size of your data/backup. To reduce the size of backups, backup files should be compressed before persisting them.
  1. Data Integrity Controls: Data Integrity refers to the consistency and accuracy of the data stored in the database. Data validation is prerequisite for data integrity. Many Relational Databases (RDBMS) enforce data integrity through constraints like a Primary key and Foreign Key constraints. In case of NoSQL, data validation at the database level, and also at the application level, is required for data integrity.
  2. Application level security: Application level security is also required to prevent any inappropriate data from being saved on the database. Generally, developers have validations at form level and also at the business, to ensure that they save valid data in the database.
  3. Encryption: It is very important to encrypt personal data such as SSN or financial data such as Credit card information to prevent its misuse. Usually, SSL encryption is used to encrypt the connection between client and server, which is essentially network level security, to prevent any malicious attacker from reading this information.

Now, let's check how secure our data is in Firebase.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset