Database security refers to the range of tools, controls, and measures designed to establish and preserve database confidentiality, integrity, and availability.
From credit card details to health records, everything is stored in a database these days.
For a hacker, a database is a gold mine. In fact, the purpose of a majority of cyber attacks is to get access to a database.
The security of a database server depends a lot on operating system hardening, network security and physical security.
Here at Ibmi Media, as part of our Server Management Services, we regularly help our Customers to Secure their Database.
In this context, we shall take a look at how to secure database server.
Configure your database to REQUIRE a strong password while creating a user. Some servers like MSSQL has built-in password validation features, while others like MySQL requires you to install additional plugins (eg. validate_password plugin).
Enforce a password policy that sets a password length of 20+ characters, and blocks dictionary words.
Almost all database servers come with a few demo databases and users. These details are public information. So, anyone can login to your server using these details to collect database or user information.
Delete these users and databases as soon as you create your databases.
If attackers know the administrator username, they only need to guess the password. For many database servers, the administrator username is set by default.
i.e. for MySQL it’s "root".
Change the admin username for additional security.
This article covers different methods to secure a Database Server. Database security helps: Company's block attacks, including ransomware and breached firewalls, which in turn keeps sensitive information safe. It Prevent malware or viral infections which can corrupt data, bring down a network, and spread to all end point devices.
SQL injection vulnerabilities occur when application code contains dynamic database queries which directly include user supplied input.
This is a devastating form of attack and BSI Penetration Testers regularly find vulnerable applications that allow complete authentication bypass and extraction of the entire database.
SQL injection, also known as SQLI, is a common attack vector that uses malicious SQL code for backend database manipulation to access information that was not intended to be displayed.
This information may include any number of items, including sensitive company data, user lists or private customer details.
Some known database security issues:
Security risks to database systems include,
1. Data corruption and/or loss caused by the entry of invalid data or commands
2. Mistakes in database or system administration processes, sabotage/criminal damage and so on.
There are numerous types of databases and many different ways to hack them, but most hackers will either try to crack the database root password or run a known database exploit.
If you're comfortable with SQL statements and understand database basics, you can hack a database.
Practices for Database Security:
1. Protect Against Attacks With a Database Proxy.
2. Set Up Auditing and Robust Logging.
3. Practice Stringent User Account Management.
4. Keep Your Database Software and OS Up-to-Date.
5. Encrypt Sensitive Data in Your app, in Transit, and at Rest.