DEV Community

josephedward
josephedward

Posted on

Harnessing the Combination of Tailscale and Osquery

TLDR: Tailscale's peer-to-peer VPN seamlessly connects your devices to a private network, while Osquery offers a high-performance relational database view of your OS. Together, they form a potent combination for sysadmins to monitor and maintain machines efficiently.


Tailscale: Revolutionizing VPNs

Tailscale is not your conventional VPN. Utilizing the zero-trust and zero-config principles, Tailscale provides global accessibility to your devices and applications without the overhead that traditional VPNs bring.

It achieves this via a unique peer-to-peer mesh network approach, termed "tailnet." Unlike traditional VPNs that funnel all traffic through a central server, Tailscale leverages the WireGuard protocol to establish direct, encrypted connections between devices on your private network.

Installing Tailscale

One of its standout features is the automatic assignment of a distinct 100.x.y.z IP address to every device. This ensures stable connections globally, irrespective of network switches or firewalls. From connecting to an existing network to routing traffic through specific devices, Tailscale offers a plethora of features, all managed from a unified console.

The Inner Workings of Tailscale

Tailscale is fundamentally different from traditional VPNs. Instead of routing traffic through a centralized server, it establishes a mesh network using WireGuard. This decentralized approach offers superior performance, with WireGuard's efficient key exchange and low session costs.

Activating a Node in your Network

The central server in Tailscale's architecture is solely responsible for authentication, key exchange, and coordination. By adopting this hybrid centralized-distributed model, Tailscale ensures that there's no central bottleneck, while still offering centralized control.


Osquery: Your OS as a Relational Database

Osquery is a unique tool that exposes an operating system as a high-performance relational database. This innovative design enables users to utilize SQL commands to gather and interpret data from their devices, making it an invaluable tool for security compliance and system monitoring. By allowing SQL queries to explore operating system data, osquery facilitates efficient and intuitive low-level OS analytics and monitoring.

Originating from Facebook in 2014, osquery has emerged as a versatile, open-source solution for organizations keen on optimizing data collection. The platform's capabilities are not restricted to any particular OS; it harmoniously integrates with Windows, macOS, and various Linux distributions, such as Ubuntu and Debian.

Osquery leverages SQLite for query parsing, optimization, and execution, which enables the project to concentrate on pinpointing the most pertinent data sources. Moreover, its adaptability and wide-ranging functionalities, from querying system information to threat detection, make it an essential tool for IT professionals and system administrators.

Osquery transforms your operating system into a high-performance relational database. With it, you can write SQL queries to explore intricate OS data, from running processes to browser plugins.

Query - List Users

Virtual Tables lie at the heart of Osquery, dynamically generated during query execution. This OS instrumentation framework breaks down traditional barriers, offering a unified approach to collecting and normalizing data across different systems.

Osqueryi and Osqueryd: Dual Modes of Operation

Osquery provides two distinct modes:

  • Osqueryi: An interactive shell to draft queries and inspect your OS's current state. It operates independently, without any daemon communication.

    Example: osqueryi --json "SELECT * FROM routes WHERE destination = '::1'"

  • Osqueryd: This daemon mode lets you schedule queries, log state changes, and monitor OS events, providing a comprehensive view of your system's activities.


By synergizing Tailscale and Osquery, sysadmins gain a holistic view of their network and devices. While Tailscale ensures a secure, fast, and direct connection between devices, Osquery provides a deep dive into the operating system's state.


🌐 Sources

  1. Private DNS with MagicDNS
  2. Tailnet name
  3. Tailscale with domain name (sub-domain name) access
  4. redhat.com - How to monitor information about your system with Osquery
  5. kolide.com - Osquery: Under the Hood
  6. engineering.fb.com - Introducing osquery
  7. rapid7.com - Introduction to osquery for Threat Detection and DFIR

Top comments (0)