Query Control Made Easy

Overview 

As we all know, data security is a never-ending battle. Every day, we hear of new data breaches. It's a hard problem, and there is no single solution, other than defense in depth.

Let's look at one of those defenses for databases: query control.

SQL Injection vs. Your Applications in the Modern Age

Developers dealing with web applications see a lot of things threatening to harm the things they build. Some of these things include attacks targeted at people (for example, social engineering), some of these attacks (DoS or DDoS attacks, Cross-Site Scripting, Cross-Site Request Forgery, Broken Authentication, Sensitive Data Exposure, Broken Access Control, Insecure Deserialization, etc.) target parts of web applications. However, some attacks primarily target your database and data stored there — one of such attacks is SQL injection (SQLi for short). In this blog post, we will look at the impacts such an attack might have.

What is SQL Injection and Why Is It Dangerous?

SQL injection is an attack frequently targeted at web applications. The purpose of such an attack frequently is to exfiltrate sensitive data from the database and use it for the personal gain of the attacker. Such an attack is so prevalent and dangerous precisely because many developers overlook the importance of security when creating public, web-facing solutions. When security gaps are overlooked, malicious parties often find and exploit them. These nefarious actors exploit such vulnerabilities because they can profit from selling data stolen during the breach.

Goodbye XML, Hello SQL! ClickHouse User Management Goes Pro

Access control is one of the essential features of database management. Starting in late 2019, ClickHouse contributor Vitaly Baranov began to introduce robust, full-featured Role-Based Access Control (RBAC). As a result of this work, which included a huge number of tests implemented by the Altinity QA team, ClickHouse can now rightfully boast enterprise-level access control. Best of all, the commands are all in SQL.

User management is the front gate of RBAC. It controls access to ClickHouse itself. This article digs into new commands like CREATE USER that allow you to create, change, and delete users conveniently. We’ll focus on ways to control authentication for single ClickHouse servers. 

Ensuring SQL Server High Availability in the Cloud

Theoretically, the cloud seems tailor-made for ensuring high availability (HA) and disaster recovery (DR) solutions in mission critical SQL Server deployments. Azure, AWS, and Google have distributed, state-of-the-art data centers throughout the world. They offer a variety of SLAs that can guarantee virtual machine (VM) availability levels of 99.95% and higher.

But deploying SQL Server for HA or DR has always posed a challenge that goes beyond geographic dispersion of data centers and deep levels of hardware redundancy. Configuring your SQL Server for HA or DR involves building a Windows Server Failover Cluster (WSFC) that ensures not only the availability of different machines running SQL Server itself but also — and most importantly — the availability of storage holding the data in which SQL Server is interacting.

Are You Taking the Right Approach to Cloud Databases?

Trends in cloud data storage continue to accelerate at a rapid pace. Now more than ever, organizations must evaluate their current and future data storage needs to find solutions that align with business goals. While cloud databases are relatively new to the scene, they show tremendous prospect in securing and managing data.

In selecting our topic for this Trend Report, we found the amount of promise and advancement in the space to be unparalleled. This Report highlights DZone’s original research on cloud databases and contributions from the community, as well as introduces new offerings within DZone Trend Reports.

CAP Is Not the Whole Story: Introducing Trust and Blockchain

The CAP theorem asserts that in any distributed data store only two out of three guarantees can be provided regarding consistency, availability, and partition tolerance. But what about trust?

In commercial systems on the internet partition tolerance can never be fully guaranteed, limiting the choice to either consistency or availability. As availability has the most significant impact on revenue, the system design of distributed data stores for businesses reduces to a choice between different eventual consistency recovery strategies.

Keys to Database Success

To learn about the current and future state of databases, we spoke with and received insights from 19 IT professionals. We asked, "What are the keys to a successful database strategy?" Here’s what they shared with us:

Secure

  • Keys to a successful database strategy are definitely in security and data management. “All” data should always be treated as highly sensitive and private at all times. Data should be protected at rest and during transport. Take whatever measures necessary to ensure data is secured. Along with data security and management, it is important to pay attention to data access and high availability. If you have secured data but you’re unable to access it, especially when needed, then data is not very useful.  
  • 1) When moving to the cloud one of the obstacles is paranoia about putting data into a public cloud and losing control. However, you’re already doing this when you put it in a private data center. You need the same security checks regardless of where you host. 2) Determine the database solution that’s best for your use case. Moving from commercial to open source is a fair amount of work. If it’s just data, it’s easier than if you have logic since most databases have proprietary logic for storage.  Comes down to your comfort level and background.

Performance

  • Speed and performance are key for our clients. Scalability is key for tomorrow’s data volumes. Extensibility is key so we provide a programming language as part of our database. Allows developers to embed new analytics, write new libraries, build applications on top of the database very, very quickly. Ingest data and query in real-time and then do clever things with that data.
  • Our clients are always looking for performance. Financial services are moving from on-prem to cloud-native, so security is a concern followed by availability and scale depending on the use case.
  • We recommend beginning with a data platform. There are use cases for databases themselves. Don’t compromise on the fundamental requirements of speed, performance, and scale. In almost every system, you will need to compromise on data consistency. Bring in mission-critical data with consistency, durability, high availability, security, consistent latency at any scale. For customers moving into microservices, building modular processing integrated with streaming, multi-tenancy is super critical. You need to be able to build hundreds or thousands of applications in the same cluster. Don’t manage 4,000 database instances. Everything in the same cluster adds to efficiency. Know what to expect on databases know what they’re good at. Type of applications people want to build is pretty broad. The database needs to be able to support transaction application, NoSQL applications, analytic applications, flexible query capabilities, indexes, analytics, and Spark integrations.

Image title

Monitoring SQL Server Security: What’s Required?

A characteristic theme of all the current legislation on the responsible curation of data is that there should be a system for continuously monitoring and analyzing database activity in real-time. This Database Activity Monitoring (DAM) system must detect anyone, inside or outside the organization, accessing or tampering with information in any database-driven applications that handle personal, financial, HR, or other business data.

The monitoring system will collect metrics such as syntax errors, denials of access, permission changes and unusual access patterns, and then aggregate them, and report on them. Although this sort of database security monitoring is part of the broader activity of database auditing, and real-time protection, it is quite separate from, and independent of, any defensive techniques to prevent an attack. The aim is to be immediately aware of whether this layer of defense has been avoided, sidestepped, or penetrated and to detect any unusual activities on the server, including database read and update activity, server or database settings, or permission changes.